changeset 6:b0181f185b51

edit
author suika6039@shizuku.local
date Thu, 26 Aug 2010 12:53:30 +0900
parents 35a8ba98fb5d
children dc7dcabc31b5
files shoshi-paper.aux shoshi-paper.pdf shoshi-paper.tex
diffstat 3 files changed, 8 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/shoshi-paper.aux	Tue Aug 24 15:58:55 2010 +0900
+++ b/shoshi-paper.aux	Thu Aug 26 12:53:30 2010 +0900
@@ -1,10 +1,13 @@
 \relax 
 \citation{YCSB}
+\citation{BIGTABLE}
 \@writefile{toc}{\contentsline {section}{\numberline {1}はじめに}{1}}
 \@writefile{toc}{\contentsline {section}{\numberline {2}先行研究}{1}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {2.\,1}Yahoo! Cloud Serving Benchmark}{1}}
 \@writefile{toc}{\contentsline {section}{\numberline {3}分散データベース Cassandra}{1}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {3.\,1}ConsictencyLevel}{1}}
+\citation{SEDA1}
+\citation{SEDA2}
 \@writefile{toc}{\contentsline {subsection}{\numberline {3.\,2}コンシステント・ハッシュ}{2}}
 \newlabel{fig:chash}{{1}{2}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {3.\,3}SEDA}{2}}
Binary file shoshi-paper.pdf has changed
--- a/shoshi-paper.tex	Tue Aug 24 15:58:55 2010 +0900
+++ b/shoshi-paper.tex	Thu Aug 26 12:53:30 2010 +0900
@@ -70,13 +70,12 @@
 \subsection{Yahoo! Cloud Serving Benchmark}
 数のデータベース(Sherpa,BitTable,Azure)などがあるが, 実際にはどのデータベースを使用すればよいか確かではない. この研究では, 異なるデータベースの性能を比較する共通なフレームワークを開発する.\cite{YCSB}
 \section{分散データベース Cassandra}
-Cassandraは, FaceBookが自社のために開発した分散Key-Valueストアデータベースである. 2008年にオープンソースとして公開され, 2009年にApache Incubatorのプロジェクトとなった.
+Cassandraは, FaceBookが自社のために開発した分散Key-Valueストアデータベースであり,DynamoとBigTable\cite{BIGTABLE}を合わせた特徴を持っている. 2008年にオープンソースとして公開され, 2009年にApache Incubatorのプロジェクトとなった.
 2010年にはApacheのトップレベルプロジェクトとなり, 現在でも頻繁にバージョンアップが行われている. 
 \subsection{ConsictencyLevel}
 Cassandraには, ConsistencyLevelが用意されている. これは, 整合性と応答速度どちらを取るか選ぶためのパラメータであり, リクエストごとに設定することが出来る. 
 また, ReadとWriteでConsistencyLevelの意味は異なる. 
 このConsistencyLevelを適用するノードの台数をReplicationFactorといい, Cassandraの設定ファイルで設定することが出来る. 
-
 {\gt Read}
 \begin{enumerate}
 \item{ConsistencyLevel::ZERO}\\
@@ -118,12 +117,9 @@
 \label{fig:chash}
 \end{figure}
 \subsection{SEDA}
-SEDA(Staged Event-Driven Architecture)は, Cassandraで使用されているアーキテクチャである. 処理を複数のステージに分解しタスクキューとスレッドプールを用意し処理を行う. 処理の様子を図\ref{fig:seda}に示す. 
+SEDA(Staged Event-Driven Architecture)は, Cassandraで使用されているアーキテクチャである\cite{SEDA1}\cite{SEDA2}. 処理を複数のステージに分解しタスクキューとスレッドプールを用意し処理を行う. 処理の様子を図\ref{fig:seda}に示す. 
 タスクが各ステージのタスクキューに入ると, スレッドプールにどれかのスレッドがタスクキューの中からタスクを取り出し処理を行う. 処理が終わるとそのタスクを次のステージのタスクキューに入れる. 
-
 このアーキテクチャはマルチスレッドベースなためマルチコアなPCと多数のタスクがある状況で性能を発揮することができる. しかし, あまりにもスレッドプールやタスクが多すぎると, コンテキストに切り替えに時間がかかり性能は低下する. 
-%           ^^^ 何に載っていたか引用する
-
 \begin{figure}[h]
 \begin{center}
 \includegraphics{./fig/SEDA.pdf}
@@ -132,7 +128,7 @@
 \label{fig:seda}
 \end{figure}
 \subsection{Cassandra上でのステージの構成}
-Cassandraは主に以下のステージにより構成されており, concurrent. StageManagerを参照すると見つけることが出来る. 
+Cassandraは主に以下のステージにより構成されており, concurrent::StageManagerを参照すると見つけることが出来る. 
 \begin{itemize}
 \item{READ STAGE}
 \item{MUTATION STAGE}
@@ -146,7 +142,8 @@
 実際にはもっと多数のステージが存在し, この他にもクライアントの接続を待つスレッドプールやMemTableのFlushを行うスレッドプールがあり, 全部で40個程度のスレッドが動作している. 
 \subsection{YukiWiki on Cassandra}
 今回の検証のため, CMSのであるWikiクローンのYukiWikiをCassandra上で動作するように改造した.YukiWikiは文書の管理にTIEHASHを使用しており,Cassandra用のTIEHASHを作成することで簡単に実装することが出来る.\\
-Cassandra上で動作するため,このWikiで複数のサーバー上でデータを共有することが出来るようになった.
+Cassandra上で動作するため,このWikiで複数のサーバー上でデータを共有することが出来るようになった.\\
+ソースコードは以下のURLで参照することが出来る.
 \section{実験}
 本研究では, Cassandraのスケーラビリティの検証の為にベンチマークテストを行う. 実験環境は以下のとおりである. 
 \subsection{実験環境}