BT

William McKnight氏が列指向データベースについて語る

| 作者: Srini Penchikala フォローする 34 人のフォロワー , 翻訳者 徳武 聡 フォローする 0 人のフォロワー 投稿日 2011年9月6日. 推定読書時間: 2 分 |

原文(投稿日:2011/09/02)へのリンク

列指向データベースは、従来のリレーショナルデータベースマネジメントシステム(RDBMS)に比べ、特定の利用シーンで大きな能力を発揮する。William McKnight氏は先週、NoSQL Now 2011カンファレンスにて、列指向データベースが如何にしてある種のデータストレージのニーズを効率よく扱うかについてをした。

氏が言うには、RDBMS(データを行単位で扱うように設計されている)を使ったデータ問い合わせではたくさんのデータを取り出してしまう。現在、データの入出力(I/O)はデータ処理の上で真のボトルネックになってしまった。I/Oの際は、一度のI/Oで必要なデータを取り出せた方がいい。この問題を解決するには本当い必要な時にだけI/O処理をするようにしなければならない。列指向データベースは必要な列だけを取り出し、行全体を読み込まず、必要のない列も利用しないでデータの検索ができる。この方法は、全体の列のうちの数%しか使わない場合に大きな効果を発揮する。

列指向データベースでは、データは列に保存され、すべての列は同じ順に並ぶ。William McKnight氏はリレーショナルデータベースのレコードのデータのページレイアウトについて説明し、これを列指向データベースのデータテーブルと比較した。氏によれば、行ページの設計(RDBMSデータベースの)にはある程度のオーバヘッドがある。データ問い合わせに行スキャンやインデックススキャンが使われるが、すべてのデータをスキャンしなければならないとき、高コストな処理になってしまうからだ。氏はあるユースケースで行指向のデータベースで500,000のI/Oが必要だったのが、列指向のデータベースでは235のI/Oで済んだ例を挙げた。

列指向データベースには分解ストレージモデル、位取り表現法、修正B-Tree/Row長暗号、ビットマップのようないくつかの異なる選択肢がある。また氏は、'射影'の役割や早期マテリアライゼーションや後期マテリアライゼーションと言われる方法など、出力結果の中間生成物を作るための方法についても話した。

VerticaParAccelSybase IQInfoBright、Exasol、VectorWiseが列指向データベースのベンダだ。また、MonetDBInfiniDBのようなオープンソースの実装もある。

氏が言うには、リレーショナルな行ベースのデータウエアハウスやデータマートはこれからも存在し続ける。このようなデータウエアハウスやHadoopのようなフレームワークに加えて、列指向データベースを使ってデータをより高速に処理するという選択肢も出てくるだろう。データベースの設計者は優れた設計原則から出発して、行ベースのデータベースか列ベースのデータベースのどちらを使うのか決める必要がある、という考えを表明して氏はセッションを終えた。

 

Srini Penchikala氏 は現在セキュリティアーキテクトとして働き、17年のソフトウエアのプロダクトマネジメントの経験を持つ。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT