annotate paper/conclusion.tex @ 115:eac8620cf9cd

Fixed spell miss
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Wed, 05 Mar 2014 19:54:34 +0900
parents aed0bf04bdfb
children d45899154815
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
90adb016389d First commit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 \chapter{結論} \label{chapter:conclusion}
90adb016389d First commit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
90adb016389d First commit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 \section{まとめ}
56
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
4 本研究では, まず初めにRDBとNoSQLの説明を行い, 既存のNoSQLであるCassandra, MongoDB, Neo4jが
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
5 スケーラビリティをどのように確保しているかを述べた.
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
6 次に木構造データベースJungleで使われている非破壊的木構造について述べ, 破壊的
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
7 木構造に比べロックが少ないというメリットがあることを論じた.
69
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
8 Jungleは非破壊的木構造により過去のデータを保持することでMergeを行うことができる等, 分散管理システム
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
9 と似た分散設計が行えることを述べた.
103
aed0bf04bdfb Fixed chapter5.tex, conclusion.tex and thanx.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 76
diff changeset
10
69
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
11 また, Jungleの分散設計では当研究室で開発している並列分散フレームワークAliceを用いた.
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
12 Aliceにより自由にトポロジーを組むことができ, 他サーバノードへのデータアクセス機構を手に入れることができた.
56
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
13 Jungleの分散実装ではデータの編集履歴であるTreeOperationLogをAliceが使用できるようにし, 木の名前と
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
14 いった必要な情報を追加することでデータの分散を行った.
103
aed0bf04bdfb Fixed chapter5.tex, conclusion.tex and thanx.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 76
diff changeset
15 さらに, Jungleに元々設計されていたJournalを使ってログをディスクへ書き出すことで永続性の実装を行った
aed0bf04bdfb Fixed chapter5.tex, conclusion.tex and thanx.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 76
diff changeset
16
69
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
17 最後に簡易掲示板を作成し, Cassandraとの性能比較を行った.
56
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
18 読み込み, 書き込みの負荷をかける実験を2つ行った.
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
19 1つの実験ではサーバノード1台に対し複数のクライアントから負荷をかけた.
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
20 2つめの実験では複数のクライアントに対し同じ数のサーバノードを用意し数を増やしていき負荷を高めた.
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
21 どちらの実験もJungleがCassandraよりも良い結果を示すことを確認した.
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
22
0
90adb016389d First commit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
90adb016389d First commit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 \section{今後の課題}
75
986f07c56c83 Fixed conclusion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 74
diff changeset
25
986f07c56c83 Fixed conclusion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 74
diff changeset
26
76
5c5d71d36c14 Added slides
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 75
diff changeset
27 \subsection{pull/push方式による分断耐性の実装}
75
986f07c56c83 Fixed conclusion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 74
diff changeset
28 現在の実装のJungleは, プログラムの起動時に複数ノードが接続をしトポロジーを形成する.
986f07c56c83 Fixed conclusion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 74
diff changeset
29 プログラムの途中で接続がきれるとトポロジーがくずれたままになる.
115
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 103
diff changeset
30 接続がきれたJungleは単独では稼働し続けるが, 再接続は行えない.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 103
diff changeset
31 再接続をして, トポロジーへの復帰を行えるようにしたい.
75
986f07c56c83 Fixed conclusion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 74
diff changeset
32 そのためには、今の実装で行っている非同期でログを送信する方法とは別に同期をとり差分のデータを伝搬する方法を
986f07c56c83 Fixed conclusion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 74
diff changeset
33 実装する必要がある。
986f07c56c83 Fixed conclusion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 74
diff changeset
34 これは, 分散管理システムにおけるpull/push APIの機能にあたる.
986f07c56c83 Fixed conclusion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 74
diff changeset
35
986f07c56c83 Fixed conclusion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 74
diff changeset
36
986f07c56c83 Fixed conclusion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 74
diff changeset
37 \if0 % push/pullの話と内容がかぶる?
56
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
38 \subsection{データ分割の実装}
69
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
39 現在Jungleの分散実装は全てのデータを全てのノードで保持させる実装である.
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
40 だが, この方法ではメモリの使用量が高いこととネットワーク帯域に対しての
56
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
41 負荷が懸念される.
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
42 そのため, ノード単位で保持するデータを分ける実装が必要になる.
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
43 ノード毎に木構造単位で別々のデータを保持し, 持っていない木のデータ
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
44 に対して要求がくると他からとってきて返すといった機能が必要になる.
75
986f07c56c83 Fixed conclusion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 74
diff changeset
45 \fi
0
90adb016389d First commit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46
63
d770a2b534b3 Writed description of persistent
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 56
diff changeset
47
4
d42d2acf5d1d Added some tex files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
48 \subsection{Mergerアルゴリズムの設計}
56
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
49 JungleはMergeを使うことでデータ衝突の問題を解決をはかるが, この
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
50 Mergeはアプリケーション毎に考えなければならない.
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
51 今回, JungleにおけるMergeの例として掲示板プログラムにおけるMergeについて述べた.
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
52 だが掲示板のような単純なMergeですむアプリケーションは少ない.
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
53 また, アプリケーション毎でデータの保存の仕方といったものも違ってくる.
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
54 そのため, アプリケーションに合ったMergeアルゴリズムを設計しなければならない.
1d07365c60ff Writed conclstion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
55
20
a7fbd5db80fb chapter3
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
56
75
986f07c56c83 Fixed conclusion
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 74
diff changeset
57
63
d770a2b534b3 Writed description of persistent
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 56
diff changeset
58 \subsection{過去のデータの掃除について}
103
aed0bf04bdfb Fixed chapter5.tex, conclusion.tex and thanx.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 76
diff changeset
59 Jungleは非破壊でデータを保持し続けるため, 非常に多くのメモリを使用してしまう.
63
d770a2b534b3 Writed description of persistent
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 56
diff changeset
60 ある程度の単位で過去のデータの掃除を行いたい.
d770a2b534b3 Writed description of persistent
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 56
diff changeset
61 今回分散実装を行ったことで, 多数のノードでデータが保持され, その内の数台が
d770a2b534b3 Writed description of persistent
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 56
diff changeset
62 ディスクへ書き出すといったことも可能になった.
103
aed0bf04bdfb Fixed chapter5.tex, conclusion.tex and thanx.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 76
diff changeset
63 しかし, Mergeの問題含め, どのタイミングで過去のデータを掃除すべきかは自明ではない.
63
d770a2b534b3 Writed description of persistent
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 56
diff changeset
64 分断耐性の実装の問題とも関わってくるが, どのデータがどれだけ複製して持っているといった
d770a2b534b3 Writed description of persistent
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 56
diff changeset
65 情報も扱う必要がでてくるかもしれない.
d770a2b534b3 Writed description of persistent
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 56
diff changeset
66
20
a7fbd5db80fb chapter3
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
67
74
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 69
diff changeset
68
20
a7fbd5db80fb chapter3
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
69 %\subsection{Treeのバランスの問題}