こんにちは。
AMDlabの松原です。
前回はRDBの話をしましたので、今日はNoSQLについて。
NoSQLは Not only SQL の略で、RDBじゃないDBを指す曖昧な定義となってます。
NoSQLのデータモデルは、大別して次の4つがあります。
- キー・バリュー型
- カラム志向型
- グラフ型
- ドキュメント志向型
キー・バリュー型は、私もよくRedisを使うので使っているのですが、反応速度、とても早いですね。
キャッシュなんかによく使ってます。
そして、分散処理によく使うのはカラム志向型です。
よく「縦に読む」なんて言われ方をしてますが、
RDSが行でデータを保存しているために、行の集計が得意なのに対し、
カラム志向型(HDFS,Cassandraなど)は、列でデータを保持しているため、列の集計が得意なDBです。
RDSは何かの合計値をだすために、行をすべて読み込む必要があるため、
とある列だけ集計したいのに、無駄にデータが呼び出され、そう言いた集計に時間がかかってしまうのです。
カラム志向型であれあば、その列だけを呼び出せるため合計値などの集計が速くできます。
また、そのため列ごとに分割して扱えるため、分散処理ではカラム志向型のNoSQLを使うようにしているのです。
ちょっと内容としては足りないですが、ここまで。
後で、また追記しに戻ってくるかもしれませんが。
COMMENTS