Mercurial > hg > Papers > 2017 > tatsuki-master
changeset 4:2d92c3e9fd31
commit
author | tatsuki |
---|---|
date | Mon, 30 Jan 2017 02:01:07 +0900 |
parents | 6f9f9669b264 |
children | 328b6e52db10 |
files | datebases.tex introduciton.tex |
diffstat | 2 files changed, 18 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/datebases.tex Sun Jan 29 11:57:18 2017 +0900 +++ b/datebases.tex Mon Jan 30 02:01:07 2017 +0900 @@ -1,7 +1,7 @@ \chapter{既存のデータベース} 本章では, まずデータベースの種類であるRelational DatabaseとNoSQL について述べる。 -次に、データベースに値を格納する際に、発生する問題であるインピータンスミスマッチについて触れる。 -最後に既存のデータベースである、○○○について述べる。 +次に、データベースに値を格納する際に、発生する問題であるインピータンスミスマッチについて触れ、 +最後に既存のデータベースの例として、PostgreSql・MongoDB・Cassandraについて述べる。 \section{Relational Database} Relational Database(RDB)は、列と行からなる2次元のテーブルにより実装されるデータベースである。 @@ -29,4 +29,19 @@ 並列処理を含むプログラミングからの要請とのミスマッチが残っている。 +\section{MongoDB} +MongoDB は2009年に公開された NoSQL のデータベースである。 +JSON フォーマットのドキュメントデータベースであり、スキーマが無い +リレーショナルテーブルに例えられる。 +スキーマが無いため、事前にデータの定義を行う必要がなく、同じコレクションであっても、他のドキュメントが持っていないフィルドやデータ型をドキュメントに含めることができる。 +そのためリレーショナルデータベースに比べてデータの追加・削除が行いやすい。 + +\section{Cassandra} +Cassandraは2008年7月にFacebookによってオープンソースとして公開された Key-Value なデータベースである。 +データは4次元か、5次元の連想配列のようになっている。 +4次元の場合、{\tt [KeySpace][ColumnFamily][Key][Column]}・5次元の場合{\tt [KeySpace][ColumnFamily][Key][SuperColumn][Column]} の形で値にアクセスする。 +例えば、SuperColumnに対して特定のKeyでアクセスを行うと、KeyとペアのColumnが返ってくる。 +このように、Cassandraはネストしているデータに対して、Keyを使ってアクセスを行う。 +また、Column等は、予めデータの型を定義する必要がないため、柔軟にいろいろなデータを格納できる。 +Cassandraは、スキーマレスな NoSQL データベースとなる。
--- a/introduciton.tex Sun Jan 29 11:57:18 2017 +0900 +++ b/introduciton.tex Mon Jan 30 02:01:07 2017 +0900 @@ -19,7 +19,7 @@ \section{本論文の構成} -本論文では、初めに○ ○ ○ について記述する。 +本論文では、初めに既存のデータベースとインピータンスミスマッチについて記述する。 第 3 章では、Jungleの基本的な機能・APIについて記述する。 第 4 章では、Indexの実装に使用する非破壊 TreeMap の実装について記述する。 第 5 章では、Indexの差分 Update の実装について記述する。