annotate chapter2.tex @ 2:47912d770f9d

2/14
author tatsuki
date Sat, 14 Feb 2015 03:06:15 +0900
parents 8bb94503a263
children 470dc248d615
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
tatsuki
parents: 0
diff changeset
1 \chapter{分散データベースJungle}
tatsuki
parents: 0
diff changeset
2 JungleはスケーラビリティのあるCMSを目指して当研究室で開発されている非破壊的木構造データベースである。
tatsuki
parents: 0
diff changeset
3 本章では、Jungleのメイン部分であるJungleCoreについて述べた後、分散実装されたJungleNetworkについて記述する
0
8bb94503a263 create table of contents and MindMap
tatsuki
parents:
diff changeset
4 \label{chap:concept}
2
tatsuki
parents: 0
diff changeset
5
0
8bb94503a263 create table of contents and MindMap
tatsuki
parents:
diff changeset
6 \section{JungleCore}
2
tatsuki
parents: 0
diff changeset
7 Jungleの最大の特徴として、非破壊的木構造であることがあげられる。
tatsuki
parents: 0
diff changeset
8
tatsuki
parents: 0
diff changeset
9 通常の破壊的木構造は、データの編集を行う際に、データを上書き更新する(図\ref{fig:Des})ため、編集を行っている間ずっと木にロックをかける必要があり、また、閲覧者がいる場合、検索途中にデータが変わることを避けるために、データの検索が終わるまで書き換えを待つ必要がある。
tatsuki
parents: 0
diff changeset
10 しかし、これではロックによりスケーラビリティが損なわれてしまう。
tatsuki
parents: 0
diff changeset
11
tatsuki
parents: 0
diff changeset
12 \begin{figure}[h]
tatsuki
parents: 0
diff changeset
13 \begin{center}
tatsuki
parents: 0
diff changeset
14 \includegraphics[height = 5cm ,bb=0 0 404 207]{fig/destructive_tree.pdf}
tatsuki
parents: 0
diff changeset
15 \caption{破壊的木構造の編集}
tatsuki
parents: 0
diff changeset
16 \label{fig:Des}
tatsuki
parents: 0
diff changeset
17 \end{center}
tatsuki
parents: 0
diff changeset
18 \end{figure}
tatsuki
parents: 0
diff changeset
19
tatsuki
parents: 0
diff changeset
20 \clearpage
tatsuki
parents: 0
diff changeset
21
tatsuki
parents: 0
diff changeset
22 それに比べ非破壊的木構造は、一度生成した木を上書きすることはない。
tatsuki
parents: 0
diff changeset
23 データの編集を行う際に、ルートから編集を行うノードまでコピーを行い新しく木構造を構築することで行う(図\ref{fig:nonDes})。
tatsuki
parents: 0
diff changeset
24
tatsuki
parents: 0
diff changeset
25 \begin{figure}[h]
tatsuki
parents: 0
diff changeset
26 \begin{center}
tatsuki
parents: 0
diff changeset
27 \includegraphics[height = 5cm , bb=0 0 459 207]{fig/destructive_tree.pdf}
tatsuki
parents: 0
diff changeset
28 \caption{非破壊的木構造の編集}
tatsuki
parents: 0
diff changeset
29 \label{fig:nonDes}
tatsuki
parents: 0
diff changeset
30 \end{center}
tatsuki
parents: 0
diff changeset
31 \end{figure}
tatsuki
parents: 0
diff changeset
32
tatsuki
parents: 0
diff changeset
33 非破壊的木構造においてデータのロックが必要になる部分は、木のコピーを作った後に、ルートノードを更新するときだけである。
tatsuki
parents: 0
diff changeset
34 データ編集を行っている間ロックが必要な破壊的木構造に比べ、非破壊的木構造は検索中の木が変更されないことが保証されいているため、編集中においてもデータの読み込みが可能である。(図\ref{fig:desMerit})
tatsuki
parents: 0
diff changeset
35 そのため、非破壊的木構造に比べてスケールアウトがしやすくなっている。
tatsuki
parents: 0
diff changeset
36 \begin{figure}[h]
tatsuki
parents: 0
diff changeset
37 \begin{center}
tatsuki
parents: 0
diff changeset
38 \includegraphics[height = 7cm ,bb=0 0 350 301]{fig/non_destructive_merit.pdf}
tatsuki
parents: 0
diff changeset
39 \caption{非破壊的木構造の編集}
tatsuki
parents: 0
diff changeset
40 \label{fig:desMerit}
tatsuki
parents: 0
diff changeset
41 \end{center}
tatsuki
parents: 0
diff changeset
42 \end{figure}
0
8bb94503a263 create table of contents and MindMap
tatsuki
parents:
diff changeset
43 \section{JungleNetwork}
2
tatsuki
parents: 0
diff changeset
44