view introduction.tex @ 42:48818d113524

fix
author tatsuki
date Thu, 01 Dec 2016 20:32:40 +0900
parents eea008c85b3b
children
line wrap: on
line source

\section{Jungle DBによるインピーダンスミスマッチの解決}
プログラム中のデータ構造とRDBの表構造には大きなギャップがある。これはインピーダンスミスマッチと呼ばれている。
例えばRPGゲーム中のユーザが持つアイテムという単純なものでも、RDBではユーザとアイテムの組をキーとする巨大な表として管理することになる。
プログラム中では、ユーザが持つアイテムリストという簡単な構造を持つが、データのネスト構造を許さない第一正規形を要求するRDBとは相容れない。
レコードをプログラム中のオブジェクトに対応させるOR Mapperという技術では、これを本質的には解決することはできない。
そこで、 MySQLやPosgreSQLなどは、Jsonなどの不定形のデータ構造を格納するように機能拡張されるようになってきた。
しかし、不定形の構造の変更をトランザクションとして、どのように処理するかはJsonの一括変更という形で処理されてしまっており、
並列処理が中心となってきている今のアプリケーションには向いているとは言えない。つまり、この拡張はRDBよりの拡張であり、
並列処理を含むプログラミングからの要請とのミスマッチが残っている。

当研究室では、これらの問題を解決した煩雑なデータ設計が必要のない Jungleデータベース\cite{kono11e}を提案している。
本論文では、実際にJungleを用いたアプリケーションをいくつか構築することで、Jungleに実用データベースとしての表現力、性能があるかを確かめるとともに、どのような木構造がアプリケーションに向いているかを調べる。
その際の設計指針はRDBとは異なり複雑である。これはプログラムのデータ構造そのものの設計に相当する。
Jungleは、その意味でプログラミングの視点から見たデータベースになっている。