noSQLに関する基本的な内容をまとめてみたものです。noSQLに関する、Web上にすでにある良識な解説コンテンツをまとめたサイトの抜粋です。
[カラム型データベースとは] (https://www.techcrowd.jp/nosql/column/)
[集計や分析をするために使用されるカラム型データベース] (https://www.techcrowd.jp/nosql/column/)
データベースの列方向の処理に特化したのがカラム型データベースです。
カラム型データベースは、任意の列だけの値を更新したり、条件を満たす列を探し出すなのどの操作がしやすい構造となっています。
そのため、特定の列の合計を計算する場合は、他の列にアクセスする必要がないために高速の処理が可能です。
さらに、列方向の圧縮を行うことでより高速の処理が可能となりますので、集計や分析などにはカラム型データベースが適してます。
しかし、データを追加したり削除する場合は、一つの列を操作するだけではなく複数の列を処理する必要があるので、効率良く処理することはできません。
[カラム型データベースとデータウェアハウス] (https://www.techcrowd.jp/nosql/column/)
従来のリレーショナルデータベースでは時間が掛かり過ぎて、データウェアハウスに用いるには十分とは言えませんでした。
そのため、大量のデータを高速で参照したり集計する必要のあるデータウェアハウスには、カラム型データベースが良く用いられます。
特にビッグデータの処理が要求されるデータウェアハウスにとっては、コストが安くてスケールアウトも容易なカラム型データベースが最適です。
[代表的なカラム型データベース] (https://www.techcrowd.jp/nosql/column/)
代表的なカラム型データベースには、CassandraやRedShiftなどがあります。
Cassandra
・Facebookがオープンソースとしてリリース
・結果整合性の調節をすることができる
・高い書き込み性能を実現するために、LSM-Treeが採用されている
RedShift
・列指向ストレージ技術が採用されたことで、複数ノードの操作でもクエリの I/O 効率と並列度が向上している
・既存のSQLクライアントが使えるように、カスタムのJDBCやODBC ドライバが用意されている