タグ

DBに関するtwainyのブックマーク (34)

  • NoSQLを上回る性能のVoltDB、そのアーキテクチャとは

    データベース研究者の大御所、マイケル・ストーンブレイカー氏が開発し、NoSQLデータベースをも上回る性能を発揮するリレーショナルデータベース「VoltDB」。前回の記事では、その特徴と、NoSQLデータベースのCassandraとのベンチマーク比較を紹介しました。 今回はVoltDBのアーキテクチャについて調べたことをご紹介しようと思います。基的にはVoltDBのWebサイトやリンク先の内容を基にしています。また、ブログ「独り言v6」のエントリ「VoltDB登場 – RDBMSのようでRDBMSではない新システム」も参考にさせていただきました。 シェアドナッシングな分散インメモリデータベース VoltDBのアーキテクチャは、FAQのページで以下のように説明されています(英語を訳したものを引用しています。以下同じです)。 VoltDBは、シェアドナッシングなサーバ群から構成されるスケーラブ

    NoSQLを上回る性能のVoltDB、そのアーキテクチャとは
    twainy
    twainy 2010/06/01
  • DB設計の神ツール「ERMaster」なら、ここまでできる

    DB設計の神ツール「ERMaster」なら、ここまでできる:ユカイ、ツーカイ、カイハツ環境!(11)(1/3 ページ) 無料のEclipseプラグイン「ERMaster」とは データベースのテーブル設計を行うときに皆さんは、どのようにしているでしょうか? いくつかの無料で利用できるツールが提供されているので、筆者はそれらを利用していましたが、最近「ERMaster」と呼ばれるEclipseプラグインの存在を知りました。 ERMasterは、ほかのツールに比べ、直感的で分かりやすいUI(ユーザーインターフェイス)に、カスタマイズ可能な、Excelで出力できるテーブル定義書、辞書機能など痒いところに手が届くERモデリングのツールです。稿では、このERMasterについてご紹介します。 ERMasterの主な特徴、8つ ERMasterには、主に次のような特徴があります。 【1】直感的で使いや

    DB設計の神ツール「ERMaster」なら、ここまでできる
    twainy
    twainy 2010/01/22
  • どうも世間では、思ったよりDBエンジニアが不足している様だ: 不倒城

    ちょっと技術的な話。oracle分かる人にしか分からないかも。 最近取引先のシステムを見る機会が何度かあったのだが、昨日すんごいとこ見た。 DBが重くて業務にならないというから、ちょっと中を覗かせてもらったらもうエラいこっちゃ。 ・業務ロジックの殆どをファンクション・プロシージャで構成している。なのに、キャッシュヒット率が妙に低い。 ・調べてみようと思ったら一回もstatspackが取得されていない。(担当者には、「statspack?syslogならとってあるんですが…」と言われた) ・各テーブルのindexがどういう訳か全列に貼られている。ちなみにindexは全テーブル例外なくその一個だけ(プライマリキーを除けばだが)。 ・と思ったら、PKが文字列だったりするテーブルがあちらこちらにある。 ・試しにファンクションを一つ二つ見てみたら、なんか普通にクロス結合されまくっていてちょっとくらっ

    twainy
    twainy 2009/01/21
  • DB設計が楽しいワケ : akiyan.com

    DB設計が楽しいワケ 2008-08-26 あるウェブサービスのDBスキーマを設計をしている。毎度思うのだけど、DB設計は楽しい。 なぜこんなにも楽しいのだろうかと思って考えたところ、DB設計はある意味「言語設計」に近いのではと思った。 言語設計も楽しい。 あるDSL(Domain Specific Language, ドメイン固有言語)を設計して実装した時は、それはもうエキサイティングだった。 そのDSLはテンプレート言語で、プログラマ向けでもデザイナー向けでもあった。HTMLエディタで書きやすいよう、なじみやすいよう、文法に配慮した。実装はトリッキーで、再帰的に出力結果をパースするという変わった実装で、うまく再帰して複雑な結果が出力されたときの快感といったらなかった。同じ出力を期待する部分は、コードキャッシュ的な機能で高速化した。爆速になった。痺れた。(その後そのDSLのフィードバック

    twainy
    twainy 2008/09/16
  • DBのリファクタはこれで - DBリファクタリングツールLiquiBase 1.4登場 | エンタープライズ | マイコミジャーナル

    Sundogは19日(米国時間)、LiquiBaseの最新版となる「LiquiBase 1.4」を公開した。LiquiBaseはJavaで開発されたデータベースの変更追跡やマネージメントを実施するためのデータベースライブラリ。データベースに依存しないライブラリで、データベースの変更や管理、トラッキングなどを実現できる。プロダクトはGNU LESSER GENERAL PUBLIC LICENSE Version 2.1のもとでオープンソースソフトウェアとして公開されている。 LiquiBase 1.4ではソースコードのリファクタリングが実施されているほかIntelliJプラグインサポートの追加、チェンジログにおけるスキーマ指定サポートの追加、MaxDB/SAPDBサポートの追加、外部キーのサポート、Mavenサポートの改善などが実施されている。1.4へ移行するにはJarファイルを最新版に入

    twainy
    twainy 2007/12/11
    『DBリファクタリングツールLiquiBase 1.4』へー。そんなのあるのか
  • 基礎から理解するデータベースのしくみ(12)

    両すくみで処理が停止することも ロック機能は複数のユーザーが利用するデータベース・アプリケーションには不可欠なのですが,新たな問題の元にもなります。それは「デッドロック」と呼ばれる現象です。 先の銀行口座間の振り込みの例で次のような場合を考えてください(図3[拡大表示])。トランザクション1は,口座番号10の口座から口座番号20の口座に1万円を振り込もうとしています。一方,トランザクション2は,これとは逆に口座番号20の口座から口座番号10の口座に5000円を振り込みます。ここで仮に,トランザクション1が,(1)口座番号10のレコードを変更してから,トランザクション2が(2)口座番号20のレコードを変更したとしましょう。この時点で,トランザクション1は口座番号10のレコードを,トランザクション2は口座番号20のレコードを排他ロックします。これらのレコードは,トランザクションが終了するまでロ

    基礎から理解するデータベースのしくみ(12)
    twainy
    twainy 2007/11/25
    デッドロックが発生しないよう、一つのトランザクションに要する時間をできるだけ短くするのが基本です
  • 基礎から理解するデータベースのしくみ(9)

    図10●レコード・クラスタリングの仕組み。ハッシュ値にしたがって,empとemp_histの二つのテーブルで同じenoを持つレコードを一つのテーブルに格納している RDBMSが備えるさまざまな高速化手法 RDBMSは,ここまで説明してきた基的なデータの格納のしかたや操作方法に加え,高速化のための手法をいろいろ用意しています。Part2の最後に,これらの手法をざっと紹介しておきましょう。 ●ハッシュ・インデックス キャッシュ・バッファのサイズや使われ方にもよりますが,一般にBツリー・インデックスを使って巨大なデータベースにアクセスする際には,ルート・ノードだけがキャッシュ・バッファにあるのが普通です。そのため,レコードにたどりつくまでにブランチ・ノード,リーフ・ノード,データベース・レコードと何回もディスクにアクセスしなければなりません。これを1回のアクセスでレコードを取得できるようにしよ

    基礎から理解するデータベースのしくみ(9)
    twainy
    twainy 2007/11/25
    ハッシュ・インデックス、レコード・クラスタリング(複数のテーブルのレコードを同一ページに格納する)、ビットマップ・インデックス(取り得る値の数が少ないフィールドに対して複雑な検索を行う)
  • 基礎から理解するデータベースのしくみ(5):ITpro

    SQL文を実行する際のパフォーマンスに大きな影響を及ぼすものとして,もう一つ,インデックスがあります。インデックスについては,どう定義すべきかというデータベース設計上の問題と,インデックスを有効に使うためのSQL文をどう書くべきかというコーディング上の問題があります。 ここではテーブル設計上の問題を主に取り上げます。SQL文のコーディングについては囲み記事「SQL文を最速にする11のポイント」を参照してください。 インデックスは,テーブルの検索速度を向上させるためのものです。それぞれのSQL文に対して最適なインデックスを定義するのが理想的ですが,実際にはある程度限られたインデックスで,必要なパフォーマンス要件を満たすようにインデックスを定義する必要があります。加えて,どんなSQL文が実際に発行されるのかがあらかじめわかっていない場合は,適当な想定に基づいてインデックスを定義しておかなくては

    基礎から理解するデータベースのしくみ(5):ITpro
    twainy
    twainy 2007/11/25
    インデックスの数を制限する。WHEREの左辺で算術演算子や関数を使わない。「後方一致」検索はなるべく避ける。DISTINCTの代りにEXISTSを使う。等号と不等号では,等号のみインデックスが使われる。テーブルの別名を利用す
  • 基礎から理解するデータベースのしくみ(4)

    図4●ネスト・ループ結合アルゴリズム。テーブルAの各レコードについてテーブルBのすべてのレコードと比較します データベースの統計情報は定期的に更新する 基的には,ほとんどの場合にコスト・ベース・アプローチに基づくオプティマイザは最適な実行計画を選択してくれると考えてさほど問題はありません。ただ,コスト・ベースの基になるコストの計算は,テーブルのフィールドの値が均等に分布していると仮定して行います。そのため,データの分布に極端な偏りがある場合などは,実際には全件走査のほうが処理は早く終わるのに,インデックス検索を選択してしまうような場合もあり得ます。 コスト・ベース・アプローチを使って効率の良い実行計画を立てるには,定期的に統計情報を更新することが重要なポイントとなります。統計情報は,あくまでもそれを作成したときのデータベースの状態を反映しています。したがって,統計情報を作成した後にデータ

    基礎から理解するデータベースのしくみ(4)
    twainy
    twainy 2007/11/25
    効率の良い実行計画を立てるには,定期的に統計情報を更新することが重要なポイントとなります。ネスト・ループ結合。マージ結合。ハッシュ結合
  • 基礎から理解するデータベースのしくみ(3)

    図3●Oracle付属のSQL*Plusで実行計画を表示したところ。画面下部のインデントは図2のツリーの親子関係を表します 効率の良い実行計画を作成する 次は,実行計画の作成です。こちらも例を挙げて説明したほうがわかりやすいでしょう。Oracleに付属するサンプルの従業員テーブル(emp)と部署テーブル(dept)から,従業員の一覧を取り出す以下のようなSQL文を実行するとします。 SELECT ename, job, sal, dname FROM emp, dept WHERE emp.deptno = dept.deptno テーブルdeptでは部署番号deptnoが主キーで,インデックスpk_deptnoが定義されています。一方テーブルempでは,deptnoが外部キー*5になりますが,これに対してインデックスは定義されていません。 オプティマイザは,このSQL文に対して(図2[拡

    基礎から理解するデータベースのしくみ(3)
    twainy
    twainy 2007/11/25
    実行計画の出し方set autotrace traceonly exlpain;
  • Home - SymmetricDS

    Fast & Flexible Database Replication SymmetricDS is open source database replication software that focuses on features and cross platform compatibility.

    twainy
    twainy 2007/11/13
    『SymmetricDS is web-enabled, database independent, data synchronization software』使うからいますぐPostgreSQLをサポートしてくれ(切実
  • スラッシュドット ジャパン | 反撃ののろしを上げるPostgreSQL

    やや旧聞に属するが@ITの記事によると、オープンソースのデータベースサーバとしてずっとMySQLの後塵を拝しつづけてきたPostgreSQLが、最近になって急速に勢力を伸ばしていると言う。2006年のIOUG調査ではPostgreSQLを使っている割合はわずかに9%だったが、2007年10月に発表された最新の調査結果では(依然74%はMySQLユーザであるものの)PostgreSQLの利用は20%にまで拡大したそうだ。 これは、高速化などPostgreSQLそのものの改良が急ピッチで進められていることに加え、SonyやAppleがPostgreSQLベースのソリューションを使用していることが知られるようになり(日だとR25.jpも)、知名度が上がったのが一因だと言う。サードパーティアプリケーションや教育用書籍を充実させていくのが今後の課題と考えられるとのこと。

    twainy
    twainy 2007/11/13
    まじですか。なんとなく日本では逆の印象なんですが
  • 最短かつ最速にアクセスする「DB高速化技術」(後編)

    >>前編 ハッシュ利用で比較を減らす 後編ではまず,オプティマイザが選択する最短経路を紹介する。 複数のテーブルを共通のキーを用いて結合する「ジョイン」はいくつかの方式がある。その一つであるハッシュ・ジョインは,ハッシュ関数を使って,一つのテーブルのキーからハッシュ値を計算する(図4)。さらに,ハッシュ値と該当するデータで構成する「ハッシュ・テーブル」を作成する。同様に二つ目のテーブルからハッシュ値を計算し,その値を基に検索するハッシュ・テーブルのレコードを特定する。ハッシュ値を計算するだけで比較対象のデータが絞り込めるので,ほかのジョイン方式よりも高速になる場合がある。ただし,「各テーブルを展開できるだけのメモリー容量が必要になる。メモリーが足りないと逆に遅くなる」(伊藤忠テクノソリューションズ プラットフォーム技術部 部長代行 宮田武氏)といった注意点がある。 図4●ハッシュ・ジョイン

    最短かつ最速にアクセスする「DB高速化技術」(後編)
    twainy
    twainy 2007/09/18
    DBアクセス最適化の仕組み
  • DBアクセスのトラブルは終盤で発覚しがち……

    今回の概要 稿では、Webアプリケーションの開発プロジェクトで実際に直面したDBアクセス処理に関するよくあるトラブル事例を題材に、DBアクセス処理に関するTipsを紹介する。 今日は、内線で助けを求められる ある穏やかな朝、突然電話が鳴る。今日の相手はパフォーマンステストを実施している社内のプロジェクトのマネージャである。「パフォーマンステストを実施しているが、いくつかの業務処理で、レスポンスが悪過ぎて困っている。リリースも近いので、早急になんとか原因を探ってほしい」 とはいえ、さすがにこれだけの情報では、問題は解決できないため、直接現場に急行することとなった。 現場に到着し、トラブルの詳細を確認 現場に到着し、まずは現状分析のため、担当者に簡単にヒアリングを行った。ヒアリングした結果をまとめると、以下のような状況のようだ。 Javaで開発しているWebシステムで、Web層にはStrut

    DBアクセスのトラブルは終盤で発覚しがち……
    twainy
    twainy 2007/07/12
  • クリリン+セル=セルリン

    PS2用ソフト「ドラゴンボールZ」オリジナルキャラのセルリンです。 クリリンの気を吸収した結果弱体化してしまうとは・・・クリリンが可愛そう 動画最後のヤムチャは彼の怨霊です。

    クリリン+セル=セルリン
    twainy
    twainy 2007/03/11
    これは絶対2ちゃんネラーだろ
  • さくらインターネット移行記#2 VPN越しのMySQLレプリケーション

    前回さくらiDCに移転し始めた、ということを書いたのですが、あれから一ヶ月ちょっとが経過しましてその後も順調に iDC への移転が進んでいます。すでにラックもいくつか借りて、サーバーも数十台がさくら iDC で稼動しています。回線がこれまでよりも高速なバックボーンに接続されつつ、帯域幅も大きくなったことから、移転したサービスによってはこれまでよりもパフォーマンスが出ているサービスもあります。うち比較的大きなデータを扱うフォトライフも移転を完了していますが、おかげさまで画像の読み出しがかなり速くなったのが体感できるぐらいスループットが向上しました。 既存サービスを移転するにあたって、どういった構成でそれを行っているかをちょっと紹介してみようと思います。 移転当初は、既存のはてなのサービスとはあまり関係していないサーバー群から手を付けました。例えば広告のシステムといった、はてなのデータベースを

    さくらインターネット移行記#2 VPN越しのMySQLレプリケーション
  • 今年も僅かだはぶにっき-バランスということ

    not found

  • Web2.0ナビ: SQL-DESIGNERがスゴイ

    いいね! 0 ツイート B! はてブ 447 Pocket 2 データベースの設計時にER図をかくことが多いと思いますが、SQL-designerというウェブベースのツールが非常に使いやすいく、デザイン的にも綺麗で便利。 MSproject等のデータベース設計を行う専用ソフトは非常に多くあるが、どれもインストールが必要だったり、設定ファイルが必要だったり、ソフトが重かったり、環境依存が激しかったりして、使いにくい。 使いかたは簡単で、 1.ウェブページにいって 2.テーブルやフィールドを追加する 3.プリントアウトorXMLエクスポート だけ。 データの型なども選択できて、設計が終わったら、SQL文をそのまま発行したり、作ったEQ図をXMLでエクスポートやインポートすることも可能。Javascriptベースなので、めんどくさいインストールや環境依存もなし。 ウェブ上でやるのは、セキュリティ

  • http://www.wakhok.ac.jp/biblion/old/DB/DB.html

    twainy
    twainy 2006/09/18
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    twainy
    twainy 2006/09/18