タグ

dbに関するyamashiro0110のブックマーク (65)

  • データベースを遅くするための8つの方法

    はじめに Twitterのタイムラインを見ていたらバッチ系のプログラムで逐次コミットをやめて一括コミットにしたら爆速になったというのを見ました。当たり前でしょ、と思ったけど確かに知らなければ分からないよね、と思って主に初心者向けにRDBを扱うときの注意点をまとめてみました。 プログラミングテクニック的なところからテーブル設計くらいの範疇でDBチューニングとかは入ってないです。 自分の経験的にOracleをベースに書いていますが、他のRDBでも特に変わらないレベルの粒度だと思います。 大量の逐次コミットをする バッチアプリケーションでDBにデータをインサートすると言うのはかなり一般的な処理です。しかしデータ量が少ない時はともかく大量のインサートを逐次コミットで処理するとめちゃくちゃ遅くなります。数倍から十数倍遅くなることもあるので、10分程度のバッチが1時間越えに化けることもザラにあるので原

    データベースを遅くするための8つの方法
  • DBの寿命はアプリより長い! 長生きするDBに必要な設計とリファクタリングを実践から学ぶ - エンジニアHub|若手Webエンジニアのキャリアを考える!

    DBの寿命はアプリより長い! 長生きするDBに必要な設計とリファクタリングを実践から学ぶ アプリケーションの寿命よりも長く、データの追加やテーブルの変更で成長し続ける「データベース」と、どのように付き合っていけばよいのでしょうか? 曽根壮大(soudai)さんによる寄稿です。 こんにちは。そーだい(@soudai1025)です。 新しいサービスを始めるとき、必ずと言っていいほどデータベースは利用されています。また今稼働しているサービスの多くでも、RDBMSをはじめ、いろいろなデータベースが利用されています。そんなに広く利用されているデータベースだからこそ、多くの問題の元になるのもまた事実です。 そこで今回は、Webサービスを中心にデータベースの選び方、設計についてお話していきたいと思います。そして私もまさに今、2011年から続くWebサービス「オミカレ」のRDBMSのリファクタリングに携わ

    DBの寿命はアプリより長い! 長生きするDBに必要な設計とリファクタリングを実践から学ぶ - エンジニアHub|若手Webエンジニアのキャリアを考える!
  • タグ機能を実現するための便利なデータベース設計を3つ紹介 | colori

    AND検索 「CSS+HTML+JavaScript」で検索する場合は以下のようにします。 SELECT * FROM `delicious` WHERE tags LIKE "%CSS%" AND tags LIKE "%HTML%" AND tags LIKE "%JavaScript%" OR検索 「CSS|HTML|JavaScript」で検索する場合は以下のようにします。 SELECT * FROM `delicious` WHERE tags LIKE "%CSS%" OR tags LIKE "%HTML%" OR tags LIKE "%JavaScript%" 引き算検索 「CSS+HTML-JavaScript」で検索する場合は以下のようにします。 SELECT * FROM `delicious` WHERE tags LIKE "%CSS%" AND tags LI

  • Amazonプライムデー初日にサーバーがダウンしたのは「DBをOracleから自社製に乗り換えた」ことが最大の理由 - GIGAZINE

    By 禁书 网 日時間で2018年7月16日の正午に始まったAmazonプライムデー2018では、セール開始直後にサーバーがダウンして約1時間にわたってアクセス障害が発生しました。Amazonが内部調査を行って作成した報告書によると、この問題は取引のデータベース(DB)を従来のOracle製から自社製に乗り換えたことが最大の理由である可能性が高まっています。 Amazon move off Oracle caused Prime Day outage in warehouse https://www.cnbc.com/2018/10/23/amazon-move-off-oracle-caused-prime-day-outage-in-warehouse.html Amazonプライムデー2018は同社にとって「史上最高」となるセールス記録を樹立しました。Amazonは売上高を公表しな

    Amazonプライムデー初日にサーバーがダウンしたのは「DBをOracleから自社製に乗り換えた」ことが最大の理由 - GIGAZINE
  • PostgreSQLとMySQL、使うならどっち? データベース専門家が8つの視点で徹底比較!|ハイクラス転職・求人情報サイト AMBI(アンビ)

    PostgreSQLMySQL、使うならどっち? データベース専門家が8つの視点で徹底比較! オープンソースのデータベースとしてよく比較されるPostgreSQLMySQL。どんな長所・短所があるのでしょう? それぞれの専門家による対談で明らかにします。 エンジニアとして働いていると必ず直面する悩み。それは、「どのリレーショナル・データベース(以下、RDB)を選ぶのが最善なのか?」です。 RDBごとに長所と短所は異なっています。そのため自社サービスにマッチしないRDBを選んでしまうと、それがボトルネックとなり開発・運用にトラブルが生じるケースは少なくありません。 なかでもよく比較検討されるのが、PostgreSQLMySQL。ともにオープンソースRDBのデファクトスタンダードであり、高い性能と数多くの機能を持っています。 では、両者は具体的にどのような長所・短所があるのでしょうか。そ

    PostgreSQLとMySQL、使うならどっち? データベース専門家が8つの視点で徹底比較!|ハイクラス転職・求人情報サイト AMBI(アンビ)
  • なぜ、SQLは重たくなるのか?──『SQLパフォーマンス詳解』の翻訳者が教える原因と対策|ハイクラス転職・求人情報サイト AMBI(アンビ)

    なぜ、SQLは重たくなるのか?──『SQLパフォーマンス詳解』の翻訳者が教える原因と対策 『SQLパフォーマンス詳解』の翻訳者の松浦隼人さんに、8つの「SQLが重たくなる原因とその対策」を聞きました。システムのボトルネックになるような「問題のあるSQL」を回避するノウハウを学びましょう。 データの操作や定義をする言語「SQL」は、どのような領域を担うエンジニアにとっても必修科目です。しかし、その仕様をきちんと理解し、パフォーマンスに優れたSQLを書ける方はそれほど多くありません。問題のあるSQLを書いてしまい、知らぬ間にそれがシステムのボトルネックになってしまう事態はよく発生します。 では、どうすればそうした事態を回避できるのでしょうか? そのノウハウを学ぶため、今回は『SQLパフォーマンス詳解』の翻訳者であり、自身もエンジニアでもある松浦隼人(まつうら・はやと/@dblmkt)さんに8つ

    なぜ、SQLは重たくなるのか?──『SQLパフォーマンス詳解』の翻訳者が教える原因と対策|ハイクラス転職・求人情報サイト AMBI(アンビ)
  • Webエンジニアに知ってほしいRDBアンチパターン

    YAPC::Kansaiの登壇資料です。

    Webエンジニアに知ってほしいRDBアンチパターン
  • SQLアンチパターン勉強会

    はじめに 目的 こので勉強会する目的 語彙のシェア パターンの名前 「あ、これナイーブツリーだねー」みたいな Schema設計力向上 アンチパターンになっていないか?アンチパターンを使っているとしたらどうして?を設計段階から意識できるようにする アンチパターンを使ってもいい場合というのもの中にでてくる 対象範囲ではないもの このでは扱っていないこと(他の書籍で勉強してね☆) SQL構文について SQLの構文や用語に関する説明 正規化云々 パフォーマンス、スケーラビリティ、最適化 実践ハイパフォーマンスMySQL DB管理や運用 SQLRDBMS以外の代替技術について KVS MapReduce アンチパターンとは 問題の解決を意図しながらも、しばしば他の問題を生じさせてしまうような技法 すすめ方 週一で一章か二章毎 章毎に担当一人がまとめる 目安として2日前には Qiita へ投稿

    SQLアンチパターン勉強会
  • 可変データ構造をRDBに保存する方法について

    質問をすることでしか得られない、回答やアドバイスがある。15分調べてもわからないことは、質問しよう!新規登録して質問してみよう

    可変データ構造をRDBに保存する方法について
  • 変更履歴を持つテーブルの設計 - Qiita

    ある日のできごと 少し前、「ブログの記事のようなものを、履歴を残しつつ編集できるようにするにはどのようなテーブル設計が良いか?」と尋ねられたことがありました. その時, まず思いついた(というか見聞きしたことがある方法)のは以下の様な2通りの方法だった. 記事テーブルにバージョン番号を持たせる方法 記事テーブルとは別に, だいたい同じ構造の履歴テーブルを持つ方法 こられの手法のメリット・デメリットについて, すこし考えていきたいと思います. その1 記事テーブルにバージョン番号を持たせる方法 概要 この方法では, 記事テーブルは一つだけ用意し, 更新される度に新しいレコードを追加していきます. 主キーはidとなるが, これはサロゲートキーで, 当の主キーは「記事グループid + verison」の複合主キーとなっています. 記事の最終更新日時は, 最新Versionのレコードのinser

    変更履歴を持つテーブルの設計 - Qiita
  • RDBアンチパターン // Speaker Deck

    PHPカンファレンス2016の資料です http://phpcon.php.gr.jp/2016/

    RDBアンチパターン // Speaker Deck
  • データベースについてのそもそも論

    先月のはじめのほうで、「リレーショナルデータベースとの上手な付き合い方」というタイトルで、2回発表をした。ひとつは「まべ☆てっく Vol.1」であり、もうひとつは「Hacker Tackle(ハカタクル?)」である。 「リレーショナルデータベースの開発・運用に纏わるもろもろの話をして欲しい」というような内容の話をしてくれないかという同じような依頼を、ちょうど2日違いのイベントで頂いた。9/8のまべ☆てっくと、9/10のHacker Tackleである。そうなると必然的に話す内容も、同じようなものになってくる。同じ人物(=私)が話すのだから、テーマも同じで時期も同じであれば、内容が同じようなものになるのが自然である。もし違うものになってしまっているのであれば、片方はウソをついているということになるはずだ。今日は発表に使用したスライドを紹介しつつ、なぜデータベースを使うべきなのか(あるいは使う

    データベースについてのそもそも論
  • DBスペシャリストを認定する資格 OSS-DB技術者認定試験

    2018.12.11OSS-DB Silver出題範囲「運用管理 - インストール方法(initdbコマンドの使い方)」に関する例題解説を追加しました。 2018.12.10年末年始休業のご案内 Holiday Closing Notice 2018.12.08ビジネスパートナー制度説明会開催のお知らせ(12/11、12/18、1/8、1/15、1/22、1/29、2/5、2/12、2/19、2/26) 2018.12.07アカデミック認定校制度説明会開催のお知らせ(12/13、12/20、1/10、1/17、1/24、1/31、2/7、2/14、2/21、2/28) 2018.12.05『OSS-DB Exam Gold 技術解説無料セミナー』@東京 12/2(日)開催結果のご報告 2018.11.27OSS-DB Silver出題範囲「開発/SQL - SQLコマンド(SELECT文)

  • OSS-DB道場|受験対策|DBスペシャリストを認定する資格 OSS-DB技術者認定試験

    OSS-DB道場 コラム コラムの掲載時期と読者の皆様がお読みになる時期とでは状況が違うケースがありますので予めご了承ください。 第1回トランザクション 第2回文字列リテラル 第3回SQL と引用符 第4回バックアップとリストア、リカバリ 第5回データ型 第6回シーケンス 第7回テキストファイル(CSVなど)の入出力 第8回NULLって何? 第9回SELECT 文の FROM 句の省略 第10回レプリケーションについて(その1) 第11回レプリケーションについて(その2) 第12回デッドロックについて 第13回表別名と列別名 第14回トランザクションログ 第15回スキーマ 第16回権限管理 第17回日付の計算 第18回データベースクラスタ 第19回SELECT文のLIMITとOFFSET 第20回RDBMSの種類によるUPDATE文の仕様の違い 第21回PostgreSQL 9.5について

  • Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ

    先月投稿した2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介しました。 今回は、前回同様、主に新卒Webエンジニア向けに、Webアプリケーションサーバとデータベースサーバ間の接続管理モデルと運用事情について紹介します。 データベース接続の永続化やコネクションプーリングとは何なのか、なぜ必要なのかといったことが主な話題です。 背景 データベース接続の永続化とはなにか データベース接続のオーバヘッド データベース接続の永続化手法 コネクションプーリングとはなにか コネクションプーリング: ドライバ型 コネクションプーリング: プロキシ型 コネクションプーリング全体について PostgreSQLMySQL 参考資料 まとめ 背景 2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャの話とWebアプリケーショ

    Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ
  • データベース界の巨匠 マイケル・ストーンブレイカー氏がチューリング賞を受賞

    米国の著名なコンピュータ学会の1つであるACM(Association for Computing Machinery)は、毎年コンピュータの分野で優れた功績を残した人物に「チューリング賞」を贈っています。 チューリング賞とは、現代型コンピュータの基礎を築いたアラン・チューリング氏の名前を戴く賞で、コンピュータ分野で最高峰の賞ともコンピュータ分野のノーベル賞とも言われています。 そのチューリング賞を、MITの教授をつとめるマイケル、ストーンブレイカー氏が受賞したことが発表されました(ACMのプレスリリース、MITニュース)。 ストーンブレイカー氏はデータベース研究者のパイオニアで、初期のリレーショナルデータベース実装の1つであるIngresを1970年代に開発し、1980年代にはオブジェクトリレーショナルデータベースのPostgresを開発。InformixのCTOなどデータベースベンダの

    データベース界の巨匠 マイケル・ストーンブレイカー氏がチューリング賞を受賞
  • SqlPad - データのビジュアル化にも対応したデータベース管理 MOONGIFT

    MySQLであればphpMyAdmin、PostgreSQLであればphpPgAdminなど、データベースに合わせて管理UIのソフトウェアを選択します。しかしそれぞれ機能差があったり、UIの違いがあるので何かと面倒だったりします。 そこで紹介したいのがSqlPadです。MySQL、PostgreSQLSQL Serverに対応したデータベース管理ツールです。 SqlPadの使い方 まずログインします。 コネクション管理。まずは追加します。 MySQLを選択しました。クエリを実行してその結果を確認できます。 ユニークなのはデータのビジュアル化機能です。カラムを選んでグラフ化できます。 グラフも種類が選択できます。 SqlPadはnpmでインストールできます。 npm install sqlpad -g 後はコマンドで起動できます。 sqlpad --dir ./sqlpad/ --port

    SqlPad - データのビジュアル化にも対応したデータベース管理 MOONGIFT
  • MySQL Spiderエンジンを使ってみた。〜データベースシャーディング(sharding)とは〜 - 気ままに書いてみました日記

    もしかしたら使うかもしれないので調べてみた。 shard 日語に訳すと(ガラスや貝殻の) 「破片」といったような意味 データベースをshardに分解して複数のサーバに分散して運用するのがDB sharding データベースパーティショニングとも言えるのかしら? 単一のサーバのDBテーブルを複数のファイルに分割するのをパーティショニングとも呼ぶが、「パーティショニング」という言葉を使ってDB shardingのことを言っているブログ等もちらほら見かけます。 より突っ込んでみたい人は「shared nothing」でぐぐってネ。 なぜデータベースを分散処理するのか 横軸にはサービス運用開始からの時間経過を設定し、縦軸には「DBの応答時間」、「DBへの問い合わせ数」、「DBサイズ」の各数量をとります。サービスが順調に利用されていっているものとし、「DBサイズ」や「DBへの問い合わせ数」は時間経

    MySQL Spiderエンジンを使ってみた。〜データベースシャーディング(sharding)とは〜 - 気ままに書いてみました日記
  • 11月の活動報告

    先日、db tech showcaseと北海道データベースDAYでプレゼンを行ったので、例によってSlideShareで公開してある。既にTwitterで呟いたので既にご覧になった方も多いかも知れないが、改めてブログでも紹介しておこうと思う。 あなたが知らないリレーショナルモデル(@db tech showcase) まずはdb tech show caseで使った資料の紹介だ。今回は50分という時間の短さだったので、伝えたいことをギュッと凝縮した内容になっている。この資料で主に伝えたかった内容は次のようなものだ。 リレーショナルモデルとは何か SQLとリレーショナルモデルの関係 リレーショナルモデルを使わないとどうなるか なぜリレーショナルモデルを適用できないか どんなときリレーショナルモデルを適用してはいけないか 4つ目については、ひとつ良い説明の方法を思いついたので、今回の資料にも盛

    11月の活動報告
  • あなたが知らない リレーショナルモデル

    1. あなたが知らない リレーショナルモデル @dbtech showcase tokoy 2014 奥野 幹也 Twitter: @nippondanji mikiya (dot) okuno (at) gmail (dot) com 3. 自己紹介 ● MySQL サポートエンジニア – 日々のしごと ● トラブルシューティング全般 ● Q&A回答 ● パフォーマンスチューニング など ● ライフワーク – 自由なソフトウェアの普及 ● オープンソースではない ● ブログ 今日は個人として 参加しています。 – 漢のコンピュータ道 – http://nippondanji.blogspot.com/

    あなたが知らない リレーショナルモデル