Mercurial > hg > Papers > 2014 > nobuyasu-master
annotate paper/chapter2.tex @ 29:13cfa2b88fd1
Modified distributed management system
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 27 Jan 2014 09:11:41 +0900 |
parents | 41200e0b6831 |
children | 92bc4faa9a37 |
rev | line source |
---|---|
25
67880a2ca650
Modfied chapter1.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
22
diff
changeset
|
1 \chapter{木構造データベースJungleの分散設計} |
22
56753cfbeeab
Added merge_imp.pdf
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
2 |
4
d42d2acf5d1d
Added some tex files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 \section{木構造データベースJungle} |
5
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
4 Jungle はスケーラビリティのある CMS の開発を目指して当研究室で開発されている非破壊的木構造データベースである. |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
5 一般的なコンテンツマネジメントシステムではブログツールや Wiki・SNS が多く, これらの |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
6 ウェブサイトの構造は大体が木構造であるため, データ構造として木構造を採用している. |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
7 |
10
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
8 まず破壊的木構造と, 非破壊的木構造の説明をし, Jungle におけるデータ編集の実装について述べる. |
6
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
9 \subsection{破壊的木構造} |
5
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
10 破壊的木構造の編集は, 木構造で保持しているデータを直接書き換えることで行う. |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
11 図\ref{fig:destractive}は破壊的木構造の編集を表している. |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
12 |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
13 \begin{figure}[htpb] |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
14 \begin{center} |
10
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
15 \includegraphics[scale=0.7]{figures/destructive_tree.pdf} |
5
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
16 \caption{破壊的木構造の編集} |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
17 \label{fig:destractive} |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
18 \end{center} |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
19 \end{figure} |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
20 |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
21 破壊的木構造は, 編集を行う際に木のロックを掛ける必要がある. |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
22 この時, データを受け取ろうと木を走査するスレッドは書き換えの終了を待つ必要があり, 閲覧者が |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
23 いる場合は木の走査が終わるまで書き換えをまたなければならない. |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
24 これではロックによりスケーラビリティが損なわれてしまう. |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
25 |
6
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
26 \subsection{非破壊的木構造} |
5
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
27 非破壊的木構造は破壊的木構造とは違い, 一度作成した木を破壊することはない. |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
28 非破壊的木構造においてデータの編集は, ルートから編集を行うノードまでコピーを |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
29 行い新しく木構造を作成することで行われる. |
6
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
30 図\ref{fig:nondestractive}は非破壊的木構造のデータ編集を示している. |
5
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
31 |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
32 \begin{figure}[htpb] |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
33 \begin{center} |
6
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
34 \includegraphics[scale=0.7]{figures/non_destructive_tree.pdf} |
5
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
35 \caption{非破壊的木構造の編集} |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
36 \label{fig:nondestractive} |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
37 \end{center} |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
38 \end{figure} |
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
39 |
6
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
40 非破壊的木構造におけるデータ編集の手順を以下に示す. |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
41 |
7
8afa5d2f1459
Added discription of how to non destractive edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
6
diff
changeset
|
42 \begin{enumerate} |
8afa5d2f1459
Added discription of how to non destractive edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
6
diff
changeset
|
43 \item ルートから編集を行うノードまでのパスを調べる(図\ref{fig:nondestractive_edit1}). |
8afa5d2f1459
Added discription of how to non destractive edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
6
diff
changeset
|
44 \item 編集を行うノードのコピーをとる. コピーをとったノードへデータの編集を行う(図\ref{fig:nondestractive_edit2}). |
8afa5d2f1459
Added discription of how to non destractive edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
6
diff
changeset
|
45 \item 調べたパスに従いルートからコピーしたノードまでの間のノードのコピーをとり繋げる(図\ref{fig:nondestractive_edit3}). |
8
7072254f5e11
Modified some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
46 \item コピーしたルートノードは編集を行っていないノードへの参照を貼り新しい木構造を作る(図\ref{fig:nondestractive_edit4}). |
7
8afa5d2f1459
Added discription of how to non destractive edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
6
diff
changeset
|
47 \end{enumerate} |
6
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
48 |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
49 \begin{figure}[htpb] |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
50 \begin{center} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
51 \includegraphics[scale=0.7]{figures/non_destructive_edit1.pdf} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
52 \caption{非破壊的木構造の編集1} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
53 \label{fig:nondestractive_edit1} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
54 \end{center} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
55 \end{figure} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
56 |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
57 \begin{figure}[htpb] |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
58 \begin{center} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
59 \includegraphics[scale=0.7]{figures/non_destructive_edit2.pdf} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
60 \caption{非破壊的木構造の編集2} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
61 \label{fig:nondestractive_edit2} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
62 \end{center} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
63 \end{figure} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
64 |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
65 \begin{figure}[htpb] |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
66 \begin{center} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
67 \includegraphics[scale=0.7]{figures/non_destructive_edit3.pdf} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
68 \caption{非破壊的木構造の編集3} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
69 \label{fig:nondestractive_edit3} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
70 \end{center} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
71 \end{figure} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
72 |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
73 \begin{figure}[htpb] |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
74 \begin{center} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
75 \includegraphics[scale=0.7]{figures/non_destructive_edit4.pdf} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
76 \caption{非破壊的木構造の編集4} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
77 \label{fig:nondestractive_edit4} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
78 \end{center} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
79 \end{figure} |
f47f11ea0e28
Added non destructive tree edit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
80 |
10
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
81 \newpage |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
82 |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
83 非破壊的木構造により, データの読み込みと編集を同時に行うことが可能になる. |
5
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
84 |
10
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
85 \begin{figure}[htpb] |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
86 \begin{center} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
87 \includegraphics[scale=0.7]{figures/non_destructive_merit.pdf} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
88 \caption{非破壊的木構造による利点} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
89 \label{fig:nondestractive_merit} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
90 \end{center} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
91 \end{figure} |
5
a6aa6af4b80f
Added some figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
92 |
9
c09b83fe37ef
Writed abstract
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
93 |
c09b83fe37ef
Writed abstract
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
94 |
10
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
95 \section{Jungleにおけるデータ編集} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
96 Jungle ではデータをそれぞれの Node が attribute として保持する. |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
97 attribute は String 型の Key と ByteBuffer の value のペアにより表される. |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
98 Jungle でデータ編集を行う場合, この Node に対して削除や attribute の追加等を行うことを指す. |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
99 どの Node へデータの編集を行うかはパスで示す. |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
100 このパスは NodePath と呼ばれる(図\ref{fig:nodepath}). |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
101 |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
102 \begin{figure}[htpb] |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
103 \begin{center} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
104 \includegraphics[scale=0.7]{figures/nodepath.pdf} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
105 \caption{Node の attribute と NodePath} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
106 \label{fig:nodepath} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
107 \end{center} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
108 \end{figure} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
109 |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
110 Node の編集は Node の追加・削除, それと attribute の追加・削除を行うことを指す. |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
111 Node の編集のためには次の4つの API が用意されている. |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
112 \begin{itemize} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
113 \item \verb|addNewChild(NodePath _path, int _pos)| |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
114 NodePath で指定された Node に子供となる Node を追加する API である. |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
115 pos で指定された番号に子供として追加を行う. |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
116 \item \verb|deleteChildAt(NodePath _path, int _pos)| |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
117 NodePath と pos により指定される Node を削除する API である. |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
118 \item \verb|putAttribute(NodePath _path, String _key, ByteBuffer _value)| |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
119 Node に attribute を追加する API である. |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
120 NodePath は attribute を追加する Node を指す. |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
121 \item \verb|deleteAttribute(NodePath _path, String _key)| |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
122 \verb|_key| が示す attribute の削除を行う API である. |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
123 NodePath は Node を示す. |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
124 \end{itemize} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
125 |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
126 この Node 編集の為の API は NodeOperation と呼ばれる. |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
127 \subsection{TreeOperationLog} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
128 API を使用すると, Jungle 内部では NodeOperation として順次ログに積まれていき, 最終的に |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
129 commit されることで編集が行われる. |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
130 この時ログに積まれる複数の NodeOperation を TreeOperationLog という. |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
131 Jungle ではこの TreeOperationLog 単位でデータの編集が行われる. |
22
56753cfbeeab
Added merge_imp.pdf
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
132 以下に TreeOperationLog の具体的な例を示す(\ref{src:treelog}). |
56753cfbeeab
Added merge_imp.pdf
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
133 \begin{lstlisting}[frame=lrbt,label=src:treelog,caption=トポロジーマネージャーの利用,numbers=left] |
10
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
134 [APPEND_CHILD:<-1>:pos:0] |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
135 [PUT_ATTRIBUTE:<-1,1>:key:author,value:oshiro] |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
136 [PUT_ATTRIBUTE:<-1,1>:key:mes,value:hello] |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
137 [PUT_ATTRIBUTE:<-1,1>:key:key,value:hoge] |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
138 [PUT_ATTRIBUTE:<-1,1>:key:timestamp,value:0] |
22
56753cfbeeab
Added merge_imp.pdf
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
139 \end{lstlisting} |
10
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
140 このログは今回の研究で使用したベンチマーク用掲示板プログラムにおける書き込みにより行われるログである(図\ref{fig:treeoperationlog}). |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
141 |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
142 大文字の英字は実行した NodeOperation を表す. |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
143 <> により囲まれている数字は NodePath を示す. |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
144 NodePath の表記以降は Node の position や attribute の情報を表している. |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
145 \begin{figure}[htpb] |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
146 \begin{center} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
147 \includegraphics[scale=0.7]{figures/treeoperationlog1.pdf} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
148 \caption{TreeOperationLog の具体例} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
149 \label{fig:treeoperationlog} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
150 \end{center} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
151 \end{figure} |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
152 |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
153 |
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
154 |
28
41200e0b6831
Added distrubited_repository
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
27
diff
changeset
|
155 \section{分散バージョン管理システムによるデータの分散} |
41200e0b6831
Added distrubited_repository
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
27
diff
changeset
|
156 Jungle は Git や Mercurial といった分散バージョン管理システムの機能を参考に作られている. |
41200e0b6831
Added distrubited_repository
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
27
diff
changeset
|
157 分散バージョン管理システムとは, 多人数によるソフトウェア開発において変更履歴を管理するシステムである. |
29
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
158 % 反対の意味の言葉として集中型バージョン管理システムがある. |
28
41200e0b6831
Added distrubited_repository
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
27
diff
changeset
|
159 分散管理システムでは開発者それぞれがローカルにリポジトリのクローンを持ち, 開発はこのリポジトリを通すことで進められる(図\ref{fig:distributed_repo}). |
41200e0b6831
Added distrubited_repository
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
27
diff
changeset
|
160 ローカルのリポジトリは独立に損刺し, サーバ上にあるリポジトリや他人のリポジトリで行われた変更履歴を取り込みアップデートにかけることができる. |
41200e0b6831
Added distrubited_repository
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
27
diff
changeset
|
161 また逆に, ローカルのリポジトリに開発者自身がかけたアップデートを他のリポジトリへと反映させることもできる. |
29
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
162 分散管理システムでは, どれかリポジトリが壊れたとしても, 別のリポジトリからクローンを行うことができる. |
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
163 ネットワークに障害が発生しても, ローカルにある編集履歴をネットワーク復旧後に伝えることができる. |
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
164 そのため, 可用性と分断耐性が高いと言える. |
28
41200e0b6831
Added distrubited_repository
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
27
diff
changeset
|
165 % 分散管理システムは結果整合性をとることを述べる. |
41200e0b6831
Added distrubited_repository
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
27
diff
changeset
|
166 % 結果整合性の話を先にどっかでしたほうがいいかも |
41200e0b6831
Added distrubited_repository
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
27
diff
changeset
|
167 \begin{figure}[htpb] |
41200e0b6831
Added distrubited_repository
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
27
diff
changeset
|
168 \begin{center} |
41200e0b6831
Added distrubited_repository
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
27
diff
changeset
|
169 \includegraphics[scale=0.7]{figures/distributed_repository.pdf} |
41200e0b6831
Added distrubited_repository
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
27
diff
changeset
|
170 \caption{分散バージョン管理システム} |
41200e0b6831
Added distrubited_repository
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
27
diff
changeset
|
171 \label{fig:distributed_repo} |
41200e0b6831
Added distrubited_repository
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
27
diff
changeset
|
172 \end{center} |
41200e0b6831
Added distrubited_repository
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
27
diff
changeset
|
173 \end{figure} |
27
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
174 |
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
175 |
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
176 |
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
177 \subsection{マージによるデータ変更衝突の解決} |
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
178 分散管理システムでは, データの更新時において衝突が発生する時がある. |
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
179 それは, 分散管理システムを参考にしている Jungle においても起こる問題である. |
29
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
180 データの変更を行うときには, 元のデータに編集が加えられている状態かもしれない. |
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
181 Jungle はリクエストがきた場合, 現在もっているデータを返す. |
27
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
182 そのためデータは最新のものであるかは保証されない. |
29
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
183 この場合, 古いデータに編集が加えられ, それを更に最新のデータへ伝搬させなければならない. |
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
184 このように他のリポジトリにより先にデータ編集が行われており, データの伝搬が素直にできない状態を |
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
185 衝突という. |
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
186 この衝突を解決する手段が必要である. |
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
187 分散管理システムでは衝突に対してマージと呼ばれる作業で解決をはかる. |
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
188 マージは, 相手のリポジトリのデータ編集履歴を受け取り, ローカルにあるリポジトリの編集と合わせる作業である. |
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
189 データ衝突に対して Jungle はアプリケーションレベルでのマージを実装して貰うことで解決をはかる. |
27
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
190 |
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
191 |
29
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
192 \newpage |
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
193 |
27
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
194 \begin{figure}[htpb] |
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
195 \begin{center} |
29
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
196 \includegraphics[scale=0.48]{figures/tree_conflict.pdf} |
27
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
197 \caption{編集に衝突の発生しないデータ編集} |
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
198 \label{fig:tree_conflict1} |
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
199 \end{center} |
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
200 \end{figure} |
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
201 |
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
202 \begin{figure}[htpb] |
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
203 \begin{center} |
29
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
204 \includegraphics[scale=0.48]{figures/tree_conflict3.pdf} |
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
205 \caption{自然に衝突を解決できるデータ編集} |
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
206 \label{fig:tree_conflict1} |
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
207 \end{center} |
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
208 \end{figure} |
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
209 |
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
210 \begin{figure}[htpb] |
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
211 \begin{center} |
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
212 \includegraphics[scale=0.48]{figures/tree_conflict2.pdf} |
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
213 \caption{衝突が発生するデータ編集} |
27
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
214 \label{fig:tree_conflict2} |
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
215 \end{center} |
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
216 \end{figure} |
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
217 |
29
13cfa2b88fd1
Modified distributed management system
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
218 \newpage |
10
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
219 |
27
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
220 |
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
221 |
1abd3c17cff9
Added tree_conflict figures
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
222 |
25
67880a2ca650
Modfied chapter1.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
22
diff
changeset
|
223 \section{データの永続性} |
10
02c7fc1cda10
Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
9
diff
changeset
|
224 |
22
56753cfbeeab
Added merge_imp.pdf
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
225 |
56753cfbeeab
Added merge_imp.pdf
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
226 |
56753cfbeeab
Added merge_imp.pdf
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
227 |
26
388cd4555b3d
Added neo4j_replica, mongodb_sharding and cassandra_ring
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
25
diff
changeset
|
228 \section{CAP 定理と Jungle} |
388cd4555b3d
Added neo4j_replica, mongodb_sharding and cassandra_ring
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
25
diff
changeset
|
229 |
388cd4555b3d
Added neo4j_replica, mongodb_sharding and cassandra_ring
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
25
diff
changeset
|
230 \begin{figure}[htpb] |
388cd4555b3d
Added neo4j_replica, mongodb_sharding and cassandra_ring
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
25
diff
changeset
|
231 \begin{center} |
388cd4555b3d
Added neo4j_replica, mongodb_sharding and cassandra_ring
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
25
diff
changeset
|
232 \includegraphics[scale=0.7]{figures/cap_theorem.pdf} |
388cd4555b3d
Added neo4j_replica, mongodb_sharding and cassandra_ring
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
25
diff
changeset
|
233 \caption{CAP 定理における各データベースの立ち位置} |
388cd4555b3d
Added neo4j_replica, mongodb_sharding and cassandra_ring
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
25
diff
changeset
|
234 \label{fig:cap_theorem} |
388cd4555b3d
Added neo4j_replica, mongodb_sharding and cassandra_ring
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
25
diff
changeset
|
235 \end{center} |
388cd4555b3d
Added neo4j_replica, mongodb_sharding and cassandra_ring
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
25
diff
changeset
|
236 \end{figure} |
22
56753cfbeeab
Added merge_imp.pdf
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
237 |
56753cfbeeab
Added merge_imp.pdf
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
238 |
56753cfbeeab
Added merge_imp.pdf
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
239 |
56753cfbeeab
Added merge_imp.pdf
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
240 |
26
388cd4555b3d
Added neo4j_replica, mongodb_sharding and cassandra_ring
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
25
diff
changeset
|
241 |