Mercurial > hg > Papers > 2014 > nobuyasu-master
comparison paper/chapter1.tex @ 14:df59b2af84e6
chapter1.tex
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 17 Jan 2014 09:24:58 +0900 |
parents | 22c48f2b344a |
children | 7df3a9a13b22 |
comparison
equal
deleted
inserted
replaced
13:22c48f2b344a | 14:df59b2af84e6 |
---|---|
1 \chapter{既存の分散データベース} | 1 \chapter{既存の分散データベース} |
2 | 2 |
3 % NoSQL の説明はどこかで必要。 | 3 % NoSQL の説明はどこかで必要。 |
4 | 4 |
5 \section{Cassandra} | 5 \section{Cassandra} |
6 | |
7 | |
8 \section{Neo4j} | |
9 No4j は, グラフデータベースと呼ばれる NoSQL のデータベースである. | |
10 | 6 |
11 | 7 |
12 | 8 |
13 \section{MongoDB} | 9 \section{MongoDB} |
14 MongoDB は2009年に公開された NoSQL のデータベースである. | 10 MongoDB は2009年に公開された NoSQL のデータベースである. |
23 また, 1つのサーバが全てのデータを持つのでなく, ある範囲の値を別々の | 19 また, 1つのサーバが全てのデータを持つのでなく, ある範囲の値を別々の |
24 サーバに分割(シャード)させて保持する. | 20 サーバに分割(シャード)させて保持する. |
25 これをシャーディング(sharding)という. | 21 これをシャーディング(sharding)という. |
26 MongoDB はレプリケーションとシャーディングにより分散データベースとして機能する. | 22 MongoDB はレプリケーションとシャーディングにより分散データベースとして機能する. |
27 | 23 |
28 | |
29 | |
30 | |
31 % クエリ言語として JavaScript を採用しており, 演算子を自分作れるという利点を持つ. | 24 % クエリ言語として JavaScript を採用しており, 演算子を自分作れるという利点を持つ. |
32 % スペルミスに弱い | 25 % スペルミスに弱い |
26 | |
27 \section{Neo4j} | |
28 No4j は, グラフデータベースと呼ばれる NoSQL のデータベースである. | |
29 データをグラフとして保存する. | |
30 グラフはノードとリレーションシップにより表され, それぞれがプロパティを持つことができる. | |
31 リレーションシップはグラフでいうところのエッジにあたる. | |
32 ノードからリレーションシップを辿り, 各プロパティをみることでデータの取得を行うことができる. | |
33 通常データベースでは, データの取り出しに価の結合や条件の判定を行う. | |
34 だが, グラフデータベースグラフはどれだけデータが大きくなろうがノードからノードへの移動は1ステップですむ. | |
35 そのため, どれだけデータが大きくなろうと, データが小さい時と同じ計算量でデータの取得が行える. | |
36 | |
37 Neo4j はマスターとスレーブの関係になるクラスタを構成することで分散データベースとして機能する. | |
38 マスターに書かれたデータはスレーブに書き込まれるが, すぐに全てのスレーブに書き込まれるわけではない. | |
39 したがってデータの整合性が失われる危険がある. | |
40 スレーブサーバは現在保持しているデータを返すことができる. | |
41 それにより高い読み取り性能の要求に答えることができる高可用性を実現している. |