Mercurial > hg > Papers > 2015 > tatsuki-thresis
diff chapter1.tex @ 6:b0fd781e3b05
2/17
author | tatsuki |
---|---|
date | Tue, 17 Feb 2015 09:54:03 +0900 |
parents | 470dc248d615 |
children | ceeb95a12d64 |
line wrap: on
line diff
--- a/chapter1.tex Mon Feb 16 18:28:29 2015 +0900 +++ b/chapter1.tex Tue Feb 17 09:54:03 2015 +0900 @@ -1,4 +1,4 @@ -\chapter{世の中の知的構造を全て格納できるデータベースの開発} +\chapter{知的構造を格納するためのデータベース} \label{chap:introduction} \pagenumbering{arabic} @@ -6,8 +6,10 @@ %英語発表者は,最終予稿の「はじめに」の英訳などを載せてもいいかも. \section{研究目的} -知識を記した書物等において、節が複数集まって章になり、章が集まって書物になるように、我々があつかっている知識は主に木構造である。しかし、知識の量は膨大であり、人が全てを記憶しておくのは難しいため、データベースに格納したい。 -しかし、RDB上に木構造データを格納するためには、煩雑なデータ設計が必要になる。 +知識を記した書物等において、節が複数集まって章になり、章が集まって書物になるように、我々があつかっている知識は主に木構造である。 +RDB上に木構造を格納する際、nodeとnodeの関係を定義したテーブルを用意するが、これだとデータ構造が複雑になってしまい、検索や更新が非効率的なものとなってしまう。 +そのため、もっと木構造を簡単にデータベースで扱いたい。 + また、データベースを使用するウェブサービスの規模も年々大きなものとなり、それに比例してデータベースへの負荷も増大し、その結果サービスが停止する自体が多々見られるようになった。 そのため、データベースの処理性能はそのままサービスの質につながっている重要な項目となっている。 @@ -22,10 +24,17 @@ してはスケールアウトが求められている。 本研究で扱うスケーラビリティとはスケールアウトのことをさす。 -今、最も使われているデータベースであるRDBは、マシンを追加して負荷を分散することが容易ではない。 -そのためスケーラビリティを持つことが困難である。 +データを分散させて扱う分散データシステムにおいて、データの整合性(一貫性)、常にアクセスが可能であること(可用性)、データを分散させやすいかどうか(分割耐性)、この3つを同時に保証することは出来ない。 +この定義をCAP定理と言う。 + +今、最も使われているデータベースであるRDBは、一貫性と可用性を重視している。 +そのため、データを分割し、複数のノードにデータを分散させると、整合性のチェックやデータの統合処理性能が低下する等の問題があり、データを分割し、マシンを追加して負荷を分散することが困難である。 当研究室では、これらの問題を解決した、煩雑なデータ設計が必要ないスケーラビリティのあるデータベースを目指して、非破壊的木構造データベースJungleを開発している。 +Jungleは、全体の整合性ではなく、木に閉じた局所的な整合性を保証している。 +また、整合性のある木同士をマージすることで新しい整合性のある木をす繰り出すことも可能であるため、データの伝搬も容易である。 +そのため、Jungleは可用性と分割耐性を重視しつつ、整合性も持つ。 + %しかし、Jungleはまだ、データベースとして必要な検索等の機能が実装されておらず、実際に業務等で使用されるアプリケーションに組み込み、使用できる状態ではなかった。 -しかし、Jungleはまだ開発途中であり、データベースに必要なAPI等もまだ十分に実装されていない。 -そこで、当研究では、共同研究を行っているSymphonies社が開発している組織の中の許認可を管理するアプリケーションmaTrixにJungleを組み込み、実装すべきAPIの洗い出しを行い、その後実用DBとしての性能があるかテストを行う。 +Jungleは、これまでの開発によって木構造を格納する機能をもっている。 +そこで、当研究では、共同研究を行っているSymphonies社が開発している組織の中の許認可を管理するアプリケーションmaTrixにJungleを組み込み、実装すべきAPIの洗い出しを行い、その後実用DBとしての性能があるか実証実験を行う。