B木、B+木の紹介で教科書に記載されている一般的な話はほとんど紹介できたので、 今日は最近のデータベースにからむ技術動向を紹介。
B木とファイルシステム
前回のB木のネタの応用ネタということで、最近のファイルシステムにB,B+が採用されいている 事例を紹介。NTFS(Windows),ReiserFS(unix),B*木を使ったHFS(Mac OS X), データ検索機能のついたWinFSなどの事例を紹介。
データベースエンジンの動向
データベースシステムには、関係データベース、XMデータベース、オブジェクトデータベースがある。(追記)
関係データベースでは、データベースの構成が変更になると、移行処理が大変。 柔軟なデータベースの構造に対応できるようにしたい。
⇒XMLデータベース。XMLを扱うための機能を持つデータベース。 XMLのツリー構造をそのままデータ構造として持つ物。
構造化された複雑なデータを扱う場合には、オブジェクト指向のプログラム言語が利用される。 しかしデータベースは表を元にした表現なので、複雑なデータ構成だと、 それに応じたSQLを発行しないといけない。 このため、プログラマーはオブジェクト指向とRDBの表の考え方の違いを考えながら プログラムを作る必要がある。
⇒オブジェクトデータベース(オブジェクト指向データベース)、データベース自体がオブジェクト指向
データベースを扱うからには情報とシステムも巨大
データベースでは、巨大な個人情報を扱うのがあたりまえ。 SQLインジェクションといったセキュリティ問題をきちんと理解しておかないと、 金銭的な被害も大きくなることを十分意識すべき。
巨大なシステムは、止める事ができない。 しかし、ソフトを作ったり耐故障性能の高いシステムを、 小さい案件で個別に組むのは、手間やコストがかかる。 サーバを借りて動かすことが多い。
サービスの形態で、SaaS(Software as a Service),PaaS(Platform as a Service), IaaS(Infrastructure as a Service)等がある。 最近は、貸し出すサーバが仮想化されたサーバ群で動かし、利用者がどこのサーバで動いているのか意識せずに利用できるようになってきた。⇒クラウドシステム。
クラウドを用いたPaaSでは、Google App Engine , Windows Azuru などが注目されている。 クラウドを用いたIaaSでは、Amazon EC2 あたりが注目されている。