Cassandra(カサンドラ) は分散KVS(Key-Value Store)の一種で、システムのバックエンドを支えるためのデータストアです。従来のデータベースソフトが苦手とする大量のデータ書き込みを高速処理でき、サーバーを増やすことで能力をどんどん増やせることで注目されています。本書はCassandraの基本的な使い方から、実用的なシステム構築、アプリケーションへの応用までを紹介します。執筆陣の豊富な経験を元に、販売サイトなどで利用できるシステムの設計や運用計画も網羅した、本格的な解説書です。
パート1 Cassandraの基礎知識
第1章 データベースの基本とCassandr
1-1 RDBMSとNoSQL
1-2 Cassandraの歴史と特徴
1-3 Cassandraのデータモデル
第2章 Cassandraチュートリアル
2-1 インストールの準備
2-2 Cassandraのインストール
2-3 Cassandraに付属するツール
2-4 Cassandraの起動
2-5 Cassandraのデータ操作
2-6 マルチノードでの起動
第3章 クラスを作る
3-1 Cassandraのデータ操作手段
3-2 Cassandra CLIを用いたデータ操作
3-3 ThriftによるCassandraへの接続
3-4 CQL
第4章 設定ファイルの基本
4-1 Cassandraの設定項目
4-2 cassandra.yaml
4-3 マルチノードでのCassandraクラスタ構成の設定
4-4 クラスタ全般の設定
4-5 データの取扱いの設定
4-6 通信の管理の設定
4-7 セキュリティの設定
4-8 cassandra.yaml以外の設定
パート2 Cassandraによるアプリケーション開発
第5章 Cassandraを使ったシステムの設計
5-1 Cassandraとデータベース管理システム
5-2 Cassandraを使ったアプリケーション
5-3 アプリケーションの機能設計
第6章 クラウドを使ったシステム環境の構築
6-1 クラウドと分散KVS
6-2 クラウド環境での環境構築
6-3 ソフトウェアの導入
第7章 アプリケーションの実装
7-1 実装
7-2 CassandraClient.php
7-3 ApplicationClient.php
7-4 ApplicationPostOperator.php
第8章 機能検証とチューニング
8-1 HTTPリクエストによる機能検証
8-2 パフォーマンスチューニング
8-3 ベンチマーク
第9章 トランザクショナルなシステムの実現
9-1 NoSQLデータベースとトランザクション
9-2 トランザクション特性
9-3 NanaHoshiについて
第10章 NanaHoshiによるアプリケーション
10-1 アプリケーションの概要
10-2 アプリケーションの詳細設計
10-3 アプリケーションの実装
10-4 機能検証
10-5 性能検証
第11章 トランザクションの実装
11-1 トランザクショナルなアプリケーションの概要
11-2 設計
11-3 実装
11-4 トランザクションの検証
11-5 Cassandraと検索
第12章 Cassandraの運用Tips
12-1 Cassandraのアップグレード
12-2 分散構成に関する知識
12-3 Paramikoを使ったCassandraの自動デプロイ
12-4 レプリケーションに関する設定
12-5 nodetoolの使い方