annotate chapter1.tex @ 7:7848919edb48

add abst
author tatsuki
date Tue, 17 Feb 2015 12:54:31 +0900
parents b0fd781e3b05
children ceeb95a12d64
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6
tatsuki
parents: 3
diff changeset
1 \chapter{知的構造を格納するためのデータベース}
0
8bb94503a263 create table of contents and MindMap
tatsuki
parents:
diff changeset
2 \label{chap:introduction}
8bb94503a263 create table of contents and MindMap
tatsuki
parents:
diff changeset
3 \pagenumbering{arabic}
8bb94503a263 create table of contents and MindMap
tatsuki
parents:
diff changeset
4
8bb94503a263 create table of contents and MindMap
tatsuki
parents:
diff changeset
5 %序論の目安としては1枚半ぐらい.
8bb94503a263 create table of contents and MindMap
tatsuki
parents:
diff changeset
6 %英語発表者は,最終予稿の「はじめに」の英訳などを載せてもいいかも.
8bb94503a263 create table of contents and MindMap
tatsuki
parents:
diff changeset
7
8bb94503a263 create table of contents and MindMap
tatsuki
parents:
diff changeset
8 \section{研究目的}
6
tatsuki
parents: 3
diff changeset
9 知識を記した書物等において、節が複数集まって章になり、章が集まって書物になるように、我々があつかっている知識は主に木構造である。
tatsuki
parents: 3
diff changeset
10 RDB上に木構造を格納する際、nodeとnodeの関係を定義したテーブルを用意するが、これだとデータ構造が複雑になってしまい、検索や更新が非効率的なものとなってしまう。
tatsuki
parents: 3
diff changeset
11 そのため、もっと木構造を簡単にデータベースで扱いたい。
tatsuki
parents: 3
diff changeset
12
0
8bb94503a263 create table of contents and MindMap
tatsuki
parents:
diff changeset
13
1
tatsuki
parents: 0
diff changeset
14 また、データベースを使用するウェブサービスの規模も年々大きなものとなり、それに比例してデータベースへの負荷も増大し、その結果サービスが停止する自体が多々見られるようになった。
tatsuki
parents: 0
diff changeset
15 そのため、データベースの処理性能はそのままサービスの質につながっている重要な項目となっている。
0
8bb94503a263 create table of contents and MindMap
tatsuki
parents:
diff changeset
16
1
tatsuki
parents: 0
diff changeset
17 データベースの処理性能を向上させる代表的な方法として、ハードウェア的に高性能なマシンを用意することで処理性能を
tatsuki
parents: 0
diff changeset
18 上げるスケールアップと、汎用的なマシンをいくつも用意し、処理を分散させることで処理性能を上げるスケールアウトの
tatsuki
parents: 0
diff changeset
19 2つがある。
tatsuki
parents: 0
diff changeset
20 単純に処理能力を上げたいのなら、スケールアップは有効ではあるが、単一のマシンを高性能にするのにも限界があり、い
tatsuki
parents: 0
diff changeset
21 ずれはそのマシンの限界を超える負荷がかかる可能性もある。
tatsuki
parents: 0
diff changeset
22 それに対しスケールアウトは、処理が重くなるに連れて汎用的なマシンを順次追加していくことで性能を上げるため、ハー
tatsuki
parents: 0
diff changeset
23 ドウェア的に高性能なマシンを要求せずにすみ、柔軟な対応を取ることが出来るため、データベースの性能を上げる方法と
tatsuki
parents: 0
diff changeset
24 してはスケールアウトが求められている。
tatsuki
parents: 0
diff changeset
25 本研究で扱うスケーラビリティとはスケールアウトのことをさす。
tatsuki
parents: 0
diff changeset
26
6
tatsuki
parents: 3
diff changeset
27 データを分散させて扱う分散データシステムにおいて、データの整合性(一貫性)、常にアクセスが可能であること(可用性)、データを分散させやすいかどうか(分割耐性)、この3つを同時に保証することは出来ない。
tatsuki
parents: 3
diff changeset
28 この定義をCAP定理と言う。
tatsuki
parents: 3
diff changeset
29
tatsuki
parents: 3
diff changeset
30 今、最も使われているデータベースであるRDBは、一貫性と可用性を重視している。
tatsuki
parents: 3
diff changeset
31 そのため、データを分割し、複数のノードにデータを分散させると、整合性のチェックやデータの統合処理性能が低下する等の問題があり、データを分割し、マシンを追加して負荷を分散することが困難である。
1
tatsuki
parents: 0
diff changeset
32
tatsuki
parents: 0
diff changeset
33 当研究室では、これらの問題を解決した、煩雑なデータ設計が必要ないスケーラビリティのあるデータベースを目指して、非破壊的木構造データベースJungleを開発している。
6
tatsuki
parents: 3
diff changeset
34 Jungleは、全体の整合性ではなく、木に閉じた局所的な整合性を保証している。
tatsuki
parents: 3
diff changeset
35 また、整合性のある木同士をマージすることで新しい整合性のある木をす繰り出すことも可能であるため、データの伝搬も容易である。
tatsuki
parents: 3
diff changeset
36 そのため、Jungleは可用性と分割耐性を重視しつつ、整合性も持つ。
tatsuki
parents: 3
diff changeset
37
1
tatsuki
parents: 0
diff changeset
38 %しかし、Jungleはまだ、データベースとして必要な検索等の機能が実装されておらず、実際に業務等で使用されるアプリケーションに組み込み、使用できる状態ではなかった。
6
tatsuki
parents: 3
diff changeset
39 Jungleは、これまでの開発によって木構造を格納する機能をもっている。
tatsuki
parents: 3
diff changeset
40 そこで、当研究では、共同研究を行っているSymphonies社が開発している組織の中の許認可を管理するアプリケーションmaTrixにJungleを組み込み、実装すべきAPIの洗い出しを行い、その後実用DBとしての性能があるか実証実験を行う。