view slides/slides.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
children f257e8ebd79c
line wrap: on
line source

<!DOCTYPE html>
<html>
<head>
  <meta charset='utf-8'>
  <title>分散 Database Jungle に関する研究</title>

<!-- 
   Notes on CSS media types used:
 
   1) projection -> slideshow mode (display one slide at-a-time; hide all others)
   2) screen     -> outline mode (display all slides-at-once on screen) 
   3) print      -> print (and print preview)
  
   Note: toggle between projection/screen (that is, slideshow/outline) mode using t-key

   Questions, comments?
   - send them along to the mailinglist/forum online @ http://groups.google.com/group/webslideshow    
-->

<!-- style sheet links -->
<link rel="stylesheet/less" href="themes/blank/projection.css.less"  media="screen,projection">
<link rel="stylesheet/less" href="themes/blank/screen.css.less"      media="screen">
<link rel="stylesheet/less" href="themes/blank/print.css.less"       media="print">

<link rel="stylesheet/less" href="blank.css.less"    media="screen,projection">

<!-- Notes about less css support
     - all less stylesheets (*.css.less) need to get listed/loaded first (before the less.js script)
     - find more info about less.js online @ http://lesscss.org

    ***** NOTE:
   less.js browser script currently won’t work if you’re using Google Chrome
    and the path to your page starts with "file:///" due to a known Chrome issue.
   (In the developer/js console you will see:
     XMLHttpRequest cannot load file:///../s6/shared/projection.css.less.
     Cross origin requests are only supported for HTTP.)
  -->

<!-- add js libs (less, jquery) -->
<script src="js/less-1.1.4.min.js"></script>
<script src="js/jquery-1.7.min.js"></script>

<!-- S6 JS -->
<script src="js/jquery.slideshow.js"></script>
<script src="js/jquery.slideshow.counter.js"></script>
<script src="js/jquery.slideshow.controls.js"></script>
<script src="js/jquery.slideshow.footer.js"></script>
<script src="js/jquery.slideshow.autoplay.js"></script>
<script>
  $(document).ready( function() {
    Slideshow.init();
    
    // Example 2: Start Off in Outline Mode
    // Slideshow.init( { mode: 'outline' } );
    
    // Example 3: Use Custom Transition
    // Slideshow.transition = transitionScrollUp;
    // Slideshow.init();

    // Example 4: Start Off in Autoplay Mode with Custom Transition
    // Slideshow.transition = transitionScrollUp;
    // Slideshow.init( { mode: 'autoplay' } );
  } );
</script>

<!-- Better Browser Banner for Microsoft Internet Explorer (IE) -->
<!--[if IE]>
<script src="js/jquery.microsoft.js"></script>
<![endif]-->

</head>
<body>

<div class="layout">
  <div id="header"></div>
  <div id="footer">
    <h1>分散 Database Jungle に関する研究</h1>
    <h2>琉球大学大学院 情報工学専攻 修士2年次 大城信康</h2>
  </div>
</div>

