NoSQL データベースファーストガイド

NoSQLデータベースファーストガイド

NoSQLデータベースファーストガイド

NoSQLデータベースファーストガイドを先月くらいに購入してなかなか読めずに
こないだサラッと読んでみました。


簡単な感想を言うと
オライリーの様にガリガリと深い内容までガッツり書いてある本ではない。
だからこそNoSQLって何?って人が読んでも読みやすい
私はmemcachedMediaWikiWordPressiPhoneアプリのサーバに使用しており
memcachedの早さに感動しているのですが
ちゃんと調べたことなどなかったので概要を知るにはちょうどよかったです。


NoSQLの5つについて書いてあります。

大きく分けると5つのうちの4つについて2章に分けて書かれています。

  • データベースの種類と特徴
  • NoSQLを使ってみる

の2つです。

最後の章にMySQL+HandlerSocketについて書かれています。

個人的には
「まだNoSQLを使ったことなくて運用に便利そう、リレーショナルデータベースは
重くてもう使いたくない!」
というような方の入門にはちょうどよいと思います。
私もほとんど使ったことがないのでそう思えました。
今後仕事でNoSQLが必要になるので勉強しなきゃいけないというのもあり
目についたこの本を購入してよかったと思っています。

目次は

 1.NoSQLデータベースの基礎知識
1-1.リレーショナルデータベースとNoSQLデータベース
1-1-1.「NoSQL」とは
1-1-2.リレーショナルデータベース小史
1-1-3.データベース分類
1-1-4.リレーショナルデータベースの強み
1-1-5.リレーショナルデータベースの弱み
1-1-6.NoSQLデータベース
1-2.NoSQLデータベースにはどんなものがあるか
1-2-1.key-valueストア
1-2-2.ドキュメント指向データベース
1-2-3.列指向データベース
1-3.NoSQLデータベースの導入をどうとらえるか
1-3-1.あくまでも選択肢の一つ
1-3-2.どこまで信頼してよい?

2.NoSQLデータベースの種類と特徴
2-1.memcached(揮発性key-valueストア)
2-1-1.memcachedとは?
2-1-2.なぜmemcachedを使うのか
2-1-3.特徴とユースケース
2-1-4.導入手順
2-1-5.動作を確認する
2-1-6.各種言語用ライブラリ
2-1-7.関連ツール
2-2.Tokyo Tyrant(永続性key-valueストア
2-2-1.Tokyo Tyrantとは?
2-2-2.どうしてTokyo Tyrantを使うのか?
2-2-3.特徴とユースケース
2-2-4.導入手順
2-2-5.動作を確認する
2-2-6.各種言語用ライブラリ
2-2-7.関連ツール
2-3.Redis(揮発性/永続性key-valueストア)
2-3-1.Redisとは?
2-3-2.なぜRedisを使うのか?
2-3-3.特徴とユースケース
2-3-4.導入手順
2-3-5.動作を確認する
2-3-6.各種言語用ライブラリ
2-4.MongoDB(ドキュメント指向データベース)
2-4-1.MongoDBとは?
2-4-2.なぜMongoDBを使うのか?
2-4-3.特徴とユースケース
2-4-4.導入手順
2-4-5.動作を確認する
2-4-6.各種言語用ライブラリ
2-4-7.関連ツール

3.NoSQLデータベースを使ってみる
3-1.memcachedの具体的な利用例
3-1-1.サンプル① リレーショナルデータベースのキャッシュ
3-1-2.サンプル② 音楽視聴ランキングサイト
3-1-3.サンプル③ 外部APIキャッシュ
3-2.Tokyo Tyrantの具体的な利用例
3-2-1.サンプル① ページ毎のアクセス数を表示する
3-3.Redisの具体的な利用例
3-3-1.サンプル① タイムライン形式のWebアプリケーション
3-3-2.検索履歴機能
3-4.MongoDBの具体的な利用例
3-4-1.サンプル① アンケートの解凍データの保存
3-4-2.解析データのストレージ

4.パフォーマンス検証
4-1.基本的な挿入と検索のパフォーマンス
4-1-1.想定したケース
4-1-2.準備する
4-1-3.挿入のパフォーマンス
4-1-4.検索のパフォーマンス
4-2.ケース別のパフォーマンス比較
4-2-1.Tokyo Tyrantのaddintメソッドとincrメソッド
4-2-2.Redisのリスト型に対する追加と削除
4-2-3.MySQLのJOINとMongoDBのembed

5.NoSQLなリレーショナルデータベース
5-1.NoSQLデータベースについて
5-1-1.それぞれの特徴
5-1-2.ん用事のコストやノウハウの少なさ
5-1-3.MySQLをNoSQL化するアプローチ
5-2.HandlerSocketを試してみる
5-2-1.特徴
5-2-2.HandlerSocketをMySQLに組み込む
5-2-3.動作を確認する
5-2-4.パフォーマンスはどうなのか