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 非破壊的木構造の利点を活かした分散設計