RDBとNoSQL

こんにちは。
AMDlabの松原です。

前回はRDBの話をしましたので、今日はNoSQLについて。

NoSQLは Not only SQL の略で、RDBじゃないDBを指す曖昧な定義となってます。

NoSQLのデータモデルは、大別して次の4つがあります。

  • キー・バリュー型
  • カラム志向型
  • グラフ型
  • ドキュメント志向型

キー・バリュー型は、私もよくRedisを使うので使っているのですが、反応速度、とても早いですね。
キャッシュなんかによく使ってます。

そして、分散処理によく使うのはカラム志向型です。

よく「縦に読む」なんて言われ方をしてますが、
RDSが行でデータを保存しているために、行の集計が得意なのに対し、
カラム志向型(HDFS,Cassandraなど)は、列でデータを保持しているため、列の集計が得意なDBです。

RDSは何かの合計値をだすために、行をすべて読み込む必要があるため、
とある列だけ集計したいのに、無駄にデータが呼び出され、そう言いた集計に時間がかかってしまうのです。

カラム志向型であれあば、その列だけを呼び出せるため合計値などの集計が速くできます。
また、そのため列ごとに分割して扱えるため、分散処理ではカラム志向型のNoSQLを使うようにしているのです。

ちょっと内容としては足りないですが、ここまで。
後で、また追記しに戻ってくるかもしれませんが。

ARTICLES