最近NoSQL本4冊を読む機会があったので、各本の紹介をしてみます。
前知識
NoSQLとは、リレーショナルデータベース(RDB)以外のすべてをさします。そのため、NoSQLに含まれるデータベースには様々な種類があり、RDBではないとう事を除いて、すべてのデータベースにおいて特に共通する特徴があるわけではありません。また、分類方法にも複数の視点があり、それぞれのデータベースが複数の特徴を持っていたりします。
- データモデルでの分類
- キー・バリュー型
- カラム指向型(列指向型)
- ドキュメント指向型
- グラフ指向
- サーバの分散方法
- マスタ・スレーブ型
- P2P型
- 目的の違い
- 高速でデータの書き込み・読み出しをしたい
- RDBの用にあらかじめ静的に決められた列定義より柔軟な 構造が欲しい構造が欲しい
- ビッグーデータを扱いたい
- CAP定理
- Consistency(整合性)、Availability(可用性)、Paritions(分断耐性)の3特性のうち、どの2つにポジションを取っているか。
- 3特性のうち、同時に実現できるのは2つまでというのが、NoSQL界の常識らしいです。
NOSQLの基礎知識
全255ページ/発行日:2012/05/18/監修:太田洋
丁寧かつ簡素に書かれており、数時間でNoSQLが俯瞰できるようになります。NoSQLデータベースを知る最初の1冊として最適です。
構成
序章 ビッグデータの時代 第1章 NOSQLとは何か 第2章 NOSQLのデータモデル 第3章 アーキテクチャの基本概念と技術 第4章 HadoopはNOSQL? 第5章 主なデータベース製品 5.1 データモデルとアーキテクチャによる分類 5.2 マスタ型のキー・バリューストア ・Hibari 5.3 P2P型のキー・バリューストア ・Amazon Dynamo ・Voldemort ・Riak 5.4 オンメモリのイネーブラ型KVS ・Memcached ・Redis ・Scalaris 5.5 オンディスクのイネーブラ型KVS ・Tokyo Cabinet/Tyrant 5.6 カラム指向のマスタ型データストア ・Apache HBase(Bigtable) ・Hypertable 5.7 カラム指向のP2P型データストア ・Cassandra 5.8 グラフ型のデータストア ・Neo4j ・InfiniteGraph 5.9 ドキュメント指向型のデータストア ・CouchDB ・MongoDB まとめ 第6章 NOSQLの選択基準 第7章 NOSQLを使うビジネス
NoSQLデータベースファーストガイド
全231ページ/発行日:2011/05/01/著者:佐々木達也
キーバリュー型を知るのに最適です。本書ではキーバリュー型とドキュメント指向型に特化しています。カラム指向は大量のデータを更新・参照するのに有用としつつも本書の目的から外れるとして、対象外とされており、グラフ指向型については特に触れらていません。またカラム指向と同じく、ビッグデータを対象とするHadoopについても触れらていません。
構成
Capter1 NoSQLデータベースの基礎知識 Capter2 NoSQLデータベースの種類と特徴 2-1 memcached(揮発性key-valueストア) 2-2 Tokyo Tyrant(永続性key-valueストア) 2-3 Redis(揮発性/永続性key-valueストア) 2-4 MongoDB(ドキュメント指向データベース) Capter3 NoSQLデータベースを使ってみる 3-1 memcachedの具体的な利用例 3-2 Tokyo Tyrantの具体的な利用例 3-3 Redisの具体的な利用例 3-4 MongoDBの具体的な利用例 Capter4 パフォーマンス検証 Capter5 NoSQLなリレーショナルデータベース
特徴
構成からわかるとおり、本書はキーバリュー型について力をいれた構成になっています。
取り上げられている3つのキーバリュー型は他のDBと組み合わせて利用される特徴を持っており、4書籍の中で一番詳しく説明されています。
具体的なシチュエーションを例にサンプルコード付きで解説されており、実際にプロダクトを導入したイメージがしやすい内容です。
また、ドキュメント指向型のMongoDBについても、同レベルの説明がされています。
NoSQLプログラミング実践活用技法
全407ページ/発行日:2012/05/17/著者:Shashank Tiwari/監修:中村泰久/翻訳:長尾高弘
NoSQLの概要から、実際のインストールや使い方まで一番守備範囲が広い内容です。プロダクトは、揮発性キーバリューであるmemochedから分散処理のMapReduceやHadoop、さらにAmazonのSimpleDBやGoogle App Engineにまで及び、説明内容もNoSQLの概要からインストール、パフォーマンスチューニングにまで幅広く取り上げられています。
構成
第1部 さあはじめよう 第1章 NoSQLとは何か、なぜ必要なのか 第2章 Hello NoSQL:最初の一歩 第3章 NoSQLのインタフェース、インタラクション 第2部 NoSQLの基礎を学ぶ 第4章 ストレージアーキテクチャの基礎 第5章 CRUD操作の実行 第6章 NoSQLデータベースのクエリー 第7章 データストアの設計変更と拡張の管理 第8章 データセットのインデクシングとソート 第9章 トランザクションとデータ完全性の管理 第3部 NoSQLに熟達する 第10章 クラウドのNoSQL(GAEとAmazon SimpleDB) 第11章 MapReduceによるスケーラブルな並列処理 第12章 Hiveによるビッグデータの分析 第13章 データベースの内部構造 第4部 NoSQLを極める 第14章 どのNoSQL製品を選ぶべきか 第15章 データベースの併用 第16章 パフォーマンスチューニング 第17章 ツールとユーティリティ 付録 NoSQL製品のインストールとセットアップ A.1 Hadoopのインストールとセットアップ A.2 HBaseのインストールとセットアップ A.3 Hiveのインストールとセットアップ A.4 Hypertabelのインストールとセットアップ A.5 MongoDBのインストールとセットアップ A.6 CouchDBのインストールとセットアップ A.7 Redisのインストールとセットアップ A.8 Cassandraのインストールとセットアップ A.9 Nagiosのインストールとセットアップ A.10 RRDtoolのインストールとセットアップ
ビッグデータを征すクラウドの技術 Hadoop & NoSQL
全141ページ/発行日:2011/04/25/ASCII.technologies編集部 編/執筆:多数
月刊ASCII.technologiesの特集と連載から加筆をして構成された内容です。Hadoopについて多数の執筆者による紹介が、カラーの図解付きで読めます。
特徴
Hadoopについて記事を割いている反面、雑誌の連載の再構成であることや、執筆者が多数いることから、NoSQLについてまとまった知識を得る用途には向いていません。
NoSQLデータベースの中で唯一ページを多くさかれているCassandraについてもバージョンが0.7と古い内容です。
以上、NoSQL本の紹介でした。新たなNoSQLライフを始めるための一助にしていただければ幸いです。