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 フォーマットのドキュメントデータベースであり, これはスキーマが無い
 リレーショナルテーブルに例えられる.
 スキーマが無いため, 事前にデータの定義を行う必要がない.
 そのためリレーショナルデータベースに比べてデータの追加・削除