信頼性、拡張性、保守性の高い分散システム設計の原理
Authors:
#Book #Data Processing #Data Store
第I部データシステムの基礎
1章 信頼性、スケーラビリティ、メンテナンス性に優れたアプリケーション
- 信頼性
- スケーラビリティ
- メンテナンス性
2章 データモデルとクエリ言語
- リレーショナルデータベース
- ドキュメントデータベース
3章 ストレージと抽出
- ハッシュインデックス
- SSTable/LSMツリー
- Bツリー
- 列指向ストレージ
4章 エンコーディングと進化
- JSON/XML
- Thrift/Protocol Buffers
- Avro
- RESTとRPC
第II部分散データ
5章 レプリケーション
- マルチリーダーレプリケーション
- リーダーレスレプリケーション
- いい加減なクオラム(sloppy quorum)
6章 パーティショニング
7章 トランザクション
- ACID
- トランザクション分離レベル
- 直列化可能性
- ツーフェーズ(2相)ロック(2PL)
- 直列化可能なスナップショット分離(SSI)
8章 分散システムの問題
- ビザンチン障害
9章 一貫性と合意
- 線形化可能性
- 分散トランザクションと合意
第III部導出データ
- 記録のシステム(Systems of Record)
10章 バッチ処理
- MapReduce
- Hadoop
11章 ストリーム処理
- イベントソーシング
- メッセージキュー