Mercurial > hg > Papers > 2014 > nobuyasu-master
diff paper/chapter2.tex @ 22:56753cfbeeab
Added merge_imp.pdf
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 23 Jan 2014 19:05:44 +0900 |
parents | a7fbd5db80fb |
children | 67880a2ca650 |
line wrap: on
line diff
--- a/paper/chapter2.tex Thu Jan 23 16:35:50 2014 +0900 +++ b/paper/chapter2.tex Thu Jan 23 19:05:44 2014 +0900 @@ -1,5 +1,5 @@ \chapter{木構造データベースJungleの実装と分散設計} -\section{CAP 定理} + \section{木構造データベースJungle} @@ -131,14 +131,14 @@ commit されることで編集が行われる. この時ログに積まれる複数の NodeOperation を TreeOperationLog という. Jungle ではこの TreeOperationLog 単位でデータの編集が行われる. -以下に TreeOperationLog の具体的な例を示す. -\begin{verbatim} +以下に TreeOperationLog の具体的な例を示す(\ref{src:treelog}). +\begin{lstlisting}[frame=lrbt,label=src:treelog,caption=トポロジーマネージャーの利用,numbers=left] [APPEND_CHILD:<-1>:pos:0] [PUT_ATTRIBUTE:<-1,1>:key:author,value:oshiro] [PUT_ATTRIBUTE:<-1,1>:key:mes,value:hello] [PUT_ATTRIBUTE:<-1,1>:key:key,value:hoge] [PUT_ATTRIBUTE:<-1,1>:key:timestamp,value:0] -\end{verbatim} +\end{lstlisting} このログは今回の研究で使用したベンチマーク用掲示板プログラムにおける書き込みにより行われるログである(図\ref{fig:treeoperationlog}). 大文字の英字は実行した NodeOperation を表す. @@ -154,6 +154,22 @@ +\section{データ衝突時におけるマージによる解決} +Jungle への分散実装を行うことである問題が発生する. +それは更新されたデータ同士が衝突を起こした時の処理である. +Jungle はリクエストがきた場合, 現在もっているデータを返す. +しかしそのデータは最新のものであるかは保証されない. +よって, 別のサーバノードで動いている Jungle からの更新データと衝突する可能性がある. + +この問題に対して Jungle はアプリケーションレベルでのマージを実装して貰うことで解決をはかる. + + + + + + + +