view chapter1.tex @ 18:96fc201c4e8c

add bibi
author tatsuki
date Wed, 18 Feb 2015 12:24:03 +0900
parents ceeb95a12d64
children 7e9bd506ceae
line wrap: on
line source

\chapter{知的構造を格納するためのデータベース}
\label{chap:introduction}
\pagenumbering{arabic}

%序論の目安としては1枚半ぐらい.
%英語発表者は,最終予稿の「はじめに」の英訳などを載せてもいいかも.

\section{研究目的}
我々があつかっている知識は木構造であることが多い。
例えば書籍や組織情報などである。
RDB上に木構造を格納する際、nodeとnodeの関係を定義したテーブルを用意し、表構造に変換するが、木構造のままデータベースに格納することで、直接的な操作や効率的なサービスが可能になる考えられる。

また、データベースを使用するウェブサービスの規模も年々大きなものとなり、それに比例して負荷も増大し、その結果サービスが停止する自体が多々見られるようになった。
そのため、データベースの処理性能はそのままサービスの質につながっている重要な項目となっている。

データベースの処理性能を向上させる代表的な方法として、ハードウェア的に高性能なマシンを用意することで処理性能を
上げるスケールアップと、汎用的なマシンをいくつも用意し、処理を分散させることで処理性能を上げるスケールアウトの
2つがある。
単純に処理能力を上げたいのなら、スケールアップは有効ではあるが、単一のマシンを高性能にするのにも限界があり、い
ずれはそのマシンの限界を超える負荷がかかる可能性もある。
それに対しスケールアウトは、処理が重くなるに連れて汎用的なマシンを順次追加していくことで性能を上げるため、ハー
ドウェア的に高性能なマシンを要求せずにすみ、柔軟な対応を取ることが出来るため、データベースの性能を上げる方法と
してはスケールアウトが求められている。
本研究で扱うスケーラビリティとはスケールアウトのことをさす。

分散データシステムにおいて、データの整合性(一貫性)、常にアクセスが可能であること(可用性)、データを分散させやすいかどうか(分割耐性)、この3つを同時に保証することは出来ない。
この定義をCAP定理と言う。

今、最も使われているデータベースであるRDBは、一貫性と可用性を重視している。
そのため、データを分割し、複数のノードにデータを分散させると、整合性のチェック等の問題があり、スケールアウトを行うことが困難である。

当研究室では、これらの問題を解決した、煩雑なデータ設計が必要ないスケーラビリティのあるデータベースを目指して、非破壊的木構造データベースJungleを開発している。
Jungleは、全体の整合性ではなく、木ごとに閉じた局所的な整合性を保証している。
また、整合性のある木同士をマージすることで新しい整合性のある木をす繰り出すことも可能であるため、データの伝搬も容易である。
そのため、Jungleは可用性と分割耐性を重視しつつ、整合性も持つ。

%しかし、Jungleはまだ、データベースとして必要な検索等の機能が実装されておらず、実際に業務等で使用されるアプリケーションに組み込み、使用できる状態ではなかった。
Jungleは、これまでの開発によって木構造を格納する機能をもっている。
そこで、当研究では、Jungle上に組織の許認可管理アプリケーションmaTrixを実装し、データベースの表現力、機能の十分性、実用的な性能実証実験を行う。