view paper/final_main/chapter1.tex @ 32:39ac37db0018

fix
author suruga
date Tue, 20 Feb 2018 20:59:11 +0900
parents 18ccb3cef737
children
line wrap: on
line source

 \chapter{はじめに}
\label{chap:introduction}
\pagenumbering{arabic}

% 序論の目安としては1枚半ぐらい.
\section{研究背景}
天気予報やニュース、エンタメや生活に必要なありとあらゆる情報は、インターネット上で手軽に閲覧できるようになり、また、SNSにより情報の発信も気軽にできるようになった。
その利便性から、パソコンやスマートフォン、タブレット端末等のメディアがますます普及し、Webサービスの利用者は増大する一方で、サーバ側への負荷は増加している。
Webサービスの負荷を減らすために、データベースには処理能力の高さ、すなわちスケーラビリティがますます求められてきている。
データベースの処理能力を向上させるために、スケールアウトとスケールアップの方法が考えられる。
スケールアップとは、ハードウェア的に高性能なマシンを用意することでシステムの処理能力を上げることを指す。スケールアウトとは、汎用的なマシンを複数用意し、処理を分散させることでシステムの処理能力を上げることを指す。
単純に処理能力を上げる方法として、スケールアップは有効であるが、高性能のマシンには限界がある。コストはもちろん、そのマシン単体では処理できない程負荷がかかる可能性がある。
それに対して、スケールアウトは、処理が重くなるたびに汎用的なマシンを順次追加していくことで性能を上げるため、ハードウェア的に高性能なマシンを用意せずにすみ、また柔軟な対応を取ることができる。よって、データベースの性能を向上させる方法として、このスケールアウトが求められている。本研究で扱うスケーラビリティとはスケールアウトのことを指す。

分散データシステムは、データの整合性 (一貫性)、常にアクセスが可能であること (可用性)、データを分散させやすいかどうか (分割耐性)、この 3 つを同時に保証するこ とは出来ない。これは CAP 定理と呼ばれる。
一貫性と可用性を重視しているのが、現在最も使われているデータベースであるRelational Database(RDB)である。そのため、データを分割し、複数のノードにデータを分散させることが難しく、結果スケールアウトが困難になってしまうという問題がある。分断耐性を必要とする場合は、NoSQLデータベースを選択する。

 当研究室では、これらの問題を解決した、煩雑なデータ設計が必要ないスケーラビリ ティのあるデータベースを目指して、非破壊的木構造データベース Jungle[2] を開発している。JungleはNoSQLを元に開発されているため、分断耐性を持っている。また、Jungle は、全体の整合性ではなく、木ごとに閉じた局所的な整合性を保証している。 整合性のある木同士をマージすることで新しい整合性のある木をす繰り出すことも 可能であるため、データの伝搬も容易である。Jungle は、これまでの開発によって木構造を格納する機能をもっている。
\section{研究目的}
これまでの研究により、Jungleの性能は向上している。しかし、分散環境上での性能を測定する方法がこれまで確立されていなかった。過去に行われた分散環境上でのJungleの性能を検証する実験[5]では、性能測定時に使用する 簡易掲示板のフロントエンドにWebサーバーJettyが使用されていた為、測定結果はWebサーバーの性能に依存してしまっていた。
そこで、本研究では、新たにWebサーバーを取り除いた測定用プログラムを作成し、純粋なJava版Jungleの性能を測定する方法を提案する。


%\section{論文の構成}

%\section{Introduction}