データベース実践講義を読んで考えた事

 RDBMSには詳しくないし、将来的にもそれほど詳しくなるつもりはないのだけれど、情報関係の業界で食べていくためにはRDBMSの知識はある程度身につけておいた方がいい、というかつけておかないとまずい。と言うわけで、会社で社長におすすめされて、データベース実践講義(AA) を読んだ。

  • リレーショナルモデルはいいよ。
  • 今のSQLはリレーショナルモデルとはかけ離れている点がいくつかある。
  • モデルと実装は違う。モデルは概念であって、物理的に何をどうメモリ上に配置するか、どういうインデックス構造をつけるか、というのは実装である。今のRDBMSはモデルと実装がかなり密にくっついているのが良くない。

 というようなことを読み取った。
 で、本を読みながら、頭の中では、ウェブアプリとかだと、複雑なクエリで望みの統計データを一発で効率よく出力する、みたいなところよりも、データの安全性をどうやって保証するか、とか、どうやってスケーラブルなシステムを実現するか、みたいなトランザクション処理が一番プログラマを困らせるところで、そういう意味でBigTableとかhbaseみたいなNoSQLと呼ばれてるような新しいデータベース(データストア?)が出てきたのは必然の流れなのかな、みたいな事を考えていた。
 統計量なんかに関しても、例えば機械学習を使った異常検知システムを組みたい、というような場合を考えると、データベースからクエリひとつで統計データを取り出すというよりは、専用のプログラムにデータを舐めさせて統計データを出すなり学習したモデルを出力するなり、という時代になりつつあるのかな、という気がする。
 そうなると、リレーショナルモデルを使ったデータベースに情報を保存する必然性がどこにあるのか、というところを考えたくなってくる。現在はトランザクション処理をサポートする一番使いやすいデータベースがRDBMSなのでRDBMSを使うのは必然だが、将来的にリレーショナルモデルに基づかないデータベースが主流になるのか。もしくは、リレーショナルモデルというのはやはり素晴らしく、最終的には全てのデータベースはRDBMSに近づいていくのか。
 今のところ特に答えは持ってないので、次はJim Grayのトランザクション処理もいつか読んでみようと思った。