2012/04/29

「NOSQLの基礎知識」発売されました

Geminiのメンバーが執筆した「NOSQLの基礎知識」アマゾンから配送されたり、書店の店頭に並びはじめました。執筆にいたるまでや、どんなシーンや読者を想定したのかを紹介したいと思います。



1.執筆にいたるまで
著者達は商用開発したNOSQLデータベースであるHibariをオープンソースとしてリリースしました。同時にオープンソースの仕組みを活用したビジネスを考えていました。そのため多くのお客様にNOSQLデータベースによるソリューションの提案も行っていました。

それは3年以上前のことです。NOSQLのコミュニティが立ち上がり、一部エンジニアの間では注目を集めていました。しかし、一般のお客様にはなかなか理解していただけません。技術に詳しいお客様との打ち合わせでも、「SQLと何が違うのか」という説明に多くの時間を費やし、それ以降、話が進まないということがほとんどでした。

とはいえ、非構造データは増え続け、それを速く処理する必要性が高まるというトレンドは間違いないと確信していました。それを従来のSQLデータベースで対応するのは簡単ではありません。そこでビッグデータというバズワードを使い、これからの社会で起きることを語りました。同時に「ビッグデータへの対応には、それに適した技術がある」ことを多くの人に理解してもらうためには、NOSQL (Not Only SQL)というムーブメント(運動)を応援することが最適だと考えました。

そして「NOSQL Summer」「NOSQL AFTERNOON」、「NOSQL/Cassandraハンズオントレーニング」をホストし、微力ながらも啓発に努めて来ました。これらの活動が出版社の目に留まり、NOSQLについてわかりやすく解説する書籍執筆の依頼をいただくことになりました。

この経緯は、「NOSQLの基礎知識」では「謝辞」として、お世話になった皆様への感謝とともにまとめてあります。本書を手に取る機会があれば、まずは目を通していただくと、執筆にいたる背景を理解していただけることでしょう。

2.本書が想定したシーン
このように筆者達がNOSQLデータベースという新しい技術をお客様に説明する際、3年以上に亘り苦労したことが背景があります。

NOSQLデータベースについては、HBase、Cassandra、CouchDB、MongoDBなど人気製品は、開発者向けの専門書が出版されています。雑誌、Web記事においても多くの解説記事を見つけることができます。ところが、それらは個々を深く理解するためのものです。その一方で、「そもそもNOSQLデータベースを使った方が良いか」、「どのNOSQLデータベースを選ぶと良いか」といった観点から、「やさしく、わかりやすい」解説が少ないというのが現状です。そういった情報が少ないがゆえに、著者達と同じく、NOSQLデータベースにかかわる人たちは、理解してもらうことに苦労しているのではないかとも想定していました。

それは、お客様への説明というシーンだけではなく、開発最前線のエンジニアが、その上司や予算を持つ事業部門への提案に苦労するといったシーンもあるでしょう。社内を説得するほうが大変ということも良く聞く話です。

NOSQLの概要や基礎知識が一般的なものとなれば、そんなシーンでの苦労もずいぶんと変わるはずです。執筆にあたっては、出版社とともに「できる限りわかりやすく」するために、かなり多くの時間を費やしました。そうして「2章から5章」の技術解説「6章」の選択基準/評価をまとめています。本書独自の分類整理も高い視点からの見方として役立つと思います。

3.想定した読者像
想定した読者像については「序章」で述べています。実際にコードを読み書きする開発者よりも、最前線のエンジニアが使う技術を「正確に理解したい」と考えている方々を想定しました。

Hadoop、Cassandra、MongoDB、・・・。「それは製品の名前」程度の理解で充分であれば、まずは「はじめに」「序章」「1章」に目を通してください。そこでは「ビッグデータとは何か」、「なぜNOSQLが語られ始めたのか」について説明しています。技術の仕組みには興味がないとか、詳細を理解する必要がないようであれば、各製品を評価している「6章」、NOSQLをビジネスという視点から説明する「7章」が良いでしょう。ただし、技術解説はひとつひとつ丁寧に読んでいただければ、必ず理解できると思います。ぜひとも多少まとまった時間を割り当ててみてください。

「NOSQLの基礎知識」は、こういったシーンや読者を想定しています。読み進める参考になれば幸いです。さいごになりますが、NOSQLデータベースを熟知しており基礎的な内容ではもの足りないエンジニアのため、「6章補論」にGeminiが実施した、Hibari、Cassandra、Riak、HBaseの性能試験結果を載せました。それぞれの特徴を良く表した結果です。当然ながらNOSQLデータベース選択とは「好み」も入る領域です。評価に対していろいろな意見もあるかもしれません。そういった議論にも本書が役立てばうれしいと考えています。