Mercurial > hg > Papers > 2013 > nobuyasu-jssst
changeset 26:0923a2659888
wrote description for merge algorithm
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 18 Jul 2013 21:36:00 +0900 |
parents | b71580df36bd |
children | d2360cf1bfbf |
files | Paper/figures/alice_topology.xbb Paper/figures/cassandra.pdf Paper/figures/cassandra.xbb Paper/figures/destructive_tree.xbb Paper/figures/dsandcs.xbb Paper/figures/nodepath.xbb Paper/figures/non_destructive_tree.xbb Paper/figures/putChildLog.xbb Paper/figures/putLog.xbb Paper/graffle/cassandra.graffle Paper/jssst.tex |
diffstat | 11 files changed, 127 insertions(+), 89 deletions(-) [+] |
line wrap: on
line diff
--- a/Paper/figures/alice_topology.xbb Thu Jul 18 20:32:46 2013 +0900 +++ b/Paper/figures/alice_topology.xbb Thu Jul 18 21:36:00 2013 +0900 @@ -4,5 +4,5 @@ %%HiResBoundingBox: 0.000000 0.000000 386.000000 218.000000 %%PDFVersion: 1.4 %%Pages: 1 -%%CreationDate: Thu Jul 18 20:19:21 2013 +%%CreationDate: Thu Jul 18 21:22:21 2013
--- a/Paper/figures/cassandra.xbb Thu Jul 18 20:32:46 2013 +0900 +++ b/Paper/figures/cassandra.xbb Thu Jul 18 21:36:00 2013 +0900 @@ -1,8 +1,8 @@ %%Title: ./cassandra.pdf %%Creator: extractbb 20130405 -%%BoundingBox: 0 0 338 256 -%%HiResBoundingBox: 0.000000 0.000000 338.000000 256.000000 +%%BoundingBox: 0 0 336 201 +%%HiResBoundingBox: 0.000000 0.000000 336.000000 201.000000 %%PDFVersion: 1.3 %%Pages: 1 -%%CreationDate: Thu Jul 18 20:19:21 2013 +%%CreationDate: Thu Jul 18 21:22:21 2013
--- a/Paper/figures/destructive_tree.xbb Thu Jul 18 20:32:46 2013 +0900 +++ b/Paper/figures/destructive_tree.xbb Thu Jul 18 21:36:00 2013 +0900 @@ -4,5 +4,5 @@ %%HiResBoundingBox: 0.000000 0.000000 404.000000 207.000000 %%PDFVersion: 1.4 %%Pages: 1 -%%CreationDate: Thu Jul 18 20:19:21 2013 +%%CreationDate: Thu Jul 18 21:22:21 2013
--- a/Paper/figures/dsandcs.xbb Thu Jul 18 20:32:46 2013 +0900 +++ b/Paper/figures/dsandcs.xbb Thu Jul 18 21:36:00 2013 +0900 @@ -4,5 +4,5 @@ %%HiResBoundingBox: 0.000000 0.000000 396.000000 256.000000 %%PDFVersion: 1.3 %%Pages: 1 -%%CreationDate: Thu Jul 18 20:19:21 2013 +%%CreationDate: Thu Jul 18 21:22:21 2013
--- a/Paper/figures/nodepath.xbb Thu Jul 18 20:32:46 2013 +0900 +++ b/Paper/figures/nodepath.xbb Thu Jul 18 21:36:00 2013 +0900 @@ -4,5 +4,5 @@ %%HiResBoundingBox: 0.000000 0.000000 315.000000 310.000000 %%PDFVersion: 1.3 %%Pages: 1 -%%CreationDate: Thu Jul 18 20:19:21 2013 +%%CreationDate: Thu Jul 18 21:22:21 2013
--- a/Paper/figures/non_destructive_tree.xbb Thu Jul 18 20:32:46 2013 +0900 +++ b/Paper/figures/non_destructive_tree.xbb Thu Jul 18 21:36:00 2013 +0900 @@ -4,5 +4,5 @@ %%HiResBoundingBox: 0.000000 0.000000 459.000000 207.000000 %%PDFVersion: 1.4 %%Pages: 1 -%%CreationDate: Thu Jul 18 20:19:21 2013 +%%CreationDate: Thu Jul 18 21:22:21 2013
--- a/Paper/figures/putChildLog.xbb Thu Jul 18 20:32:46 2013 +0900 +++ b/Paper/figures/putChildLog.xbb Thu Jul 18 21:36:00 2013 +0900 @@ -4,5 +4,5 @@ %%HiResBoundingBox: 0.000000 0.000000 385.000000 149.000000 %%PDFVersion: 1.4 %%Pages: 1 -%%CreationDate: Thu Jul 18 20:19:21 2013 +%%CreationDate: Thu Jul 18 21:22:21 2013
--- a/Paper/figures/putLog.xbb Thu Jul 18 20:32:46 2013 +0900 +++ b/Paper/figures/putLog.xbb Thu Jul 18 21:36:00 2013 +0900 @@ -4,5 +4,5 @@ %%HiResBoundingBox: 0.000000 0.000000 385.000000 149.000000 %%PDFVersion: 1.4 %%Pages: 1 -%%CreationDate: Thu Jul 18 20:19:21 2013 +%%CreationDate: Thu Jul 18 21:22:21 2013
--- a/Paper/graffle/cassandra.graffle Thu Jul 18 20:32:46 2013 +0900 +++ b/Paper/graffle/cassandra.graffle Thu Jul 18 21:36:00 2013 +0900 @@ -53,11 +53,66 @@ <array> <dict> <key>Bounds</key> - <string>{{313, 155}, {111, 18}}</string> + <string>{{102, 196}, {142, 36}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> - <string>YES</string> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>9</real> + </dict> + <key>ID</key> + <integer>64</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf370 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural + +\f0\fs24 \cf0 \'89\'df\'94\'bc\'90\'94\'82\'cc\'83\'6d\'81\'5b\'83\'68\'82\'c9\'96\'e2\'82\'a2\'8d\'87\'82\'ed\'82\'b9\'82\'e9}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{243, 160.625}, {177, 18}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> <key>Flow</key> <string>Resize</string> <key>FontInfo</key> @@ -101,16 +156,14 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural -\f0\fs24 \cf0 have a same latest}</string> +\f0\fs24 \cf0 \'93\'af\'82\'b6\'8d\'c5\'90\'56\'82\'cc\'83\'66\'81\'5b\'83\'5e\'82\'f0\'8e\'9d\'82\'c1\'82\'c4\'82\'a2\'82\'e9}</string> <key>VerticalPad</key> <integer>0</integer> </dict> - <key>Wrap</key> - <string>NO</string> </dict> <dict> <key>Bounds</key> - <string>{{124, 353}, {90, 27}}</string> + <string>{{128, 314}, {90, 27}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>HFlip</key> @@ -163,7 +216,7 @@ <integer>27</integer> <key>Points</key> <array> - <string>{169, 353}</string> + <string>{172, 317}</string> <string>{250, 290}</string> <string>{332.89594685717077, 217.05202657141461}</string> </array> @@ -196,7 +249,7 @@ <integer>26</integer> <key>Points</key> <array> - <string>{169, 353}</string> + <string>{172, 317}</string> <string>{250, 326}</string> <string>{278.89594685717077, 307.05202657141461}</string> </array> @@ -214,37 +267,6 @@ <string>0</string> </dict> </dict> - </dict> - <dict> - <key>Class</key> - <string>LineGraphic</string> - <key>Head</key> - <dict> - <key>ID</key> - <integer>19</integer> - </dict> - <key>ID</key> - <integer>24</integer> - <key>Points</key> - <array> - <string>{169, 353}</string> - <string>{187, 272}</string> - <string>{260.89594685717077, 208.05202657141461}</string> - </array> - <key>Style</key> - <dict> - <key>stroke</key> - <dict> - <key>HeadArrow</key> - <string>StickArrow</string> - <key>Legacy</key> - <true/> - <key>LineType</key> - <integer>1</integer> - <key>TailArrow</key> - <string>0</string> - </dict> - </dict> <key>Tail</key> <dict> <key>ID</key> @@ -252,47 +274,35 @@ </dict> </dict> <dict> - <key>Bounds</key> - <string>{{106, 146}, {108, 27}}</string> <key>Class</key> - <string>ShapedGraphic</string> - <key>HFlip</key> - <string>YES</string> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>19</integer> + </dict> <key>ID</key> - <integer>23</integer> - <key>Magnets</key> + <integer>24</integer> + <key>Points</key> <array> - <string>{1, 0.5}</string> - <string>{1, -0.5}</string> - <string>{-1, 0.5}</string> - <string>{-1, -0.5}</string> - <string>{0.5, 1}</string> - <string>{-0.5, 1}</string> - <string>{0.5, -1}</string> - <string>{-0.5, -1}</string> + <string>{170, 317}</string> + <string>{187, 272}</string> + <string>{260.89594685717077, 208.05202657141461}</string> </array> - <key>Shape</key> - <string>Subprocess</string> <key>Style</key> <dict> - <key>shadow</key> + <key>stroke</key> <dict> - <key>Draws</key> - <string>NO</string> + <key>HeadArrow</key> + <string>StickArrow</string> + <key>Legacy</key> + <true/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> </dict> </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf370 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs28 \cf0 cassandra}</string> - <key>VerticalPad</key> - <integer>0</integer> - </dict> </dict> <dict> <key>Bounds</key> @@ -534,7 +544,7 @@ <key>MasterSheets</key> <array/> <key>ModificationDate</key> - <string>2013-07-18 11:01:20 +0000</string> + <string>2013-07-18 12:21:26 +0000</string> <key>Modifier</key> <string>Oshiro Nobuyasu</string> <key>NotesVisible</key> @@ -615,7 +625,7 @@ </dict> </array> <key>Frame</key> - <string>{{188, 96}, {693, 922}}</string> + <string>{{522, 133}, {693, 922}}</string> <key>ListView</key> <true/> <key>OutlineWidth</key>
--- a/Paper/jssst.tex Thu Jul 18 20:32:46 2013 +0900 +++ b/Paper/jssst.tex Thu Jul 18 21:36:00 2013 +0900 @@ -348,17 +348,45 @@ \end{figure} -\subsection{Merge の設計} -Jungle を分散させるにあたって Merge が必要となる. -Jungle は非破壊でデータを保持することで, ロックの数を減らしている. -しかし, それは同時に +\subsection{Merge algorithm の設計} +Jungle はログの衝突が起きた場合に, Merge を行うことで衝突を解決する. +今回実装した掲示板における Merge algorithm は単純な実装である. +書き込みのタイムスタンプと既に書き込まれたデータのタイムスタンプを比べ, ソートを行う. + +掲示板においての Merge に関してはそれで十分である. +しかし, ブログや Wiki といった CMS を設計するさいにはもっと複雑な Merge になる. +どのように Merge algorithm を実装していくかはよく考えて行かなければならない. -\subsection{} +\section{Cassandra との比較} +Cassandra は複数のサーバで動作を想定した分散データベースである. +Cassandra は分散 Key-Value ストアデータベースであり, Dynamo\cite{DYNAMO}とBigTable\cite{BIGTABLE}を合わせた +特徴を持っている. +データの Read と Write に対して Consistency Level を設定することができる. +Write に関してはデータの書き込みが全体, 過半数, もしくは1つのノードに書き込まれたかどうかの整合性の設定ができる. +Read に関しては最初にデータを持っていたノードか, 全体を検索して最新のタイムスタンプを確認するかといった整合性の設定ができる. +Consistency Level にもよるがつまり Cassandra はデータについて複数のノードに問い合わせいることになる. + +\begin{figure}[htpb] + \begin{center} + \includegraphics[scale=0.50]{figures/cassandra.pdf} + \caption{Cassandra におけるデータの更新・読み込み} + \label{fig:cassandra} + \end{center} +\end{figure} + + +\subsection{Jungle のデータ要求} +Jungle ではデータの要求が行われた場合, 手元にあるデータを返す. -\section{その4} + + +\section{掲示板の作成} + + +\subsection{評価} \section{まとめ}