- データベースの列方向の処理に特化しているカラム型データベースは、大量のデータの集計処理などが得意です。
- 代表的なカラム型データベースには、CassandraやRedShiftなどがあります。
集計や分析をするために使用されるカラム型データベース
データベースの列方向の処理に特化したのがカラム型データベースです。
カラム型データベースは、任意の列だけの値を更新したり、条件を満たす列を探し出すなのどの操作がしやすい構造となっています。
そのため、特定の列の合計を計算する場合は、他の列にアクセスする必要がないために高速の処理が可能です。
さらに、列方向の圧縮を行うことでより高速の処理が可能となりますので、集計や分析などにはカラム型データベースが適してます。
しかし、データを追加したり削除する場合は、一つの列を操作するだけではなく複数の列を処理する必要があるので、効率良く処理することはできません。
カラム型データベースとデータウェアハウス
従来のリレーショナルデータベースでは時間が掛かり過ぎて、データウェアハウスに用いるには十分とは言えませんでした。
そのため、大量のデータを高速で参照したり集計する必要のあるデータウェアハウスには、カラム型データベースが良く用いられます。
特にビッグデータの処理が要求されるデータウェアハウスにとっては、コストが安くてスケールアウトも容易なカラム型データベースが最適です。
代表的なカラム型データベース
代表的なカラム型データベースには、CassandraやRedShiftなどがあります。
Cassandra
・Facebookがオープンソースとしてリリース
・結果整合性の調節をすることができる
・高い書き込み性能を実現するために、LSM-Treeが採用されている
RedShift
・列指向ストレージ技術が採用されたことで、複数ノードの操作でもクエリの I/O 効率と並列度が向上している
・既存のSQLクライアントが使えるように、カスタムのJDBCやODBC ドライバが用意されている
本サイト上に掲載されているまとめ記事が、毎週ステップメールで受け取ることもできます。
参考文献
- 知らないなんて言えないNoSQLまとめ(3):カラム指向型データベース(HBase、Hypertable、Cassandra)編 (1/3) – @IT
- カラム型データベースはなぜ集計処理が高速で、トランザクションが苦手なのか。インメモリとカラム型データベースの可能性を調べる(その4) - Publickey
- Amazon Redshift(クラウドデータウェアハウスソリューション) | AWS