diff paper/chapter1.tex @ 50:faa708c2958b

Added log
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Fri, 31 Jan 2014 17:13:59 +0900
parents 63eca978482f
children 39c2180b5719
line wrap: on
line diff
--- a/paper/chapter1.tex	Fri Jan 31 11:19:32 2014 +0900
+++ b/paper/chapter1.tex	Fri Jan 31 17:13:59 2014 +0900
@@ -7,14 +7,14 @@
 最後に既存の NoSQL データベースとして Cassandra, MongoDB, Neo4j の特徴について述べる.
 
 \section{RDB と NoSQL}
-データベースは大別すると RDB と NoSQL に分けられる.
-RDB とは行と列からなる2次元のテーブルによりデータを保持するデータベースである.
-RDB はデータベースアクセス言語として SQL 言語を持ち, 一台のマシンでデータを扱う分には最適である.
+データベースは大別するとRDBとNoSQLに分けられる.
+RDBとは行と列からなる2次元のテーブルによりデータを保持するデータベースである.
+RDBはデータベースアクセス言語としてSQL言語を持ち, 一台のマシンでデータを扱う分には最適である.
 しかし, RDB はマシン単体以上の処理性能をだすことができない.
-そこで, 汎用的な PC をいくつも用意しデータや処理を分散して管理できるデータベースが求められた.
-それらのデータベースは NoSQL(Not Only SQL) と呼ばれる.
+そこで, 汎用的なPCをいくつも用意しデータや処理を分散して管理できるデータベースが求められた.
+それらのデータベースはNoSQL(Not Only SQL) と呼ばれSQLを使用しないデータベースのことを指す.
 2次元のテーブルでは無く, Key-Value, ドキュメント, グラフといった表現形式でデータの保持を行う.
-NoSQL は, SQL を使用するデータベースには向いていない処理を行うことを目的にしている.
+NoSQLは, RDBには向いていない処理を行うことを目的にしている.
 
 % 分散データベースは, NoSQL に分けられる.
 
@@ -29,41 +29,41 @@
 ネットワーク障害によりノードの接続が切れてもデータベースは機能し続けることができる.
 \end{itemize}
 これは CAP 定理\cite{cap}と呼ばれる.
-利用するデータベース選ぶ場合, この CAP 定理を意識しなければならない.
-一貫性と可用性を重視したデータベースが, RDB である.
+利用するデータベース選ぶ場合, このCAP定理を意識しなければならない.
+一貫性と可用性を重視したデータベースが, RDBである.
 分断耐性を必要とする場合は NoSQL データベースとなる.
-そして NoSQL の場合, 分断耐性と後もう一つ, 一貫性か可用性のどちらを保証しているかで用途が変わってくる.
+そしてNoSQLの場合, 分断耐性と後もう一つ, 一貫性か可用性のどちらを保証しているかで用途が変わってくる.
 
 分散データシステムを考える場合は, この CAP 定理を意識していなければならない.
 
 
 \section{Cassandra}
-Cassandra\cite{cassandra} は2008年7月に Facebook によってオープンソースとして公開された Key-Value なデータベースである.
-Amazon の Dynamo\cite{dynamo} という分散キーバリューデータベースの影響を受けて作られている.
+Cassandra\cite{cassandra} は2008年7月にFacebookによってオープンソースとして公開された Key-Value なデータベースである.
+AmazonのDynamo\cite{dynamo} という分散Key-Valueデータベースの影響を受けて作られている.
 スキーマレスな NoSQL データベースになる.
 
-Cassandra はサーバノードの配置にコンシステント・ハッシングアルゴリズムを用いる.
-コンシステント・ハッシングによりノードは論理的にリング上に配置される.
+Cassandraはサーバノードの配置にConsistent hashingアルゴリズムを用いる.
+Consistent hashingによりノードは論理的にリング上に配置される.
 リングには数値で表される位置がある.
 データを書き込む際には, キーとなるハッシュ値に従いそのリングの位置から時計回りに近いサーバノードへと書き込まれる.
-コンシステント・ハッシングを用いることで, ノードの数が増減した場合に, 再配置をしなくてもよいという利点がある.
+Consistent hashingを用いることで, ノードの数が増減した場合に, 再配置をしなくてもよいという利点がある.
 データの偏りにより少数のサーバへの負荷が大きい場合に, 負荷が高いハッシュ値が指すリング上に
 新たなノードを追加することで負荷を下げるといった手段もとれる.
 
-データを最大どれだけ配置するかを示すレプリケーションファクタと, データの読み書きをいくつのノードから
-行うのかを決めるコンシステンシーレベルを設定できる.
-コンシステンシーレベルには主に ONE, QUORAM, ALL がある.
-レプリケーションファクタの数値を N とした場合, ONE は1つのノード, QUORUM は N/2 + 1 のノード, ALL は N のノード
+データを最大どれだけ配置するかを示すReplication factorと, データの読み書きをいくつのノードから
+行うのかを決めるConsistencyレベルを設定できる.
+Consistencyレベルには主に ONE, QUORAM, ALL がある.
+Replication factorの数値を N とした場合, ONE は1つのノード, QUORUM は N/2 + 1 のノード, ALL は N のノード
 へと読み書きを行う.
-コンシステンシーハッシング, レプリケーションファクタとコンシステンシーレベルの設定により Cassandra は
+Consistencyハッシング, Replication factorとConsistencyレベルの設定により Cassandra は
 高い可用性と分断耐性を持つ.
 
 % keyspace, super column といったデータの表現についても述べるべきか?
-% レプリケーションファクタはkeyspace毎に設定できる
+% Replication factorはkeyspace毎に設定できる
 \begin{figure}[htpb]
   \begin{center}
     \includegraphics[scale=0.7]{figures/cassandra_ring.pdf}
-    \caption{コンシステンシー・ハッシング}
+    \caption{Consistency・ハッシング}
     \label{fig:cassandra_ring}
   \end{center}
 \end{figure}
@@ -82,8 +82,8 @@
 これはレプリケーション(replication)と呼ばれる.
 また, 1つのサーバが全てのデータを持つのでなく, ある範囲の値を別々の
 サーバに分割させて保持する.
-これをシャーディング(sharding)という.
-MongoDB はレプリケーションとシャーディングにより分断耐性と一貫性を持つ.
+これをShardingという.
+MongoDB はレプリケーションとShardingにより分断耐性と一貫性を持つ.
 
 % クエリ言語として JavaScript を採用しており, 演算子を自分作れるという利点を持つ.
 % スペルミスに弱い
@@ -91,7 +91,7 @@
 \begin{figure}[htpb]
   \begin{center}
     \includegraphics[scale=0.7]{figures/mongodb_sharding.pdf}
-    \caption{シャーディング}
+    \caption{Sharding}
     \label{fig:mongodb_sharding}
   \end{center}
 \end{figure}