BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース William McKnight氏が列指向データベースについて語る

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

原文(投稿日: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年のソフトウエアのプロダクトマネジメントの経験を持つ。

この記事に星をつける

おすすめ度
スタイル

BT