annotate paper/introduciton.tex @ 116:d45899154815 default tip

Fixed
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Thu, 06 Mar 2014 00:48:26 +0900
parents eac8620cf9cd
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
90adb016389d First commit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 \chapter{序論}
93
4f360c7fbd49 Added arabic in introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 92
diff changeset
2 \pagenumbering{arabic}
115
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
3  ウェブサービスにとってデータベースは必須であり, ウェブサービスの規模
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
4 に比例してデータベースへの負荷も大きなものとなっている.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
5 そのため, データベースの処理能力の高さはそのままウェブサービスの質にも繋がってくる重要な
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
6 項目となっている.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
7 データベースの処理能力をスケールさせる方法としてスケールアップ(垂直スケール)と
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
8 スケールアウト(水平スケール)の考えがある.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
9 スケールアップはハードウェア的に高価な単一のマシンを用意することで処理性能を上げることをさす.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
10 スケールアウトは汎用的なマシンをいくつも用意し, 処理を分散させることで処理性能を上げることをさす.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
11 単純に処理能力をあげたいのならば, スケールアップは有効である.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
12 しかし, 単一のマシンを高性能にしても限界がある.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
13 いずれはそのマシン単体が処理できない程負荷が増えるかもしれないし, ネットワーク帯域といったマシン
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
14 以外のハードウェアでボトルネックが発生するかもしれない.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
15 なによりコストがかかってしまう.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
16
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
17 それに対しスケールアウトは, 処理が重くなるにつれて汎用的なマシンを順次追加していくことで
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
18 性能をあげていく.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
19 1つのマシンに対して負荷が重くなるということを避けるため, ハードウェア的に高性能なマシンを要求
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
20 せずにすみ, 柔軟な対応をとることができる.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
21 ウェブサービスに使用されるデータベースの性能をあげる方法としては, このスケールアウトが求められている.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
22
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
23 本研究で扱うスケーラビリティとはこのスケールアウトのことをさす.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
24 最も使われているデータベースであるRelational Databaseはマシンを追加して負荷を分散させることが容易ではない, そのためスケーラビリティを持つことが困難である.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
25 Relational Databaseにはないスケーラビリティを持つデータベースとしてNoSQLと呼ばれるデータベースがある.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
26 NoSQLデータベースはConsistency hashingやShardingといった方法を使いデータを分散させスケーラビリティを得ている.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
27 データベースにおいてスケールアウトによりスケーラビリティを上げることはもはや必須となっている.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
28
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
29 本研究では, スケーラビリティのあるデータベースを目指して木構造データベースJungleの提案する.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
30 すなわち, Jungleに分散と永続性の実装を行う.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
31 既存の分散データベースであるCassandraとの比較を行うため, 簡易掲示板を作成し並列環境から負荷をかけることで
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
32 性能比較を行った.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
33
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
34 本研究は JST/CREST 「実用化を目指した組み込みシステム用ディペンダブル・オペレーティングシステム」研究領域 (DEOSプロジェクト) として実施した.
eac8620cf9cd Fixed spell miss
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
35 本研究ではDEOSプロジェクト内の D-ADD (DEOS Agreement Description Database) を, 信頼性を持って構築ができる非破壊的木構造データベースの実装を示した.
116
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 115
diff changeset
36 DEOSプロジェクトはITシステムにおけるディペンダビリティを担保する技術体系をまとめ, 制度化, さらには事業化を目指している.
114
d116e59fc8a2 Fixed references
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 99
diff changeset
37 DEOSプロジェクトは2006年に独立行政法人科学技術機構(JST)のCRESTプログラムの1つとして始まったプロジェクトである.
92
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
38 DEOSプロジェクトは, 変化し続ける目的や環境の中でシステムを適切に対応させ, 継続的にユーザが求めるサービスを提供することができるシステムの構築法を
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
39 開発することを目標としている\cite{deos2013}.
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
40 DEOSプロジェクトではそれらの技術体系を「オープンシステムディペンダビリティ」として定義し, それをDEOSプロセスとしてまとめた(図\ref{fig:deos_proccess}).
91
edc3773f15a7 Modified abstarct
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 73
diff changeset
41
92
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
42 \begin{figure}[htpb]
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
43 \begin{center}
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
44 \includegraphics[scale=0.5]{figures/deos_proccess.pdf}
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
45 \caption{DEOS プロセス}
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
46 \label{fig:deos_proccess}
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
47 \end{center}
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
48 \end{figure}
91
edc3773f15a7 Modified abstarct
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 73
diff changeset
49
92
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
50 DEOSプロセスには変化対応サイクルと障害対応サイクルの2つのサイクルがある.
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
51 変化対応サイクルは上流プロセスにおける対象システムのオープンシステムディペンダビリティを担保するためのプロセスである.
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
52 障害対応サイクルは対象システムの運用時に必要とされるプロセスである.
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
53 DEOSプロセスは企画や設計という上流からシステム運用までの対象システムのライフサイクル全体に係わる.
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
54 対象システムの運用は, ステークホルダからの対象システムに対する要求に関する
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
55 合意を始めとしたあらゆる議論に関する合意をベースに行われる.
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
56
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
57 DEOS プロセスを構成している各(サブ)プロセスからアクセスが行われるデータベースとして D-ADD(DEOS Agreement Description Database)がある\cite{d_add2013}.
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
58 %DEOS プロセスにおいて, 全てのデータを保持する D-ADD(DEOS Agreement Description Database) と呼ばれるデータベースがある.
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
59 D-ADD はステークホルダ合意と対象システムに存在するプログラム・コード, 及び対象システムの運用状態との間の一貫性を常に保つための機構を提供する.
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
60 このようなデータベースは様々なデータを柔軟に格納する必要があり, データベーススキーマの頻繁な変化に対応する必要がある.
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
61 %そのためには木構造を直接使えるデータベースが必須である.
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
62 これらのデータベースは, ウェブからアクセスされることも想定される.
62d39472d5d4 Modified introduction.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
63 そのため, DEOSはウェブサービスとして捉えることができる.
91
edc3773f15a7 Modified abstarct
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 73
diff changeset
64
65
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 62
diff changeset
65
66
493c5c90ca55 Writed introduction.tx
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 65
diff changeset
66
493c5c90ca55 Writed introduction.tx
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 65
diff changeset
67 \newpage
0
90adb016389d First commit
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
68
50
faa708c2958b Added log
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 38
diff changeset
69 \section{本論文の構成}
99
be9d52d3c424 Fixed chapter1.tex
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 93
diff changeset
70 本論文では, 初めに分散データベースについて既存の製品を例に挙げながら述べる.
62
2cb5ac9282b0 writed description of ods.put
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 57
diff changeset
71 RDBとNoSQLについて説明し, 既存のNoSQLデータベースの特徴について説明する.
57
39c2180b5719 Added log
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 50
diff changeset
72 第3章では, Jungleの持つデータ構造, 非破壊的木構造について説明し, Jungleにおけるデータ編集について述べる.
39c2180b5719 Added log
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 50
diff changeset
73 第4章では, 非破壊的木構造による Jungle の基本設計と, 分散バージョン管理システムを参考にした分散設計
30
92bc4faa9a37 Added benchmark images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
74 について述べる.
57
39c2180b5719 Added log
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 50
diff changeset
75 第5章では, 第4章で行った設計を元にJungleへ行った分散実装について述べる.
39c2180b5719 Added log
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 50
diff changeset
76 第6章では, 第5章で実装した分散データベースJungleの評価を行うため, 簡易掲示板プログラムを実装する.
39c2180b5719 Added log
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 50
diff changeset
77 この掲示板プログラムはJungleとCassanraそれぞれのデータベースを使うものを用意した.
30
92bc4faa9a37 Added benchmark images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
78 学科の並列環境上で開発した掲示板プログラムを複数のノードで実行させ, 負荷をかけることで Jungle と Cassandra の
92bc4faa9a37 Added benchmark images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
79 性能比較を行う.
68
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 67
diff changeset
80 第6章では, 本研究におけるまとめと今後の課題について述べる.