Mercurial > hg > Papers > 2014 > nobuyasu-master
annotate slides/slides.html @ 90:8f5c9719d6ee
Modified slideds
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 03 Feb 2014 14:35:15 +0900 |
parents | 396b121f989c |
children | edc3773f15a7 |
rev | line source |
---|---|
85
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 <!DOCTYPE html> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2 <html> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 <head> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
4 <meta charset='utf-8'> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 <title>分散 Database Jungle に関する研究</title> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 <!-- |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8 Notes on CSS media types used: |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 1) projection -> slideshow mode (display one slide at-a-time; hide all others) |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
11 2) screen -> outline mode (display all slides-at-once on screen) |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
12 3) print -> print (and print preview) |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
13 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
14 Note: toggle between projection/screen (that is, slideshow/outline) mode using t-key |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
16 Questions, comments? |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
17 - send them along to the mailinglist/forum online @ http://groups.google.com/group/webslideshow |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
18 --> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
19 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
20 <!-- style sheet links --> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
21 <link rel="stylesheet/less" href="themes/blank/projection.css.less" media="screen,projection"> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
22 <link rel="stylesheet/less" href="themes/blank/screen.css.less" media="screen"> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
23 <link rel="stylesheet/less" href="themes/blank/print.css.less" media="print"> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
24 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
25 <link rel="stylesheet/less" href="blank.css.less" media="screen,projection"> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
26 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
27 <!-- Notes about less css support |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
28 - all less stylesheets (*.css.less) need to get listed/loaded first (before the less.js script) |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
29 - find more info about less.js online @ http://lesscss.org |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
30 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
31 ***** NOTE: |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
32 less.js browser script currently won’t work if you’re using Google Chrome |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
33 and the path to your page starts with "file:///" due to a known Chrome issue. |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
34 (In the developer/js console you will see: |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
35 XMLHttpRequest cannot load file:///../s6/shared/projection.css.less. |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
36 Cross origin requests are only supported for HTTP.) |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
37 --> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
38 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
39 <!-- add js libs (less, jquery) --> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
40 <script src="js/less-1.1.4.min.js"></script> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
41 <script src="js/jquery-1.7.min.js"></script> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
42 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
43 <!-- S6 JS --> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
44 <script src="js/jquery.slideshow.js"></script> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
45 <script src="js/jquery.slideshow.counter.js"></script> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
46 <script src="js/jquery.slideshow.controls.js"></script> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
47 <script src="js/jquery.slideshow.footer.js"></script> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
48 <script src="js/jquery.slideshow.autoplay.js"></script> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
49 <script> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
50 $(document).ready( function() { |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
51 Slideshow.init(); |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
52 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
53 // Example 2: Start Off in Outline Mode |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
54 // Slideshow.init( { mode: 'outline' } ); |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
55 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
56 // Example 3: Use Custom Transition |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
57 // Slideshow.transition = transitionScrollUp; |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
58 // Slideshow.init(); |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
59 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
60 // Example 4: Start Off in Autoplay Mode with Custom Transition |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
61 // Slideshow.transition = transitionScrollUp; |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
62 // Slideshow.init( { mode: 'autoplay' } ); |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
63 } ); |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
64 </script> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
65 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
66 <!-- Better Browser Banner for Microsoft Internet Explorer (IE) --> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
67 <!--[if IE]> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
68 <script src="js/jquery.microsoft.js"></script> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
69 <![endif]--> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
70 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
71 </head> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
72 <body> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
73 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
74 <div class="layout"> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
75 <div id="header"></div> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
76 <div id="footer"> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
77 <h1>分散 Database Jungle に関する研究</h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
78 <h2>琉球大学大学院 情報工学専攻 修士2年次 大城信康</h2> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
79 </div> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
80 </div> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
81 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
82 <div class="presentation"> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
83 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
84 <!-- add slides here; example --> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
85 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
86 <div class='slide cover'> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
87 <h1>分散 Database Jungleに関する研究</h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
88 <ul> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
89 <p>琉球大学 大城信康 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
90 <br> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
91 Feb 3, 2013 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
92 </p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
93 </ul> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
94 </div> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
95 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
96 <div class='slide'> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
97 <h1>概要</h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
98 <p>非破壊的木構造データベースJungleに分散実装を行い掲示板システムに特化したデーターベースを作成し、その評価を行った。</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
99 <p>分散データベースCassandraより2倍以上速く、分散環境下においては10倍以上速くなる結果も確認された。</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
100 <br/> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
101 </div> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
102 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
103 <div class='slide'> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
104 <h1>研究の背景と目的</h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
105 <p>ウェブサービスにとってデータベースは必須であり、ウェブサービスの規模に比例してデータベースへの負荷も高まる。</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
106 <p>データベースの処理能力の高さはそのままウェブサービスの質に繋がるため、データベースのスケーラビリティの確保は重要である。</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
107 <p>スケーラビリティ確保の方法としてデータ分散があるが、分散する方法により性能も変わってくる。</p> |
89 | 108 <p>コンテンツマネジメントシステムに合ったスケーラビリティの確保ができるデータベースの開発を行う。</> |
85
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
109 </div> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
110 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
111 <div class='slide'> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
112 <h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
113 ウェブサービスにおけるデータベースの重要性 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
114 </h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
115 <p>ウェブサービスへの負荷が高まることは、データベースへの負荷が高まることでもある。</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
116 <p>データベースの性能が低ければ負荷に耐え切れずサービスはダウンする</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
117 <p style="text-align:center;"> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
118 <img src="./images/service_down.png"> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
119 </p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
120 <p>そのため、データベースにはスケーラビリティが必要</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
121 </div> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
122 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
123 <div class='slide'> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
124 <h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
125 スケーラビリティとは |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
126 </h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
127 <p>システムが負荷の増大に対して柔軟に拡張して対応できる性質</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
128 <p>主に次の2つの方法によりシステムはスケールされる</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
129 <ul> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
130 <li><font color="blue">スケールアップ</font>:<br/>高価な単一マシンによる性能アップ</li> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
131 <br/> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
132 <li><font color="red">スケールアウト</font>:<br/>汎用的なマシンを複数台用意することで性能アップ</li> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
133 </ul> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
134 <p>分散システムにおいては<font color="red">スケールアウト</font>によりスケーラビリティを高める</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
135 </div> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
136 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
137 <div class='slide'> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
138 <h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
139 データベースのスケーラビリティ |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
140 </h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
141 <p>データベースのスケーラビリティを考えるとき、どういう用途で使用するかを考えるのが重要。</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
142 <li>例えば、掲示板システムにおいては、書き込みと読み込みが速いことが求められる。</li> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
143 <br/> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
144 <p>ウェブサービスにおいても、どのようなサービスを行うかによってスケーラビリティの確保の仕方も変わってくる。</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
145 <p>本研究で開発しているデータベースはコンテンツマネジメントシステム(CMS)を対象としている。</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
146 <p style="text-align:center;"> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
147 <img style="" src="./images/scalability.png"> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
148 </p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
149 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
150 </div> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
151 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
152 <div class='slide'> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
153 <h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
154 コンテンツマネジメントシステム(CMS) |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
155 </h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
156 <p>Webコンテンツを構成するテキストや画像などのデジタルコンテンツを管理し配信するシステム。</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
157 <li>例:ブログツール、Wiki</li> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
158 <p>分散コンテンツマネジメントシステムに求められること。</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
159 <li>Webコンテンツを分散して管理</li> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
160 <li>スケールアウトするシステム</li> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
161 <p>データ全体の整合性に遅延がある、結果整合性でもよい。書き込みや読み込みを優先としたデータベースが必要。</p> |
89 | 162 <p>そこで、非破壊的木構造データベースJungleの開発が行われた。</p> |
85
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
163 </div> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
164 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
165 <div class='slide'> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
166 <h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
167 非破壊的木構造データベースJungle |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
168 </h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
169 <p>JungleはスケーラビリティのあるCMSの設計を目指して当研究室で開発されているデータベース。</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
170 <p>データを木構造で、さらに非破壊で保持する。</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
171 </div> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
172 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
173 <div class='slide'> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
174 <h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
175 非破壊的木構造 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
176 </h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
177 <p>非破壊的木構造は一度作成したデータは変更しない</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
178 <p>新しい木構造を作成することでデータの編集を行う</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
179 <p style="text-align:center;"> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
180 <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:
diff
changeset
|
181 </p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
182 </div> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
183 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
184 <div class='slide'> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
185 <h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
186 非破壊的木構造の利点 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
187 </h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
188 <p>非破壊的木構造は通常の木構造である破壊的木構造に比べ、以下のような利点を持つ</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
189 <ul> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
190 <li>一度作成したデータは変更されない</li> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
191 <li>データが変更されないため自由にコピーを作ることができる(いつでも読み込みが可能)</li> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
192 <li>ロックがすくない。ロックが必要なのは最新のルートノードを登録するときだけ</li> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
193 </ul> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
194 <p>ロックが少なく、いつでもコピーが可能なことから、非破壊的木構造はスケーラブルなシステムに有用となる</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
195 </div> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
196 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
197 <div class='slide'> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
198 <h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
199 Jungleの分散設計 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
200 </h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
201 <p>ここまでJungleに実装されている非破壊的木構造の利点について述べた。</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
202 <p>次に、Jungleにおける分散設計について述べる。</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
203 <p>データ分散を行うにあたり、まず考えることはトポロジーの形成と他のノードからデータの伝搬の仕方である。</p> |
89 | 204 <p>Jungleはこの問題に対し、ツリートポロジーを形成し、データ編集の際に発生するオペレーションを他のノードに流すことで解決する。</p> |
85
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
205 </div> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
206 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
207 <div class='slide'> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
208 <h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
209 Jungleトポロジーの形成 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
210 </h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
211 <p>Jungleのトポロジー形成には当研究室で開発している並列分散フレームワークAliceを使用する。</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
212 <p>Aliceは以下の機能が提供されている</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
213 <ul> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
214 <li>複数のノードによる分散トポロジーの設定</li> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
215 <li>トポロジー上でのデータアクセス機構</li> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
216 </ul> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
217 <p>JungleにAliceを組み込み、Jungleのノード同士でトポロジーを形成する。</p> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
218 <p>Aliceの機能である他ノードへのデータアクセス機構を使用してデータ分散を行う。</p> |
89 | 219 </ul> |
85
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
220 </div> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
221 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
222 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
223 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
224 <div class='slide'> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
225 <h1> |
89 | 226 分散設計: データ編集オペレーション |
85
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
227 </h1> |
89 | 228 <p>Aliceにより、ネットワークトポロジーの作成と他サーバが持つデータアクセス機構を実装できた。</p> |
229 <p>次はどのデータを取得することでデータの分散を行うか考えなければならない。</p> | |
230 <br> | |
231 <p>Jungleにはデータ編集に使われるオペレーションがある。</p> | |
232 <p>データ編集に使われるオペレーションをそのまま他サーバノードへ流すことでデータの分散が行える。</p> | |
233 <p>オペレーションには次の4つがある</p> | |
234 <ul> | |
235 <li>addNewChild:子ノードの追加を行う</li> | |
236 <li>deleteChildAt:指定したノードの削除を行う</li> | |
237 <li>putAttribute:子ノードにattributeに追加を行う</li> | |
238 <li>deleteAttribute:子ノードのattributeを削除する</li> | |
239 <br> | |
85
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
240 </div> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
241 |
88 | 242 <div class='slide'> |
243 <h1> | |
89 | 244 データ編集オペレーション |
245 </h1> | |
246 <p>子ノードを追加し、その子ノードにattributeを追加する場合次のノードオペレーションが実行される。</p> | |
247 <ol> | |
248 <li>[APPEND_CHILD:<-1>:pos:0]</li> | |
249 <li>[PUT_ATTRIBUTE:<-1,0>:key:mes,value:hello]</li> | |
250 </ol> | |
251 <p>このノードオペレーションの実行結果を図に示す。</p> | |
252 <p style="text-align:center;"> | |
253 <img src="./images/node_operation.png"> | |
254 </p> | |
255 <p><font color="">トポロジー上でノードオペレーションを渡すことで同じ編集を行いデータの分散を行う。</font></p> | |
256 <br/> | |
257 <br/> | |
88 | 258 </div> |
259 | |
260 | |
261 <div class='slide'> | |
262 <h1> | |
89 | 263 Jungle分散実装 |
264 </h1> | |
265 <p>以上の設計を元にJungleに分散実装を行った。</p> | |
266 <p>以下の図はJungleにおけるデータ分散の様子を表している。</p> | |
267 <p style="text-align:center;"> | |
268 <img src="./images/distributed_jungle.png"> | |
269 </p> | |
270 <p>Aliceでトポロジーを形成後に、データ編集に使われたオペレーションを他サーバノードに送る。</p> | |
271 <p>オペレーションを受信したノードはデータ編集を行う。他にサーバが繋がっている場合はそちらにもオペレーションを送る。</p> | |
272 <br/> | |
273 <br/> | |
274 </div> | |
88 | 275 |
89 | 276 <div class='slide'> |
277 <h1> | |
278 Jungle分散実装 | |
279 </h1> | |
280 <p>これまでの実装でJungleのデータが分散が行われるようになった。</p> | |
281 <p>しかしもう1つ問題がある。複数のノードから書き込まれるデータの整合性を取る方法が必要である。</p> | |
282 <p>JungleではこれをMergeを使うことで自動的に解決する。</p> | |
283 <p>Mergeとは2つ以上の変更の結果を受けて1つの変更に変えることである。</p> | |
284 <p>今回は、性能比較に用いる掲示板システムにMergeの実装を行った。</p> | |
285 <p>掲示板システムにおけるMergeを説明する。</p> | |
88 | 286 </div> |
287 | |
89 | 288 <div class='slide'> |
289 <h1> | |
290 掲示板システムにおけるMerge | |
291 </h1> | |
292 <p>2つの状態をもつ掲示板の書き込みができる。この2つの書き込みから新しい書き込みを作る。</p> | |
293 <p style="text-align:center;"> | |
294 <img style="width:70%;" src="./images/bulletinboard_merge.png"> | |
295 </p> | |
296 <p>掲示板はcommutativeなため、いつ書き込んでも良い。よってMergeが自動的に行える。</p> | |
297 <br/> | |
298 </div> | |
299 | |
300 | |
301 | |
88 | 302 |
303 <div class='slide'> | |
304 <h1> | |
89 | 305 分散データベースJungleの評価 |
88 | 306 </h1> |
89 | 307 <p>分散データベースとしてJungleの性能を評価する。</p> |
308 <p>分散Key-ValueデーターべースCassandraと比較を行う。</p> | |
309 <p>比較方法は、Jungle, Cassandra をそれぞれバックエンドとした簡易掲示板を作成する。</p> | |
310 <p>掲示板に対してHTTP Requestで並列に読み込みと書き込みの負荷をかけ計測する。</p> | |
311 <p>レスポンスが返る平均時間と標準偏差を求めグラフ化する</p> | |
88 | 312 </div> |
313 | |
314 | |
315 <div class='slide'> | |
89 | 316 <h1> |
317 実験内容 | |
318 </h1> | |
319 <p>実験は2つ行う</p> | |
320 <li>実験1:サーバを単体で起動し、複数のクライアントからの負荷をかける。</li> | |
321 <p style="text-align:center;"> | |
322 <img style="width:60%;" src="./images/cluster_request_server.png"> | |
323 </p> | |
324 <p>サーバ単体の性能を比較する。</p> | |
325 <p>クライアントの増加に対してサーバ1台にかかるリクエストも増加</p> | |
88 | 326 </div> |
327 | |
89 | 328 <div class='slide'> |
329 <h1> | |
330 実験内容 | |
331 </h1> | |
332 <li>実験2:サーバを単体で起動し、複数のクライアントからの負荷をかける。</li> | |
333 <p style="text-align:center;"> | |
334 <img style="width:60%;" src="./images/clients_request_servers.png"> | |
335 </p> | |
336 <p>分散環境下における性能を比較する。</p> | |
337 <p>クライアントとサーバがともに増加するため、サーバ一台に対するリクエストは変わらず。</p> | |
338 <p>サーバが全体で受けるリクエストは増加する。</p> | |
339 </div> | |
88 | 340 |
341 <div class='slide'> | |
342 <h1> | |
343 実験1:単体サーバへの負荷 | |
344 </h1> | |
345 <p style="text-align:center;"> | |
346 <img style="width:70%;" src="./images/cluster_request_server.png"> | |
347 </p> | |
89 | 348 <p>レスポンス速度(縦軸の数値)が低い程良い</p> |
349 <p>クライアント(横軸の数値)の増加に対してレスポンス速度の増加がゆるやかなものほどよい</p> | |
88 | 350 </div> |
351 | |
352 <div class='slide'> | |
353 <h1> | |
354 単体サーバへの負荷:読み込み負荷 | |
355 </h1> | |
356 <object data="./images/bldsv12_read_bench.svg" type="image/svg+xml"></object> | |
90
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
357 <p>Cassandraに比べJungleが全体的に良い結果を出している。</p> |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
358 <p>台数が増える毎にJungleとCassandraの平均時間の差は離れている。</p> |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
359 <br/> |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
360 <br/> |
88 | 361 </div> |
362 | |
363 | |
364 <div class='slide'> | |
365 <h1> | |
366 単体サーバへの負荷:書き込み負荷 | |
367 </h1> | |
368 <object data="./images/bldsv12_write_bench.svg" type="image/svg+xml"></object> | |
90
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
369 <p>読み込み同様JungleがCassandraよりもより結果を出している。</p> |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
370 <p>読み込み以上にCassandraとの差がついている。</p> |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
371 <br/> |
88 | 372 </div> |
373 | |
374 | |
375 | |
376 <div class='slide'> | |
377 <h1> | |
378 実験1の考察 | |
379 </h1> | |
380 <p>読み込み、書き込みともにJungleの性能がよく。平均だけみても2倍以上早い部分もある。</p> | |
381 <p>特に書き込みに関してはクライアントの数が増えるにつれ差が開いている。</p> | |
90
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
382 <!-- |
88 | 383 <p>要因の1つとしてCassandraはディスクへ書き込みを行うが、Jungleは全てのデータをオンメモリで扱っていることもある</p> |
384 <p>これはある意味当然だが、もう1つ要因をあげられる</p> | |
90
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
385 --> |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
386 <p>これはJungleが全体的にロックが少ないことが要因としてあげられる。</p> |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
387 <p><font color="red">なぜロックが少ないか</font></p> |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
388 <p>Jungleは非破壊でデータの保持をするため、読み込みは自由に行える。書き込み時には木のコピーをとりルートノードを入れ替える |
88 | 389 ときのみロックが発生する。</p> |
390 </div> | |
391 | |
392 </div> | |
393 | |
394 <div class='slide'> | |
395 <h1> | |
396 実験2:分散環境下における負荷 | |
397 </h1> | |
398 <p style="text-align:center;"> | |
399 <img style="width:70%;" src="./images/clients_request_servers.png"> | |
400 </p> | |
401 <p>レスポンス速度(縦軸の数値)が低い程良い</p> | |
89 | 402 <p>クライアントとノードの数(横軸の数値)の増加に対してレスポンス速度の増加がゆるやかなものほどよい</p> |
88 | 403 </div> |
404 | |
405 | |
406 <div class='slide'> | |
407 <h1> | |
408 分散環境下における負荷:読み込み | |
409 </h1> | |
410 <object data="./images/distributed_read_bench.svg" type="image/svg+xml"></object> | |
90
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
411 <p>QUORUM(緑)はCassandraが3ノードに書き込んでいる結果を示す。</p> |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
412 <p>Jungle同じレスポンスを維持している。</p> |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
413 <p>Jungleは1秒から5秒をキープ</p> |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
414 <br/> |
88 | 415 </div> |
416 | |
417 | |
418 <div class='slide'> | |
419 <h1> | |
420 分散環境下における負荷:書き込み | |
421 </h1> | |
422 <object data="./images/distributed_write_bench.svg" type="image/svg+xml"></object> | |
90
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
423 <p>QUORUM(緑)はCassandraが3ノードに書き込んでいる結果を示す。</p> |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
424 <p>Jungle同じレスポンスを維持している。</p> |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
425 <p>Jungleは5.5秒から7.3秒をキープ</p> |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
426 <br/> |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
427 <br/> |
88 | 428 </div> |
429 | |
430 <div class='slide'> | |
431 <h1> | |
432 実験2の考察 | |
433 </h1> | |
434 <p>こちらもJungleがCassadraより良い結果を示した。実験1よりも差がでている。</p> | |
435 <p>Jungleのグラフが横ばいになっていることに注目したい。</p> | |
436 <!-- | |
437 <p>Cassandraはノードの数が増えるに従いデータを取りにいくノードも増えることでレスポンスが遅くなっている。</p> | |
438 --> | |
439 <p>Jungleはリクエストに対し手元にあるデータを返す。そのためノードの数が増えてもレスポンスの早さを維持できる。</p> | |
440 <p>Cassandraはデータを持っている数台のノードに読み込みに行くという作業が入るためJungleより遅くなってしまう</p> | |
441 <p>Jungleは同期を取らないためデータ全体の整合性は落ちるが、分散管理システムを参考にした設計の有用性を示すことができた。</p> | |
442 </div> | |
443 | |
444 <div class='slide'> | |
445 <h1> | |
446 まとめ | |
447 </h1> | |
448 <p>本研究では非破壊的木構造Jungleに分散データベースの実装を行った</p> | |
90
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
449 <p>非破壊的木構造における利点を述べ、分散実装を行った。</p> |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
450 <p>分散実装ではAliceを用いたトポロジー形成により、他ノードへデータ編集のオペレーションを送ることで |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
451 実装を行った。</p> |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
452 <p>データの整合性に関してはJungle側がMergeにより自動的にMergeを行うことで解決することを述べた。</p> |
88 | 453 <p>Mergeアルゴリズムの1つとして掲示板プログラムにおけるMergeについて設計・実装を行った</p> |
454 <p>性能比較の実験のためJungle、Cassandraで利用できる簡易掲示板の作成を行った</p> | |
90
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
455 <p>実験は単体サーバと分散環境下において行い、どちらともCassandraより平均時間が最低でも2倍以上速いという結果を示すことができた。</p> |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
456 <p>特にQUORUMとの差は数十倍になるときもあった。</p> |
8f5c9719d6ee
Modified slideds
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
89
diff
changeset
|
457 <br/> |
88 | 458 </div> |
459 | |
460 <div class='slide'> | |
461 <h1> | |
462 今後の課題 | |
463 </h1> | |
464 <p>Mergeアルゴリズムの設計</p> | |
465 <ul> | |
466 <li>JungleはMergeを使うことで更新データ衝突の問題を解決する。</li> | |
467 <li>今回実装した掲示板プログラムにおけるMergeは単純なもの。</li> | |
468 <li>他のアプリケーションではどのようにMergeを行うのか考察が必要。</li> | |
469 </ul> | |
470 </div> | |
471 | |
472 | |
473 | |
474 <div class='slide'> | |
475 <h1> | |
476 今後の課題 | |
477 </h1> | |
478 <p>過去のデータの掃除について</p> | |
479 <ul> | |
480 <li>Jungleは非破壊でデータを保持するため過去のメモリの使用量が大きい</li> | |
481 <li>ある程度の単位で過去のデータの掃除を行いたい</li> | |
482 <li>そのためにはどのノードがどのデータを持っているかという情報を扱うことが必要</li> | |
483 <li>どれくらいデータが古くなると掃除を行うか判断が必要</li> | |
484 </ul> | |
485 </div> | |
486 | |
487 | |
85
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
488 <div class='slide'> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
489 <h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
490 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
491 </h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
492 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
493 </div> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
494 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
495 <div class='slide'> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
496 <h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
497 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
498 </h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
499 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
500 </div> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
501 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
502 <div class='slide'> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
503 <h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
504 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
505 </h1> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
506 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
507 </div> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
508 |
88 | 509 <div class='slide'> |
510 <h1> | |
511 実験に使用するサーバの仕様 | |
512 </h1> | |
513 <table style="font-size: 0.7em;"> | |
514 <tr> | |
515 <th></th><th>ブレードサーバ</th> | |
516 </tr> | |
517 <tr> | |
518 <td>CPU</td> | |
519 <td>Intel(R) Xeon(R) CPU X5650@2.67GHz</td> | |
520 </tr> | |
521 <tr> | |
522 <td>コア数</td> | |
523 <td>24</td> | |
524 </tr> | |
525 <tr> | |
526 <td>Memory</td> | |
527 <td>132GB</td> | |
528 </tr> | |
529 <tr> | |
530 <td>OS</td> | |
531 <td>Fedora 16</td> | |
532 </tr> | |
533 <tr> | |
534 <td>HyperVisor</td> | |
535 <td>なし(物理マシン)</td> | |
536 </tr> | |
537 </table> | |
538 <small> | |
539 <p style="">並列環境</p> | |
540 </small> | |
541 <table style="font-size: 0.7em; margin-top:-20px; "> | |
542 <tr> | |
543 <th></th><th>VMWareクラスタ</th><th>KVMクラスタ</th> | |
544 </tr> | |
545 <tr> | |
546 <td>台数</td><td>48</td><td>12</td> | |
547 </tr> | |
548 <tr> | |
549 <td>CPU</td> | |
550 <td>Intel(R) Xeon(R) CPU X5650@2.67GHz</td> | |
551 <td>Intel(R) Xeon(R) CPU X5650@2.67GHz</td> | |
552 </tr> | |
553 <tr> | |
554 <td>コア数</td> | |
555 <td>4</td> | |
556 <td>4</td> | |
557 </tr> | |
558 <tr> | |
559 <td>Memory</td> | |
560 <td>8GB</td> | |
561 <td>8GB</td> | |
562 </tr> | |
563 <tr> | |
564 <td>OS</td> | |
565 <td>Fedora 16</td> | |
566 <td>Fedora 16</td> | |
567 </tr> | |
568 <tr> | |
569 <td>HyperVisor</td> | |
570 <td>VMWare ESXi</td> | |
571 <td>KVM (Linux Fedora 16)</td> | |
572 </tr> | |
573 </table> | |
574 | |
575 </div> | |
576 | |
577 | |
85
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
578 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
579 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
580 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
581 |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
582 </div> <!-- presentation --> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
583 </body> |
07aec327a7bc
Added slides.htlm
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
584 </html> |