annotate paper/introduciton.tex @ 92:62d39472d5d4

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