<div class="presentation">

  <!-- add slides here; example -->
  
  <div class='slide cover'>
    <h1>分散 Database Jungleに関する研究</h1>
    <ul>
	<p>琉球大学 大城信康
	<br>
	Feb 3, 2013
	</p>
    </ul>
  </div>

  <div class='slide'>
    <h1>概要</h1>
	    <p>非破壊的木構造データベースJungleに分散実装を行い掲示板システムに特化したデーターベースを作成し、その評価を行った。</p>
	    <p>分散データベースCassandraより2倍以上速く、分散環境下においては10倍以上速くなる結果も確認された。</p>
	    <br/>
  </div>

  <div class='slide'>
    <h1>研究の背景と目的</h1>
	<p>ウェブサービスにとってデータベースは必須であり、ウェブサービスの規模に比例してデータベースへの負荷も高まる。</p>
	<p>データベースの処理能力の高さはそのままウェブサービスの質に繋がるため、データベースのスケーラビリティの確保は重要である。</p>
	<p>スケーラビリティ確保の方法としてデータ分散があるが、分散する方法により性能も変わってくる。</p>
  </div>

  <div class='slide'>
    <h1>
	    ウェブサービスにおけるデータベースの重要性
    </h1>
	<p>ウェブサービスへの負荷が高まることは、データベースへの負荷が高まることでもある。</p>
	<p>データベースの性能が低ければ負荷に耐え切れずサービスはダウンする</p>
	<p style="text-align:center;">
	    <img src="./images/service_down.png">
	</p>
	<p>そのため、データベースにはスケーラビリティが必要</p>
  </div>

  <div class='slide'>
    <h1>
	    スケーラビリティとは
    </h1>
	<p>システムが負荷の増大に対して柔軟に拡張して対応できる性質</p>
	<p>主に次の2つの方法によりシステムはスケールされる</p>
	<ul>
	<li><font color="blue">スケールアップ</font>:<br/>高価な単一マシンによる性能アップ</li>
	<br/>
	<li><font color="red">スケールアウト</font>:<br/>汎用的なマシンを複数台用意することで性能アップ</li>
	</ul>
	<p>分散システムにおいては<font color="red">スケールアウト</font>によりスケーラビリティを高める</p>
  </div>

  <div class='slide'>
    <h1>
	    データベースのスケーラビリティ
    </h1>
    <p>データベースのスケーラビリティを考えるとき、どういう用途で使用するかを考えるのが重要。</p>
	<li>例えば、掲示板システムにおいては、書き込みと読み込みが速いことが求められる。</li>
    <br/>
    <p>ウェブサービスにおいても、どのようなサービスを行うかによってスケーラビリティの確保の仕方も変わってくる。</p>
    <p>本研究で開発しているデータベースはコンテンツマネジメントシステム(CMS)を対象としている。</p>
	<p style="text-align:center;">
	    <img style="" src="./images/scalability.png">
	</p>

  </div>

  <div class='slide'>
    <h1>
	   コンテンツマネジメントシステム(CMS)
    </h1>
	<p>Webコンテンツを構成するテキストや画像などのデジタルコンテンツを管理し配信するシステム。</p>
	<li>例:ブログツール、Wiki</li>
	<p>分散コンテンツマネジメントシステムに求められること。</p>
	<li>Webコンテンツを分散して管理</li>
	<li>スケールアウトするシステム</li>
	<p>データ全体の整合性に遅延がある、結果整合性でもよい。書き込みや読み込みを優先としたデータベースが必要。</p>
	<p>そこで、非破壊的木構造データベースJungleの提案を行った。</p>
  </div>

  <div class='slide'>
    <h1>
        非破壊的木構造データベースJungle
    </h1>
	<p>JungleはスケーラビリティのあるCMSの設計を目指して当研究室で開発されているデータベース。</p>
	<p>データを木構造で、さらに非破壊で保持する。</p>
  </div>

  <div class='slide'>
    <h1>
	    非破壊的木構造
    </h1>
	<p>非破壊的木構造は一度作成したデータは変更しない</p>
	<p>新しい木構造を作成することでデータの編集を行う</p>
	<p style="text-align:center;">
	    <img style="width:700px;" src="./images/non_destructive_tree_edit2.png">
	</p>
  </div>

  <div class='slide'>
    <h1>
	非破壊的木構造の利点	    
    </h1>
	<p>非破壊的木構造は通常の木構造である破壊的木構造に比べ、以下のような利点を持つ</p>
	<ul>
	    <li>一度作成したデータは変更されない</li>
	    <li>データが変更されないため自由にコピーを作ることができる(いつでも読み込みが可能)</li>
	    <li>ロックがすくない。ロックが必要なのは最新のルートノードを登録するときだけ</li>
	</ul>
	<p>ロックが少なく、いつでもコピーが可能なことから、非破壊的木構造はスケーラブルなシステムに有用となる</p>
  </div>

  <div class='slide'>
    <h1>
	Jungleの分散設計
    </h1>
    <p>ここまでJungleに実装されている非破壊的木構造の利点について述べた。</p>
    <p>次に、Jungleにおける分散設計について述べる。</p>
    <p>データ分散を行うにあたり、まず考えることはトポロジーの形成と他のノードからデータの伝搬の仕方である。</p>
    <p>Jungleはこの問題に対し、ツリートポロジーを形成し、データ編集の際に発生するcommit logを他のノードに流すことで解決する。</p>
  </div>

  <div class='slide'>
    <h1>
	Jungleトポロジーの形成
    </h1>
    <p>Jungleのトポロジー形成には当研究室で開発している並列分散フレームワークAliceを使用する。</p>
    <p>Aliceは以下の機能が提供されている</p>
    <ul>
	<li>複数のノードによる分散トポロジーの設定</li>
	<li>トポロジー上でのデータアクセス機構</li>
    </ul>
    <p>JungleにAliceを組み込み、Jungleのノード同士でトポロジーを形成する。</p>
    <p>Aliceの機能である他ノードへのデータアクセス機構を使用してデータ分散を行う。</p>

  </div>

  <div class='slide'>
    <h1>
	Jungleの分散設計: データ変更コマンドのAPI
    </h1>

    
  </div>

  <div class='slide'>
    <h1>
	
    </h1>

    
  </div>



  <div class='slide'>
    <h1>
	掲示板システムにおけるMerge
    </h1>
    <p style="text-align:center;">
	<img src="./images/bulletinboard_merge.png">
    </p>
    <p>2つの状態をもつ掲示板の書き込みができる。</p>
    <p>掲示板はcommutativeなため、Mergeが自然に行える。</p>
  </div>



  <div class='slide'>
    <h1>
	Jungleの分散設計:トポロジー形成とログによるデータ分散
    </h1>
	<table>
	    <tr>
		<th>commit log伝搬によるデータ分散</th>
	    </tr>
	    <tr>
		<td>
		    <img src="./images/distributed_jungle.png">
		</td>
	    </tr>
	</table>
	<p>サーバノード同士でツリートポロジーを形成する。データ編集をどのように行ったのかを示すログ commit log を伝搬させデータの分散を行う。</p>
  </div>

  <div class='slide'>
    <h1>

    </h1>

  </div>

  <div class='slide'>
    <h1>

    </h1>

  </div>

  <div class='slide'>
    <h1>

    </h1>

  </div>





</div> <!-- presentation -->
</body>
</html>