diff paper/chapter2.tex @ 27:1abd3c17cff9

Added tree_conflict figures
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Sun, 26 Jan 2014 20:20:00 +0900
parents 388cd4555b3d
children 41200e0b6831
line wrap: on
line diff
--- a/paper/chapter2.tex	Sun Jan 26 00:16:38 2014 +0900
+++ b/paper/chapter2.tex	Sun Jan 26 20:20:00 2014 +0900
@@ -1,7 +1,5 @@
 \chapter{木構造データベースJungleの分散設計}
 
-
-
 \section{木構造データベースJungle}
 Jungle はスケーラビリティのある CMS の開発を目指して当研究室で開発されている非破壊的木構造データベースである.
 一般的なコンテンツマネジメントシステムではブログツールや Wiki・SNS が多く, これらの
@@ -154,16 +152,47 @@
 
 
 
-\section{データ衝突時におけるマージによる解決}
-Jungle への分散実装を行うことである問題が発生する.
-それは更新されたデータ同士が衝突を起こした時の処理である.
-Jungle はリクエストがきた場合, 現在もっているデータを返す.
-しかしそのデータは最新のものであるかは保証されない.
-よって, 別のサーバノードで動いている Jungle からの更新データと衝突する可能性がある.
+
+\section{分散管理システムによるデータの分散}
+Jungle は Git や Mercurial といった分散管理システムの機能を参考に作られている.
+分散管理システムとは, 
+反対の意味の言葉として集中型バージョン管理システムがある.
+
+
+\subsection{マージによるデータ変更衝突の解決}
+分散管理システムでは, データの更新時において衝突が発生する時がある.
+それは, 分散管理システムを参考にしている Jungle においても起こる問題である.
+データの変更を行うときには, 元のデータに変更が加えられている状態かもしれない.
+また, Jungle はリクエストがきた場合, 現在もっているデータを返す.
+そのためデータは最新のものであるかは保証されない.
+その場合, 古いデータに変更が加えられ, それを更に最新のデータへ伝搬させなければならない.
+このデータ変更の衝突を解決する手段が必要である.
+そこで
+
+
+\begin{figure}[htpb]
+  \begin{center}
+    \includegraphics[scale=0.7]{figures/tree_conflict.pdf}
+    \caption{編集に衝突の発生しないデータ編集}
+    \label{fig:tree_conflict1}
+  \end{center}
+\end{figure}
+
+\begin{figure}[htpb]
+  \begin{center}
+    \includegraphics[scale=0.7]{figures/tree_conflict2.pdf}
+    \caption{編集に衝突が発生するデータ編集}
+    \label{fig:tree_conflict2}
+  \end{center}
+\end{figure}
+
 
 この問題に対して Jungle はアプリケーションレベルでのマージを実装して貰うことで解決をはかる.
 
 
+
+
+
 \section{データの永続性}
 
 
@@ -183,5 +212,3 @@
 
 
 
-
-