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