Mercurial > hg > Papers > 2014 > nobuyasu-master
comparison slides/index.html @ 85:07aec327a7bc
Added slides.htlm
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 03 Feb 2014 13:06:41 +0900 |
parents | e36cbf39a949 |
children | f257e8ebd79c |
comparison
equal
deleted
inserted
replaced
81:e36cbf39a949 | 85:07aec327a7bc |
---|---|
71 | 71 |
72 <article> | 72 <article> |
73 <h3> | 73 <h3> |
74 概要 | 74 概要 |
75 </h3> | 75 </h3> |
76 <small> | |
77 <p>非破壊的木構造データベースJungleに分散実装を行い掲示板システムに特化したデーターベースを作成し、その評価を行った。</p> | 76 <p>非破壊的木構造データベースJungleに分散実装を行い掲示板システムに特化したデーターベースを作成し、その評価を行った。</p> |
78 <p>分散データベースCassandraより2倍以上速く、分散環境下においては10倍以上速い結果も確認された。</p> | 77 <p>分散データベースCassandraより2倍以上速く、分散環境下においては10倍以上速い結果も確認された。</p> |
79 <br/> | 78 <br/> |
80 <p>ウェブサービスにとってデータベースは必須であり、ウェブサービスの規模に比例してデータベースへの負荷も高まる。</p> | 79 </article> |
81 <p>データベースの処理能力の高さはそのままウェブサービスの質に繋がるため、データベースのスケーラビリティの確保は重要である。</p> | 80 |
82 <p>スケーラビリティ確保の方法としてデータ分散があるが、分散する方法により性能も変わってくる。</p> | 81 <article> |
83 </small> | 82 <h3> |
84 </article> | 83 研究の目的と背景 |
84 </h3> | |
85 <p>ウェブサービスにとってデータベースは必須であり、ウェブサービスの規模に比例してデータベースへの負荷も高まる。</p> | |
86 <p>データベースの処理能力の高さはそのままウェブサービスの質に繋がるため、データベースのスケーラビリティの確保は重要である。</p> | |
87 <p>スケーラビリティ確保の方法としてデータ分散があるが、分散する方法により性能も変わってくる。</p> | |
88 <p>スケーラビリティのある分散データベースとしてJungleの実装を行う。</p> | |
89 </article> | |
90 | |
85 | 91 |
86 <article> | 92 <article> |
87 <h3> | 93 <h3> |
88 ウェブサービスにおけるデータベースの重要性 | 94 ウェブサービスにおけるデータベースの重要性 |
89 </h3> | 95 </h3> |
112 <article> | 118 <article> |
113 <h3> | 119 <h3> |
114 データベースのスケーラビリティ | 120 データベースのスケーラビリティ |
115 </h3> | 121 </h3> |
116 <p>データベースのスケーラビリティを考えるとき、どういう用途で使用するかを考えるのが重要。</p> | 122 <p>データベースのスケーラビリティを考えるとき、どういう用途で使用するかを考えるのが重要。</p> |
117 <li>例えば銀行の口座の情報を扱うデータベースは、データの整合性が最優先である。違う値がみられてはいけない。</li> | 123 <li>例えば、掲示板システムにおいては、書き込みと読み込みが速いことが求められる。</li> |
118 <br/> | 124 <br/> |
119 <p>ウェブサービスにおいても、どのようなサービスを行うかによってスケーラビリティの確保の仕方も変わってくる。</p> | 125 <p>ウェブサービスは、サービスの内容によってスケーラビリティの確保の仕方も変わってくる。</p> |
120 <p>本研究で開発しているデータベースはコンテンツマネジメントシステム(CMS)を対象としている。</p> | 126 <p>本研究で開発しているデータベースはコンテンツマネジメントシステム(CMS)を対象としている。</p> |
127 <p style="text-align:center;"> | |
128 <img style="" src="./images/scalability.png"> | |
129 </p> | |
130 | |
121 </article> | 131 </article> |
122 | 132 |
123 <article> | 133 <article> |
124 <h3> | 134 <h3> |
125 コンテンツマネジメントシステム(CMS) | 135 コンテンツマネジメントシステム(CMS) |
136 <article> | 146 <article> |
137 <h3>非破壊的木構造データベースJungle</h3> | 147 <h3>非破壊的木構造データベースJungle</h3> |
138 <p>JungleはスケーラビリティのあるCMSの設計を目指して当研究室で開発されているデータベース。</p> | 148 <p>JungleはスケーラビリティのあるCMSの設計を目指して当研究室で開発されているデータベース。</p> |
139 <p>データを木構造で、さらに非破壊で保持する。</p> | 149 <p>データを木構造で、さらに非破壊で保持する。</p> |
140 <br/> | 150 <br/> |
141 <p>まず、破壊的木構造と非破壊的木構造について説明する。</p> | |
142 </article> | |
143 | |
144 <article> | |
145 <h3>破壊的木構造</h3> | |
146 <p>木構造の通常のデータ表現</p> | |
147 <p>破壊的木構造は、木構造により保持しているデータの編集をデータを直接書き換えることで行う</p> | |
148 <p style="text-align:center;"> | |
149 <img style="height:300px;" src="./images/destructive_tree_slide.png"> | |
150 </p> | |
151 </article> | |
152 | |
153 <article> | |
154 <h3>破壊的木構造</h3> | |
155 <p>破壊的木構造ではデータの編集中にそのデータを読むことができない</p> | |
156 <p>編集が完了するまでまたなければならない</p> | |
157 <p style="text-align:center;"> | |
158 <img style="width:500px;" src="./images/destructive_tree_demerit.png"> | |
159 </p> | |
160 </article> | 151 </article> |
161 | 152 |
162 <article> | 153 <article> |
163 <h3> | 154 <h3> |
164 非破壊的木構造 | 155 非破壊的木構造 |
165 </h3> | 156 </h3> |
166 <p>非破壊的木構造は一度作成したデータは変更しない</p> | 157 <p>非破壊的木構造は一度作成したデータは変更しない</p> |
167 <p>新しい木構造を作成することでデータの編集を行う</p> | 158 <p>新しい木構造を作成することでデータの編集を行う</p> |
168 <p style="text-align:center;"> | 159 <p style="text-align:center;"> |
169 <img style="height:300px;" src="./images/non_destructive_tree_slide.png"> | 160 <img style="width:700px;" src="./images/non_destructive_tree_edit2.png"> |
170 </p> | 161 </p> |
171 <p></p> | 162 <p></p> |
172 </article> | |
173 | |
174 <article> | |
175 <h3> | |
176 非破壊的木構造におけるデータ編集 | |
177 </h3> | |
178 <p>目的とするノード5ををコピーして内容を編集する。ノード100となる</p> | |
179 <p>ルートノードから目的のノード5までに続くルートノードとノード2のコピーとりノード100と繋げる</p> | |
180 | |
181 <p style="text-align:center;"> | |
182 <img style="width:700px;" src="./images/non_destructive_tree_edit.png"> | |
183 </p> | |
184 </article> | |
185 | |
186 <article> | |
187 <h3> | |
188 非破壊的木構造におけるデータ編集と読み込み | |
189 </h3> | |
190 <p>新しく作成したルートノードに変更を加えていないノードへの参照を持たせる。新しい木構造のデータができる</p> | |
191 <p>最新のルートノードの登録を新しく作成した側のルートノードへと登録する</p> | |
192 <p style="text-align:center;"> | |
193 <img style="width:700px;" src="./images/non_destructive_tree_edit2.png"> | |
194 </p> | |
195 </article> | 163 </article> |
196 | 164 |
197 <article> | 165 <article> |
198 <h3> | 166 <h3> |
199 非破壊的木構造の利点 | 167 非破壊的木構造の利点 |
222 Jungleの分散設計:トポロジー形成とログによるデータ分散 | 190 Jungleの分散設計:トポロジー形成とログによるデータ分散 |
223 </h3> | 191 </h3> |
224 <small> | 192 <small> |
225 <table> | 193 <table> |
226 <tr> | 194 <tr> |
227 <th>ツリートポロジーを形成</th> | |
228 <th>commit log伝搬によるデータ分散</th> | 195 <th>commit log伝搬によるデータ分散</th> |
229 </tr> | 196 </tr> |
230 <tr> | 197 <tr> |
231 <td> | |
232 <img src="./images/tree_topology.png"> | |
233 </td> | |
234 <td> | 198 <td> |
235 <img src="./images/distributed_jungle.png"> | 199 <img src="./images/distributed_jungle.png"> |
236 </td> | 200 </td> |
237 </tr> | 201 </tr> |
238 </table> | 202 </table> |
239 <p>サーバノード同士でツリートポロジーを形成する。データ編集をどのように行ったのかを示すログ commit log を伝搬させデータの分散を行う。</p> | 203 <p>サーバノード同士でツリートポロジーを形成する。データ編集をどのように行ったのかを示すログ commit log を伝搬させデータの分散を行う。</p> |
240 </small> | 204 </small> |
241 </article> | |
242 | |
243 <article> | |
244 <h3> | |
245 データ更新衝突の解決 | |
246 </h3> | |
247 <p>トポロジー形成とデータ伝搬手段については述べた。</p> | |
248 <p>次に問題になることはデータの整合性をどのようにとるか。</p> | |
249 <p>例えば、ノードの持つデータが全て同じ値にしなければならない場合は、データを持つノード全てにロックを掛けて | |
250 変更を加える必要がある。この方法はスケールしない。</p> | |
251 <p>多少古い値を読んでも問題無く、結果整合性でよいというのなら幾つかのノードに書き込むだけで良い。こちらの方法はスケールする。</p> | |
252 </article> | 205 </article> |
253 | 206 |
254 <article> | 207 <article> |
255 <h3> | 208 <h3> |
256 非破壊的木構造の利点を活かした分散設計 | 209 非破壊的木構造の利点を活かした分散設計 |