7つのデータベース 7つの世界

翻訳者の角さんより「7つのデータベース 7つの世界」の献本を頂いたので、順に読んでいきたい。まずエントリーだけ用意した。

7つのデータベース 7つの世界

7つのデータベース 7つの世界

データベースといえばSQLを思い浮かべる人もまだ多いかもしれないが、2000年代以降はWebアプリケーションを中心に、より単純な機構で高速に動くキーバリューストア(KVS)がメジャーになっていった。前世紀は勘定系などで大型汎用機のCOBOLから徐々にオープン系と呼ばれるRDBMS(SQL)への転換が進み、さらにオープンソースの流れの中でPostgreSQLが生まれたのが90年代の終わりの方だったと思う。

その後、後発のMySQLがヒットして、デファクトになった...くらいのところでOracleに買収されて、オープンソースのガバナンスのあり方について話すようになった(気がする)。パフォーマンス改善のために分散メモリキャッシュmemcachedがでてきたり、ここ数年は CouchDB, MongoDB, Redis など新しいタイプのDBが生まれ、実際に事例として運用されていて、非常に変化が早い。データベースはプログラミング言語の外側にあるので、JavaであろうがRubyであろうが、どのデータベースとも付き合う可能性が、今後出てくると思う。

個人的にはあまりデータベースは詳しくない。最初に触ったのはPerl4のtie関数で標準だったキーバリューストアのNDBMだ。その後、PostgreSQL が出てきた頃に隣に座っていた人が触り始めて、なんだか面倒くさいものだな、と思った記憶がある。Postgres95がPostgreSQLに名前変わったんだなんて話は彼から教えてもらったが、さして自分は触らなかった。その後、仕事でOracleやMicrosoftSQLServerを多少いじったが、構築とか多少の設計の経験ぐらいで、あまり複雑なことはしなかった。本番で運用していたのでいざというときのためにパフォーマンスやバックアップ、セキュリティについては多少イベントなどでセッションを聞きにいった。2008年くらいにCouchDBについては読書会に参加できたので、結果整合性(本書の付録Bに説明がある)に興味がありすこし勉強した。

ということでかなり素人なので、この本には期待している。自分語りが長くてすみません。

訳者あとがきにこんなことが書いてある。

興味はあるがどこから手をつけていいか分からないという人は、本書を頭から一章ずつ実際に手を動かしながら読んでみるといいだろう。地道な作業かもしれないが、手を動かすことで新しい発見があると思う。過去に利用したことがあるデータベースは読み飛ばしても構わない。

時間のあるところで、一章ずつこなしていければとおもう。

イントロダクション

我々が知りたいことは何か?そして、近年のデータベースの分類について書かれている。
RDBMSはあんましなくて(PostgreSQLだけ)、キーバリューストア、列指向、ドキュメント指向、グラフデータベースについて収録されている。

優れた大工は、腰道具に何があるかを把握しているものだ。数多くの選択肢に精通していなければ、熟練者になれるはずがない。

第2章 PostgreSQL

(まだ読んでいません)

第3章 Riak

(まだ読んでいません)

第4章 HBase

(まだ読んでいません)

第5章 MongoDB

(まだ読んでいません)

第6章 CouchDB

(まだ読んでいません)

第7章 Neo4j

(まだ読んでいません)

第8章 Redis

(まだ読んでいません)