# HG changeset patch # User Nobuyasu Oshiro # Date 1391253942 -32400 # Node ID 493c5c90ca55feade3d51157e5a5485021488990 # Parent 27d920592c13f0a36baa6c27ae253730af98c2ea Writed introduction.tx diff -r 27d920592c13 -r 493c5c90ca55 paper/introduciton.tex --- a/paper/introduciton.tex Sat Feb 01 17:08:52 2014 +0900 +++ b/paper/introduciton.tex Sat Feb 01 20:25:42 2014 +0900 @@ -1,20 +1,39 @@ \chapter{序論} \pagenumbering{arabic} - +ウェブサービスにおいてデータベースは必須となってきている. +ウェブサービスの規模に比例してデータベースへの負荷も大きなものとなってきており, データベースの +処理能力の高さはそのままウェブサービスの質にも繋がってくる. +データベースの処理能力をスケールさせる方法としてスケールアップ(垂直スケール)と +スケールアウト(水平スケール)の考えがある. +スケールアップはハードウェア的に高価な単一のマシンを用意することで処理性能を上げることをさす. +スケールアウトは汎用的なマシンをいくつも用意し, 処理を分散させることで処理性能を上げることをさす. +単純に処理能力をあげたいのならば, スケールアップは有効である. +しかし, 単一のマシンを高性能にしても限界がある. +いずれはそのマシン単体が処理できない程負荷が増えるかもしれないし, ネットワーク帯域といったマシン +以外のハードウェアでボトルネックが発生するかもしれない. +これではコストがかかってしまう. -スマートフォンやタブレット端末の普及により, 大量の通信を扱うウェブサービスが現れてきている. -それに伴い, サーバサイド側への負荷も増大しウェブサービスがダウンする事態が出てきている. -そのため, スケーラビリティはウェブサービスにおいて重要な性質の1つとなっている. -スケーラビリティとは, ある複数のノードから構成される分散ソフトウェアがあるとき, その分散ソフトウェアに対して単純にノード を追加するだけで性能を線形に上昇させることができる性質である. -そこで, スケーラビリティを持たせるためにアーキテクチャの設計から考えることにした. -当研究室では非破壊的木構造を用いたデータベースである Jungle を開発している. -非破壊的木構造とは, データの編集の際に一度木構造として保存したデータには変更せず, 新しく木構造を作成してデータの編集を行うことを言う. +それに対しスケールアウトは, 処理が重くなるにつれて汎用的なマシンを順次追加していくことで +性能をあげていく. +1つのマシンに対して負荷が重くなるということを避けるため, ハードウェア的に高性能なマシンを要求 +せずにすみ, 柔軟な対応をとることができる. +ウェブサービスでにおけるデータベースの性能をあげる方法としては, このスケールアウトが求められている. +それは使用されるデータベースにも言える. -本研究では, Jungle に分散データベースと永続性の実装を行った. -データ分散部分には当研究室で開発中である並列分散フレームワークである Alice を使用した. -結果, 学科の並列環境を用いて複数のサーバノード間でデータの分散を行うことを確認した. +本研究で扱うスケーラビリティはこのスケールアウトのことをさす. +そういう意味では最も使われているデータベースであるRelational Databaseはスケーラビリティを持たない. +Relational Databaseにはないスケーラビリティを持つデータベースとしてNoSQLと呼ばれる +データベースがある. +それらはConsistency HashinやShardingといった方法を使いデータを分散させスケーラビリティを得ている. +データベースにおいてデータを分散させスケーラビリティを上げることはもはや必須となっている. +本論文では, スケーラビリティのあるデータベースを目指して木構造データベースJungleの研究を行った. +Jungleに分散と永続性の実装を行った. +既存の分散データベースであるCassandraとの比較を行うため, 簡易掲示板を作成し並列環境から負荷をかけることで +性能比較を行った. + +\newpage \section{本論文の構成} 本論文では, 始めに分散データベースについて既存の製品を例に上げながら述べる. diff -r 27d920592c13 -r 493c5c90ca55 paper/master_paper.pdf Binary file paper/master_paper.pdf has changed