NoSQLのエッセンス:多言語永続領域の世界への招待

  

"NoSQL Distilled: A brief guide to the emerging world of polyglot persistence" 概略訳 *1

本書は、出版前書籍のラフカットです。
 
Martin Fowlerの世界的なベストセラーである「UMLモデリングのエッセンス」をモデルにして、NoSQLのエッセンスは、NoSQLデータベースがどのようにして動作しているかという基礎知識を提供します。これによって、Web上のデータを漁ることなく、正しいデータストアを選択することができるようになります。SadalageとFowlerが熟慮してコンパクトにまとめているので、概要を素早く習得することが出来ます。全ての質問に完全に答えることはできませんが、考慮しなければならない選択肢の幅を狭め、より詳細を理解するための質問を知る手助けをしてくれます。

本書は、理解を深めるためのパートと、実装のパートの二つから構成されます。理解を深めるパートでは、NoSQLデータベースの意味を知るために理解しておくべき基本的な概念を考察します。

  • NoSQLのデータモデル。特に、集約の役割とスキーマレスモデルの重要性
  • 分散の選択肢と一貫性保持の重要性(CAP定理を含む)
  • Map-Reduceの働きと、このタイプのデータストレージにどのようにして適合するか

その後、実装のパートでは、いくつかの代表的なデータベースを考察します。例としてRiak、MongoDB、Cassandra、Neo4jなどのNoSQLデータベースがどのように機能するかを調べます。また、このパートでは、現実的なデータベースを使用するための基本的な技術である、スキーママイグレーションを伴う発展的な設計を考察します。最後に、異なったデータストレージ技術は、異なった種類のアクセスを必要とするという「多言語永続化の時代」への招待で、現実的なNoSQLの要点がどのようなものかで締めくくります。

参考データ

  • NoSQL Distilled: A brief guide to the emerging world of polyglot persistence
      • By: Pramod Sadalage; Martin Fowler
      •  Publisher: Addison-Wesley Professional
      •  Last Updated: 25-MAY-2012
      •  Pub. Date: August 17, 2012 (Estimated)
      •  Print ISBN-10: 0-321-82662-0
      •  Print ISBN-13: 978-0-321-82662-6
      •  Pages in Print Edition: 256

コメント

データが加速的に増加してる現実に対処するために、非リレーショナルデータベースの技術が急速に立ち上がっているように感じます。マーチン・ファウラーの本ということで、まずは、読んでみる価値があると感じていますが、なかなか奥が深そうです。副題になっている「Polyglot Persistence」という言葉を初めて見たのですが、どうも、いろいろな種類のデータベースを同時に組み合わせて使うという感覚の言葉のようです。もとになっているのは、「Polyglot Programming」という言葉で、複数のプログラミング言語をミックスして使用するという意味だと、マーチンファウラーのブログに記載されていました。このような概念が必要になるのは、SQLでアクセスされるリレーショナルデーターベースだけでは不十分で、一つのシステムの中で、データの特性に応じて複数のデータベースを使い分ける必要があるということのようです。
ちなみに、このタイトルを見ると、「UMLモデリングのエッセンス」を読んだときのことを思い出します。まだ、原著を読むことにまったくなれておらず、単語をひとつひとつ調べながら、長い時間をかけて読んでいました。あのころに比べると少しは成長したような気がしますが、まだまだ、先は長いです。

*1:このOverviewは、Safari Books Onlineの対応する書籍のOverviewを概略で翻訳したものです。省略や意訳もありますので、詳細はオリジナルページを参照してください