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