# HG changeset patch # User Nobuyasu Oshiro # Date 1389918298 -32400 # Node ID df59b2af84e64e77af9588488efb61aae888305b # Parent 22c48f2b344a3636497d7c31443931aad868a0a9 chapter1.tex diff -r 22c48f2b344a -r df59b2af84e6 paper/chapter1.tex --- a/paper/chapter1.tex Fri Jan 17 07:52:11 2014 +0900 +++ b/paper/chapter1.tex Fri Jan 17 09:24:58 2014 +0900 @@ -5,10 +5,6 @@ \section{Cassandra} -\section{Neo4j} -No4j は, グラフデータベースと呼ばれる NoSQL のデータベースである. - - \section{MongoDB} MongoDB は2009年に公開された NoSQL のデータベースである. @@ -25,8 +21,21 @@ これをシャーディング(sharding)という. MongoDB はレプリケーションとシャーディングにより分散データベースとして機能する. - - - % クエリ言語として JavaScript を採用しており, 演算子を自分作れるという利点を持つ. % スペルミスに弱い + +\section{Neo4j} +No4j は, グラフデータベースと呼ばれる NoSQL のデータベースである. +データをグラフとして保存する. +グラフはノードとリレーションシップにより表され, それぞれがプロパティを持つことができる. +リレーションシップはグラフでいうところのエッジにあたる. +ノードからリレーションシップを辿り, 各プロパティをみることでデータの取得を行うことができる. +通常データベースでは, データの取り出しに価の結合や条件の判定を行う. +だが, グラフデータベースグラフはどれだけデータが大きくなろうがノードからノードへの移動は1ステップですむ. +そのため, どれだけデータが大きくなろうと, データが小さい時と同じ計算量でデータの取得が行える. + +Neo4j はマスターとスレーブの関係になるクラスタを構成することで分散データベースとして機能する. +マスターに書かれたデータはスレーブに書き込まれるが, すぐに全てのスレーブに書き込まれるわけではない. +したがってデータの整合性が失われる危険がある. +スレーブサーバは現在保持しているデータを返すことができる. +それにより高い読み取り性能の要求に答えることができる高可用性を実現している. diff -r 22c48f2b344a -r df59b2af84e6 paper/judge.tex --- a/paper/judge.tex Fri Jan 17 07:52:11 2014 +0900 +++ b/paper/judge.tex Fri Jan 17 09:24:58 2014 +0900 @@ -14,7 +14,7 @@ \vspace{1cm} \underline{\hspace{6cm}印}\\ -(主\hspace{1em}査)\hspace{1em}Mohammad Reza Asharif 氏 +(主\hspace{0.5em}査)\hspace{0.5em}Mohammad Reza Asharif 氏 \vspace{1cm} \underline{\hspace{6cm}印}\\