本日読了?
大著。CPUよりもデータがボトルネックであり、データを基軸にアーキテクチャーを考える。
- NoSQLはドキュメントDBとグラフDBに分化した。リレーショナルDBとあわせて3つの大きな分類になる。
- データの取り出し方は、OLTPとデータウェアハウス。
- エンコーディング。JSON、XML、CSVなどのテキスト、Thrift、Protocol Buffers、Avroなどのバイナリ。データフロー。RPCやREST API。
- レプリケーション。読み出し、書き込み。一貫性など。
- パーティショニング。キー、ハッシュなど。
- トランザクション。ダーティリード、ダーティライトの防止など。
- 分散システム。部分障害が生じうる。
- 一貫性と合意。アトミックなトランザクションのコミット、ユニーク制約など。
- バッチ処理。MapReduceなど。
- ストリーム処理。メッセージブローカーなど。