Mercurial > hg > Papers > 2014 > nobuyasu-master
diff paper/chapter1.tex @ 15:7df3a9a13b22
Writed research
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 19 Jan 2014 15:23:05 +0900 |
parents | df59b2af84e6 |
children | 5316b4791570 |
line wrap: on
line diff
--- a/paper/chapter1.tex Fri Jan 17 09:24:58 2014 +0900 +++ b/paper/chapter1.tex Sun Jan 19 15:23:05 2014 +0900 @@ -3,12 +3,28 @@ % NoSQL の説明はどこかで必要。 \section{Cassandra} - +Cassandra は2008年7月に Facebook によってオープンソースとして公開された Key-Value なデータベースである. +Amazon の Dynamo という分散キーバリューデータベースの影響を受けて作られている. +スキーマレスな NoSQL データベースになる. +Cassandra はサーバノードの配置にコンシステント・ハッシングアルゴリズムを用いる. +コンシステント・ハッシングによりノードは論理的にリング上に配置される. +リングには数値で表される位置がある. +データを書き込む際には, キーとなるハッシュ値に従いそのリングの位置から時計回りに近いサーバノードへと書き込まれる. +コンシステント・ハッシングを用いることで, ノードの数が増減した場合に, 再配置をしなくてもよいという利点がある. +データの偏りにより少数のサーバへの負荷が大きい場合に, 負荷が高いハッシュ値が指すリング上に +新たなノードを追加することで負荷を下げるといった手段もとれる. +また Cassandra はデータの読み込み, 書き込みの際に Consistency Level を指定することができるのも Cassandra の特徴である. +データ取得の際に, いくつのノードに問い合わせを行うのか設定するのが Consistentcy Level である. +Consistency Level には ONE, QUORAM, ALL があり, それぞれ1つのノード, 全体のノードの過半数+1, 全体のノード +への処理を設定することができる. +Cassandra は高い可用性と分断耐性をもつ. + +% Consistency Level を変更できるところ \section{MongoDB} MongoDB は2009年に公開された NoSQL のデータベースである. -JSON フォーマットのドキュメントデータベースであり, こはスキーマが無い +JSON フォーマットのドキュメントデータベースであり, これはスキーマが無い リレーショナルテーブルに例えられる. スキーマが無いため, 事前にデータの定義を行う必要がない. そのためリレーショナルデータベースに比べてデータの追加・削除