annotate slides/index.html_back @ 100:ae161408bc1c

Fixed chapter2.tex
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Sat, 15 Feb 2014 04:37:14 +0900
parents 07aec327a7bc
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
85
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1 <!DOCTYPE html>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
2 <html>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
3 <head>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
4 <meta charset='utf-8'>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
5 <title>分散 Database Jungle に関する研究</title>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
6 <script src='slides.js'></script>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
7 <style media='screen,projection'>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
8 /****
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
9 * Add your styles here.
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
10 */
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
11
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
12 body { font-size: 175%; }
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
13
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
14 .step { color: silver; } /* or hide next steps e.g. .step { visibility: hidden; } */
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
15
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
16 .slide {
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
17 font-family: 'Open Sans', Arial, sans-serif;
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
18
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
19 color: rgb(102, 102, 102);
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
20 text-shadow: 0 1px 1px rgba(0, 0, 0, .1);
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
21 }
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
22
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
23 .slide h1, .slide h2, .slide h3 {
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
24 color: rgb(51, 51, 51);
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
25 }
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
26
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
27 .slide pre {
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
28 font-family: 'Droid Sans Mono', 'Courier New', monospace;
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
29 font-size: 80%;
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
30
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
31 padding: 5px 10px;
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
32
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
33 margin-top: 40px;
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
34 margin-bottom: 40px;
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
35
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
36 color: black;
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
37 background: rgb(240, 240, 240);
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
38 border: 1px solid rgb(224, 224, 224);
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
39 box-shadow: inset 0 2px 6px rgba(0, 0, 0, .1);
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
40 overflow: hidden;
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
41 }
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
42
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
43 .slide code {
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
44 font-family: 'Droid Sans Mono', 'Courier New', monospace;
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
45 color: black;
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
46 }
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
47
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
48 .slide h3 {
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
49 margin-top:-15px;
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
50 }
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
51
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
52 </style>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
53 </head>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
54 <body>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
55
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
56 <section class='slides'>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
57 <!-- Add your slides here. Delete or comment out the slides below. -->
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
58
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
59 <article class='cover'>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
60 <h1>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
61 分散 Database Jungle に関する研究
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
62 <br>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
63
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
64 </h1>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
65 <p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
66 大城 信康
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
67 <br>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
68 Feb 3, 2013
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
69 </p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
70 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
71
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
72 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
73 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
74 概要
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
75 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
76 <p>非破壊的木構造データベースJungleに分散実装を行い掲示板システムに特化したデーターベースを作成し、その評価を行った。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
77 <p>分散データベースCassandraより2倍以上速く、分散環境下においては10倍以上速い結果も確認された。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
78 <br/>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
79 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
80
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
81 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
82 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
83 研究の目的と背景
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
84 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
85 <p>ウェブサービスにとってデータベースは必須であり、ウェブサービスの規模に比例してデータベースへの負荷も高まる。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
86 <p>データベースの処理能力の高さはそのままウェブサービスの質に繋がるため、データベースのスケーラビリティの確保は重要である。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
87 <p>スケーラビリティ確保の方法としてデータ分散があるが、分散する方法により性能も変わってくる。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
88 <p>スケーラビリティのある分散データベースとしてJungleの実装を行う。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
89 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
90
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
91
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
92 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
93 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
94 ウェブサービスにおけるデータベースの重要性
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
95 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
96 <p>ウェブサービスへの負荷が高まることは、データベースへの負荷が高まることでもある。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
97 <p>データベースの性能が低ければ負荷に耐え切れずサービスはダウンする</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
98 <p style="text-align:center;">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
99 <img src="./images/service_down.png">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
100 </p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
101 <p>そのため、データベースにはスケーラビリティが必要</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
102 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
103
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
104 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
105 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
106 スケーラビリティとは
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
107 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
108 <p>システムが負荷の増大に対して柔軟に拡張して対応できる性質</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
109 <p>主に次の2つの方法によりシステムはスケールされる</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
110 <ul>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
111 <li><font color="blue">スケールアップ</font>:<br/>高価な単一マシンによる性能アップ</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
112 <br/>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
113 <li><font color="red">スケールアウト</font>:<br/>汎用的なマシンを複数台用意することで性能アップ</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
114 </ul>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
115 <p>分散システムにおいては<font color="red">スケールアウト</font>によりスケーラビリティを高める</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
116 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
117
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
118 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
119 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
120 データベースのスケーラビリティ
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
121 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
122 <p>データベースのスケーラビリティを考えるとき、どういう用途で使用するかを考えるのが重要。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
123 <li>例えば、掲示板システムにおいては、書き込みと読み込みが速いことが求められる。</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
124 <br/>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
125 <p>ウェブサービスは、サービスの内容によってスケーラビリティの確保の仕方も変わってくる。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
126 <p>本研究で開発しているデータベースはコンテンツマネジメントシステム(CMS)を対象としている。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
127 <p style="text-align:center;">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
128 <img style="" src="./images/scalability.png">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
129 </p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
130
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
131 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
132
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
133 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
134 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
135 コンテンツマネジメントシステム(CMS)
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
136 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
137 <p>Webコンテンツを構成するテキストや画像などのデジタルコンテンツを管理し配信するシステム。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
138 <li>例:ブログツール、Wiki</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
139 <p>分散コンテンツマネジメントシステムに求められること。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
140 <li>Webコンテンツを分散して管理</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
141 <li>スケールアウトするシステム</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
142 <p>データ全体の整合性に遅延がある、結果整合性でもよい。書き込みや読み込みを優先としたデータベースが必要。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
143 <p>そこで、非破壊的木構造データベースJungleの提案を行った。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
144 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
145
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
146 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
147 <h3>非破壊的木構造データベースJungle</h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
148 <p>JungleはスケーラビリティのあるCMSの設計を目指して当研究室で開発されているデータベース。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
149 <p>データを木構造で、さらに非破壊で保持する。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
150 <br/>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
151 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
152
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
153 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
154 <h3>破壊的木構造</h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
155 <p>木構造の通常のデータ表現</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
156 <p>破壊的木構造は、木構造により保持しているデータの編集をデータを直接書き換えることで行う</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
157 <p style="text-align:center;">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
158 <img style="height:300px;" src="./images/destructive_tree_slide.png">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
159 </p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
160 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
161
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
162 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
163 <h3>破壊的木構造</h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
164 <p>破壊的木構造ではデータの編集中にそのデータを読むことができない</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
165 <p>編集が完了するまでまたなければならない</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
166 <p style="text-align:center;">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
167 <img style="width:500px;" src="./images/destructive_tree_demerit.png">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
168 </p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
169 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
170
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
171 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
172 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
173 非破壊的木構造
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
174 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
175 <p>非破壊的木構造は一度作成したデータは変更しない</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
176 <p>新しい木構造を作成することでデータの編集を行う</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
177 <p style="text-align:center;">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
178 <img style="height:300px;" src="./images/non_destructive_tree_slide.png">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
179 </p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
180 <p></p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
181 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
182
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
183 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
184 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
185 非破壊的木構造におけるデータ編集
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
186 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
187 <p>目的とするノード5ををコピーして内容を編集する。ノード100となる</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
188 <p>ルートノードから目的のノード5までに続くルートノードとノード2のコピーとりノード100と繋げる</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
189
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
190 <p style="text-align:center;">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
191 <img style="width:700px;" src="./images/non_destructive_tree_edit.png">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
192 </p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
193 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
194
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
195 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
196 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
197 非破壊的木構造におけるデータ編集と読み込み
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
198 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
199 <p>新しく作成したルートノードに変更を加えていないノードへの参照を持たせる。新しい木構造のデータができる</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
200 <p>最新のルートノードの登録を新しく作成した側のルートノードへと登録する</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
201 <p style="text-align:center;">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
202 <img style="width:700px;" src="./images/non_destructive_tree_edit2.png">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
203 </p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
204 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
205
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
206 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
207 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
208 非破壊的木構造の利点
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
209 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
210 <p>非破壊的木構造は通常の木構造である破壊的木構造に比べ、以下のような利点を持つ</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
211 <ul>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
212 <li>一度作成したデータは変更されない</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
213 <li>データが変更されないため自由にコピーを作ることができる(いつでも読み込みが可能)</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
214 <li>ロックがすくない。ロックが必要なのは最新のルートノードを登録するときだけ</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
215 </ul>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
216 <p>ロックが少なく、いつでもコピーが可能なことから、非破壊的木構造はスケーラブルなシステムに有用となる</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
217 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
218
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
219 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
220 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
221 Jungleの分散設計
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
222 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
223 <p>ここまでJungleに実装されている非破壊的木構造の利点について述べた。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
224 <p>次に、Jungleにおける分散設計について述べる。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
225 <p>データ分散を行うにあたり、まず考えることはトポロジーの形成と他のノードからデータの伝搬の仕方である。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
226 <p>Jungleはこの問題に対し、ツリートポロジーを形成し、データ編集の際に発生するcommit logを他のノードに流すことで解決する。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
227 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
228
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
229 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
230 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
231 Jungleの分散設計:トポロジー形成とログによるデータ分散
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
232 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
233 <small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
234 <table>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
235 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
236 <th>ツリートポロジーを形成</th>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
237 <th>commit log伝搬によるデータ分散</th>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
238 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
239 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
240 <td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
241 <img src="./images/tree_topology.png">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
242 </td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
243 <td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
244 <img src="./images/distributed_jungle.png">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
245 </td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
246 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
247 </table>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
248 <p>サーバノード同士でツリートポロジーを形成する。データ編集をどのように行ったのかを示すログ commit log を伝搬させデータの分散を行う。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
249 </small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
250 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
251
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
252 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
253 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
254 非破壊的木構造の利点を活かした分散設計
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
255 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
256 <p>Jungleで扱うつもりのデータは結果整合性でもよいCMSを想定していることを始めに説明した。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
257 <p>そこでJungleはMergeを使うことでデータの整合性をとることにした。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
258 <p>Mergeとは、2つ以上の変更を1つの変更にまとめることである。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
259 <p>分散システムにおいては、2つ以上のデータの更新が同じデータに対して行われていた場合、
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
260 更新を受け取って新しいデータを作ることを指す。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
261 <p>Mergeは自動で解決出来る場合とそうでない場合がある。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
262 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
263
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
264
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
265 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
266 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
267 Mergeによる更新の衝突を自然に解決
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
268 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
269 <small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
270 <table style="font-size: 0.7em; width:100%;" >
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
271 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
272 <td><p style="margin-top:-5px; margin-bottom:-5px; text-align:center;"><img src="./images/tree_conflict.png"></p></td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
273 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
274 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
275 <td><p style="margin-top:-5px; margin-bottom:-5px; text-align:center;"><img src="./images/tree_conflict3.png"></p></td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
276 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
277 </table>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
278 <p style="margin-top:0px;">上の図は通常のデータ更新を示す</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
279 <p style="margin-top:-20px;">下の図は、同じ木に対して2つのデータの更新があったが編集を無事終えるケースを示す</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
280 </small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
281 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
282
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
283
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
284
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
285 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
286 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
287 Mergeによる更新の衝突が自然に解決できない場合
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
288 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
289 <table style="font-size: 0.7em; width:100%;" >
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
290 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
291 <td><p style="margin-top:-5px; margin-bottom:-5px; text-align:center;"><img src="./images/tree_conflict2.png"></p></td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
292 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
293 </table>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
294 <p>木の同じノードに対してデータの編集が行われた場合、どのような編集結果にすればよいかわからない。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
295 <p>どのような木が組まれ、どのようにデータを保存するかはアプリケーション毎に変わってくる。そのため、アプリケーション毎に
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
296 Mergeアルゴリズムは考えなくてはならない。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
297
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
298 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
299
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
300 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
301 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
302 JungleとMergeの相性
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
303 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
304 <p>Jungleは非破壊で過去のデータも保持しているため、更新時に過去のデータを参照して自然なMergeを行うことが可能。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
305 <p>自然にMergeできない場合においても、アプリケーション毎にMergeアルゴリズムを設計することで対応する。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
306 <p>Mergeが自動で行われるようになれば、Jungleで扱う木構造データは編集を自由に行うことができる。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
307 <p>木構造データが自由に行えるようになれば、Jungleはデータのリクエストに対して手元のデータを返すことができる。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
308 <p>古いデータを編集されたものが更新されても、いずれはMergeにより最新のデータと合わせられるから。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
309 <p></p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
310 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
311
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
312
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
313 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
314 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
315 Jungleの分散実装
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
316 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
317 <p>以上がJungleにおける分散設計になる。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
318 <br/>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
319 <p>この分散設計を元にJungleのサーバノード同士でツリトポロジーを構成し、ログによるデータ分散を実装した。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
320 <p>また、Mergeの例として掲示板プログラムにおけるMergeの実装も行った。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
321 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
322
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
323
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
324
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
325 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
326 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
327 Jungleの分散実装:掲示板システムにおけるMerge
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
328 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
329 <p>Jungleではアプリケーション毎にMergeアルゴリズムを設計</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
330 <p>後述する性能比較に用いた掲示板システムにおけるMergeの実装を考える</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
331 <p>掲示板システムにおけるデータ構造を以下に示す</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
332 <p style="text-align:center;">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
333 <img src="./images/bulletinboard.png">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
334 </p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
335 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
336
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
337 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
338 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
339 Jungleの分散実装:掲示板システムにおけるMerge
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
340 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
341 <small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
342 <table style="font-size: 0.7em; width:100%;" >
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
343 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
344 <td><p>1</p></td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
345 <td><p style="margin-top:-5px; margin-bottom:-5px; text-align:center;"><img src="./images/merge_impl1.png"></p></td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
346 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
347 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
348 <td>2</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
349 <td><p style="margin-top:-5px; margin-bottom:-5px; text-align:center;"><img src="./images/merge_impl2.png"></p></td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
350 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
351 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
352 <td>3</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
353 <td><p style="margin-top:-5px; margin-bottom:-5px; text-align:center;"><img src="./images/merge_impl3.png"></p></td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
354 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
355 </table>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
356 </small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
357 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
358
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
359 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
360 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
361 分散データベースJungleの評価
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
362 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
363 <p>分散データベースとしてJungleの性能を評価する。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
364 <p>分散Key-ValueデーターべースCassandraと比較を行う。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
365 <p>比較方法は、Jungle, Cassandra をそれぞれバックエンドとした簡易掲示板を作成する。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
366 <p>掲示板に対してHTTP Requestで並列に読み込みと書き込みの負荷をかけ計測する。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
367 <p>レスポンスが返る平均時間と標準偏差を求めグラフ化する</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
368 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
369
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
370
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
371 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
372 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
373 JungleとCassandraの比較方法
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
374 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
375 <p>実験は以下の2つを行う</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
376 <small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
377 <table style="font-size: 0.7em; width:100%;">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
378 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
379 <th>実験1:サーバ単体への負荷</th><th>実験2:複数台のサーバに対する負荷</th>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
380 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
381 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
382 <td><img style="width:400px;" src="./images/cluster_request_server.png"></td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
383 <td><img style="width:400px;" src="./images/clients_request_servers.png"></td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
384 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
385 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
386 <td><p>複数のクライアントから単体のサーバへ負荷をかける</p></td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
387 <td><p>複数のクライアントから複数のサーバへ負荷をかける</p></td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
388 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
389 </table>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
390 <p>サーバ単体の性能と, 分散環境下における性能の2つを調べる。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
391 <p>分散環境下におけるノードは全て繋がっている</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
392 </small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
393 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
394
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
395 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
396 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
397 実験に使用するサーバの仕様
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
398 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
399 <!--
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
400 <p>実験1:単体サーバへの負荷で使用するサーバ側</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
401 -->
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
402 <table style="font-size: 0.7em;">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
403 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
404 <th></th><th>ブレードサーバ</th>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
405 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
406 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
407 <td>CPU</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
408 <td>Intel(R) Xeon(R) CPU X5650@2.67GHz</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
409 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
410 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
411 <td>コア数</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
412 <td>24</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
413 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
414 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
415 <td>Memory</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
416 <td>132GB</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
417 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
418 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
419 <td>OS</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
420 <td>Fedora 16</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
421 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
422 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
423 <td>HyperVisor</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
424 <td>なし(物理マシン)</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
425 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
426 </table>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
427 <small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
428 <p style="">並列環境</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
429 </small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
430 <table style="font-size: 0.7em; margin-top:-20px; ">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
431 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
432 <th></th><th>VMWareクラスタ</th><th>KVMクラスタ</th>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
433 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
434 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
435 <td>台数</td><td>48</td><td>12</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
436 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
437 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
438 <td>CPU</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
439 <td>Intel(R) Xeon(R) CPU X5650@2.67GHz</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
440 <td>Intel(R) Xeon(R) CPU X5650@2.67GHz</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
441 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
442 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
443 <td>コア数</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
444 <td>4</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
445 <td>4</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
446 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
447 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
448 <td>Memory</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
449 <td>8GB</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
450 <td>8GB</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
451 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
452 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
453 <td>OS</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
454 <td>Fedora 16</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
455 <td>Fedora 16</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
456 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
457 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
458 <td>HyperVisor</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
459 <td>VMWare ESXi</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
460 <td>KVM (Linux Fedora 16)</td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
461 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
462 </table>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
463
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
464 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
465
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
466
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
467 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
468 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
469 実験1:単体サーバへの負荷
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
470 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
471 <p style="text-align:center;">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
472 <img style="width:80%;" src="./images/cluster_request_server.png">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
473 </p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
474 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
475
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
476 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
477 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
478 実験1:単体サーバへの負荷(読み込み)
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
479 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
480 <small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
481 <p>ブレードサーバ一台に対して複数のクライアントからの負荷</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
482 <table style="text-align:center;font-size:0.7em;">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
483 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
484 <td><img style="height:350px;" src="./images/bldsv12_read_bench.png"/></td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
485 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
486 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
487 <th style="text-align:center;">読み込みの実験結果</th>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
488 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
489 </table>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
490 <p style="margin-top:0px;">JungleがCassandraより良い結果を示している</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
491 <p style="margin-top:-20px;">クライアントが55台のときのJungleの最速とCassandraの最遅は3倍近く離れている</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
492 </small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
493 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
494
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
495 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
496 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
497 実験1:単体サーバへの負荷(書き込み)
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
498 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
499 <small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
500 <p>ブレードサーバ一台に対して複数のクライアントからの負荷</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
501 <table style="text-align:center;font-size:0.7em;">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
502 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
503 <td><img style="height:350px;" src="./images/bldsv12_write_bench.png"/></td>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
504 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
505 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
506 <th style="text-align:center;">書き込みの実験結果</th>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
507 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
508 </table>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
509 <p>読み込み同様Jungleのほうが良い結果を示している</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
510 <p>読み込みよりJungleとCassandraの結果が重なる部分が減っている</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
511 </small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
512 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
513
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
514 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
515 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
516 実験1の考察
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
517 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
518 <p>読み込み、書き込みともにJungleの性能がよく。平均だけみても2倍以上早い部分もある。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
519 <p>特に書き込みに関してはクライアントの数が増えるにつれ差が開いている。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
520 <!--
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
521 <p>要因の1つとしてCassandraはディスクへ書き込みを行うが、Jungleは全てのデータをオンメモリで扱っていることもある</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
522 <p>これはある意味当然だが、もう1つ要因をあげられる</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
523 -->
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
524 <p>これはJungleが全体的にロックが少ないことが要因としてあげられる。</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
525 <p>Jungleは非破壊でデータの保持をするため、読み込みは自由に行える。書き込み時には木のコピーをとりルートノードを入れ替える
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
526 ときのみロックが発生する。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
527 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
528
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
529 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
530 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
531 実験2:分散環境下における負荷
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
532 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
533 <p style="text-align:center;">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
534 <img style="width:80%;" src="./images/clients_request_servers.png">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
535 </p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
536 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
537
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
538 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
539 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
540 実験2:分散環境下における読み込み
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
541 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
542 <small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
543 <table style="text-align:center;font-size:0.7em;">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
544 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
545 <td><img style="height:350px;" src="./images/distributed_read_bench.png">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
546 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
547 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
548 <th style="text-align:center;">読み込みの実験結果</th>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
549 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
550 </table>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
551 <p>CassandraはConsistency Level ONE(赤)とQUORUM(緑)両方を測定</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
552 <p>Jungleは1秒から5秒をキープ</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
553 </small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
554 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
555
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
556 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
557 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
558 実験2:分散環境下における書き込み
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
559 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
560 <small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
561 <table style="text-align:center;font-size:0.7em;">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
562 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
563 <td><img style="height:350px;" src="./images/distributed_write_bench.png">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
564 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
565 <tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
566 <th style="text-align:center;">書き込みの実験結果</th>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
567 </tr>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
568 </table>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
569 <p>CassandraはConsistency Level ONE(赤)とQUORUM(緑)両方を測定</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
570 <p>Jungleは5.5秒から7.3秒をキープ</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
571 </small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
572 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
573
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
574
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
575 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
576 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
577 実験2の考察
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
578 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
579 <p>こちらもJungleがCassadraより良い結果を示した。実験1よりも差がでている。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
580 <p>Jungleのグラフが横ばいになっていることに注目したい。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
581 <!--
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
582 <p>Cassandraはノードの数が増えるに従いデータを取りにいくノードも増えることでレスポンスが遅くなっている。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
583 -->
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
584 <p>Jungleはリクエストに対し手元にあるデータを返す。そのためノードの数が増えてもレスポンスの早さを維持できる。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
585 <p>Cassandraはデータを持っている数台のノードに読み込みに行くという作業が入るためJungleより遅くなってしまう</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
586 <p>Jungleは同期を取らないためデータ全体の整合性は落ちるが、分散管理システムを参考にした設計の有用性を示すことができた。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
587 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
588
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
589
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
590 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
591 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
592 まとめ
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
593 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
594 <p>本研究では非破壊的木構造Jungleに分散データベースの実装を行った</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
595 <p>非破壊的木構造における利点を述べ、スケーラビリティの高い分散版管理システムとの類似性を述べた</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
596 <p>Mergeアルゴリズムの1つとして掲示板プログラムにおけるMergeについて設計・実装を行った</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
597 <p>性能比較の実験のためJungle、Cassandraで利用できる簡易掲示板の作成を行った</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
598 <p>実験は単体サーバと分散環境下において行い、どちらともCassandraよりよい結果をえることができた</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
599 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
600
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
601 <!--
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
602 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
603 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
604 今後の課題
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
605 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
606 <p>push/pull方式による分断耐性の実装</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
607 <ul>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
608 <li>現実装ではJungleはデータ編集が行われた際に発生するログを非同期で他サーバノードへと送信している</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
609 <li>だがこの方法では接続が切れた際に再接続を行ったノードが全てのデータをとることができない</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
610 <li>そこで非同期とは別に同期をとり他ノードとに差分となるデータを送るということを行いたい</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
611 <li>これは分散管理システムにおけるpush/pull APIにあたる</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
612 </ul>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
613 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
614 -->
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
615 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
616 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
617 今後の課題
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
618 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
619 <p>データ分割の実装</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
620 <ul>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
621 <li>現在の実装は全てのノードで全てのデータを持たせている</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
622 <li>この方法ではメモリの使用量が高いこととネットワーク帯域への負荷が懸念される</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
623 <li>ノード単位で保持するデータを分ける実装が必要</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
624 <li>その場合、木構造単位でノード毎にデータを分ける</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
625 <li>持っていないデータの要求が来た場合は、データを持っているノードに取りに行くようにする</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
626 </ul>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
627 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
628
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
629 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
630 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
631 今後の課題
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
632 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
633 <p>Mergeアルゴリズムの設計</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
634 <ul>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
635 <li>JungleはMergeを使うことで更新データ衝突の問題を解決する。</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
636 <li>今回実装した掲示板プログラムにおけるMergeは単純なもの。</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
637 <li>他のアプリケーションではどのようにMergeを行うのか考察が必要。</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
638 </ul>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
639 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
640
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
641
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
642 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
643 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
644 今後の課題
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
645 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
646 <p>過去のデータの掃除について</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
647 <ul>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
648 <li>Jungleは非破壊でデータを保持するため過去のメモリの使用量が大きい</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
649 <li>ある程度の単位で過去のデータの掃除を行いたい</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
650 <li>そのためにはどのノードがどのデータを持っているかという情報を扱うことが必要</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
651 <li>どれくらいデータが古くなると掃除を行うか判断が必要</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
652 </ul>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
653 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
654
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
655 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
656 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
657 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
658 <p></p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
659 <ul>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
660 </ul>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
661 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
662
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
663 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
664 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
665 Mergeは必ずできるのか
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
666 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
667 <p>Mergeを必ず行うことは難しい</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
668 <p>例えば、更新するデータが画像だった場合、2つの画像のデータから新しい画像を作るわけにはいかない。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
669 <p>後に更新したものを優先するといった方法をとるか、ユーザの選択に委ねるしかない。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
670 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
671
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
672
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
673 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
674 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
675 分散Key-ValueストアCassandraの特徴
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
676 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
677 <small style="line-height:30px;">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
678 <p>ring型トポロジーを形成。ring上にはHash値があり、書き込むデータのキーのハッシュ値により書き込むノードを決定</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
679 <p>1つのデータの複製を最大何とるかというReplication factorの設定がある。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
680 <p>Consistency Levelというデータの読み書きの際に何台のノードから読み書きするかを決定できる</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
681 <p>Consistency LevelにはONE,QUORUM,ALLがある。QUORUMはReplication factorの数/2+1 のノードに読み書きする。</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
682 </small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
683 <p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
684 <img style="margin-top:-30px;" src="./images/consistency_quorum.png">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
685 </p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
686 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
687
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
688
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
689 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
690 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
691 Jungleの分散設計:分散版管理システム
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
692 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
693 <p>Jungleは分散設計を行うにあたってGitやMercurialといった分散版管理システムを意識している</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
694 <p style="margin-top:-10px;">分散版管理システムとは多人数によるソフトウェア開発において変更履歴を管理するシステム</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
695 <p style="margin-top:-10px;">分散版管理システムは次の特徴とAPIを持つ</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
696 <ul>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
697 <li>開発者それぞれがリポジトリのクローンしてローカルに持ち、開発はローカルのリポジトリを通すことで行われる</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
698 <li>ローカルのリポジトリは独立に存在し、サーバ上にある他人のリポジトリから変更履歴をとることができる。また自身の変更履歴を伝えることもできる</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
699 <li>データ更新時に先に別の更新が入っていた(衝突)場合はMergeによりデータの整合性をとる</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
700 </ul>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
701 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
702
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
703 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
704 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
705 Jungleの分散設計:分散版管理システム
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
706 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
707 <p>分散版管理システムAPI</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
708 <ul style="margin-top:-20px;">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
709 <li>commit:データに変更を加えたことをリポジトリに登録</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
710 <li>push:ローカルのリポジトリで行った変更履歴を他のリポジトリへまとめて送る</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
711 <li>pull:他のリポジトリからの変更履歴をまとめて受け取る</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
712 </ul>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
713 <p style="text-align:center;">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
714 <img style="height:200px;" src="./images/distributed_repository.png">
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
715 </p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
716 <small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
717 <p>分版版管理システムはリポジトリが壊れても別のリポジトリよりデータを復旧できることと、push/pullそれとMergeによる整合性
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
718 の確保で、高いスケーラビリティを持っている</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
719 </small>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
720 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
721
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
722 <article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
723 <h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
724 Jungleの分散設計:分散版管理システム
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
725 </h3>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
726 <p>Jungleと分散版管理システムには似通った点がある</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
727 <li>どちらもデータのコピーが自由</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
728 <li>データ更新しても過去のデータに影響を与えない</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
729 <br/>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
730 <p><font color="red">同じAPIを実装することで、分散版管理システムと同じく高いスケーラビリティが期待できる</font></p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
731 <p>具体的には</p>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
732 <ul>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
733 <li>pushやpullによる定期的なデータの更新</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
734 <li>Mergeによる更新データ衝突の解決</li>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
735 </ul>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
736 </article>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
737
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
738
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
739 </section>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
740
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
741 </body>
07aec327a7bc Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
742 </html>