comparison paper/introduciton.tex @ 66:493c5c90ca55

Writed introduction.tx
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Sat, 01 Feb 2014 20:25:42 +0900
parents 27d920592c13
children 2fa14ca42ca6
comparison
equal deleted inserted replaced
65:27d920592c13 66:493c5c90ca55
1 \chapter{序論} 1 \chapter{序論}
2 \pagenumbering{arabic} 2 \pagenumbering{arabic}
3 3
4 ウェブサービスにおいてデータベースは必須となってきている.
5 ウェブサービスの規模に比例してデータベースへの負荷も大きなものとなってきており, データベースの
6 処理能力の高さはそのままウェブサービスの質にも繋がってくる.
7 データベースの処理能力をスケールさせる方法としてスケールアップ(垂直スケール)と
8 スケールアウト(水平スケール)の考えがある.
9 スケールアップはハードウェア的に高価な単一のマシンを用意することで処理性能を上げることをさす.
10 スケールアウトは汎用的なマシンをいくつも用意し, 処理を分散させることで処理性能を上げることをさす.
11 単純に処理能力をあげたいのならば, スケールアップは有効である.
12 しかし, 単一のマシンを高性能にしても限界がある.
13 いずれはそのマシン単体が処理できない程負荷が増えるかもしれないし, ネットワーク帯域といったマシン
14 以外のハードウェアでボトルネックが発生するかもしれない.
15 これではコストがかかってしまう.
4 16
17 それに対しスケールアウトは, 処理が重くなるにつれて汎用的なマシンを順次追加していくことで
18 性能をあげていく.
19 1つのマシンに対して負荷が重くなるということを避けるため, ハードウェア的に高性能なマシンを要求
20 せずにすみ, 柔軟な対応をとることができる.
21 ウェブサービスでにおけるデータベースの性能をあげる方法としては, このスケールアウトが求められている.
22 それは使用されるデータベースにも言える.
5 23
6 スマートフォンやタブレット端末の普及により, 大量の通信を扱うウェブサービスが現れてきている. 24 本研究で扱うスケーラビリティはこのスケールアウトのことをさす.
7 それに伴い, サーバサイド側への負荷も増大しウェブサービスがダウンする事態が出てきている. 25 そういう意味では最も使われているデータベースであるRelational Databaseはスケーラビリティを持たない.
8 そのため, スケーラビリティはウェブサービスにおいて重要な性質の1つとなっている. 26 Relational Databaseにはないスケーラビリティを持つデータベースとしてNoSQLと呼ばれる
9 スケーラビリティとは, ある複数のノードから構成される分散ソフトウェアがあるとき, その分散ソフトウェアに対して単純にノード を追加するだけで性能を線形に上昇させることができる性質である. 27 データベースがある.
10 そこで, スケーラビリティを持たせるためにアーキテクチャの設計から考えることにした. 28 それらはConsistency HashinやShardingといった方法を使いデータを分散させスケーラビリティを得ている.
11 当研究室では非破壊的木構造を用いたデータベースである Jungle を開発している. 29 データベースにおいてデータを分散させスケーラビリティを上げることはもはや必須となっている.
12 非破壊的木構造とは, データの編集の際に一度木構造として保存したデータには変更せず, 新しく木構造を作成してデータの編集を行うことを言う.
13 30
14 本研究では, Jungle に分散データベースと永続性の実装を行った. 31 本論文では, スケーラビリティのあるデータベースを目指して木構造データベースJungleの研究を行った.
15 データ分散部分には当研究室で開発中である並列分散フレームワークである Alice を使用した. 32 Jungleに分散と永続性の実装を行った.
16 結果, 学科の並列環境を用いて複数のサーバノード間でデータの分散を行うことを確認した. 33 既存の分散データベースであるCassandraとの比較を行うため, 簡易掲示板を作成し並列環境から負荷をかけることで
34 性能比較を行った.
17 35
36 \newpage
18 37
19 \section{本論文の構成} 38 \section{本論文の構成}
20 本論文では, 始めに分散データベースについて既存の製品を例に上げながら述べる. 39 本論文では, 始めに分散データベースについて既存の製品を例に上げながら述べる.
21 RDBとNoSQLについて説明し, 既存のNoSQLデータベースの特徴について説明する. 40 RDBとNoSQLについて説明し, 既存のNoSQLデータベースの特徴について説明する.
22 第3章では, Jungleの持つデータ構造, 非破壊的木構造について説明し, Jungleにおけるデータ編集について述べる. 41 第3章では, Jungleの持つデータ構造, 非破壊的木構造について説明し, Jungleにおけるデータ編集について述べる.