2013年9月4日水曜日

Pramod J. Sadalage, Martin Fowler "NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence"

いわゆるNoSQLに分類されるDBMSに関する概説書で、現時点ではこれを越えるものはないと思われる。英語圏では相当読まれているようだが、今からでもこれは日本語訳するべきであろう。日本語でもNoSQLの概説書はなくはないが、わたしの知る限り、どれもこれに比べればパンフレット程度だろう。すべてがリレーショナルDB、特にOracleとの対比で語られるので、予備知識としてリレーショナルDBに通じていることが必要だ・・・が、この本を読もうかと言う人がSQLを書けないということはあり得ないだろう。

最初の前書きが長い。さらに、第一部のNoSQLに関する一般論(AggregateとかMap&ReduceとかCAP定理とか)が些か理論的というか衒学的なのが気に障る人もいるようだ。しかし、元来リレーショナルDBからして理屈に基づいて理屈通りに発明されたものであるから、これくらいで文句を言ってはいけない。一般理論の正しい理解によって、色々なNoSQLの特性を理解することができる。第二部は各種NoSQLについて具体的な実装について概観。実例としてはKey-ValueDBはRiak、DocumentDBはMongoDB、Column-FamilyはCassandra、GraphはNeo4J。それぞれ、特にConsistencyとAvailabilityのトレードオフや、実際の操作上の特徴、フォールトトレランスの仕組みなどが、解説される。最後にマイグレーションとか実際の使用に関するアドバイスなどのリアルな話になるが、何分にもまだ新奇な技術だし、実例も少ないから憶測が多いのはやむをえない。

現時点で業務システムにNoSQLを使おうなどという組織はまだ少ないと思われるが、データベースを扱っている技術者なら気になるところだし、概要くらい知っておかないとマズいということもあるだろう。MongoDBとかCassandraとか有名なところは単行書でかなり詳細なマニュアル本も出ているが、どの実装を使うかを決める前に、NoSQLの色々な種類を知っていなければ話にならない。かなり上流工程にいる人にも、必読書としてお勧めする。明日からの業務に役立つかどうかは不明だが、世間話には役立つし、いずれリアルに役立つ日が来るかもしれない。知識を仕入れておく良いタイミングだろう。

The best book about NoSQL DBs ever. Maybe looks like a little pedantic to some, but basic theoretical understandings are essential for all DBMSs, as is the case with RDBMSs. It is unclear if this book direct you to learn more or discourage you from it, but at least probably enrich your water-cooler talks.

Addison-Wesley Professional; 1版 (2012/8/17)
ISBN-13: 978-0321826626

0 件のコメント:

コメントを投稿