Cassandra: The Definitive Guideの7章を読んだ
の続編
8章はApplication Development with Drivers
9章はWriting and Reading Data
・書き込みは爆速
ディスクのreadやseekが不要なので爆速
ディスクへの書き込みはappendのみなので爆速
・一貫性
Cassandraはパラメータで一貫性レベルを制御できる
ANY:一つに書き込まれればよい。hinted hand off込み
ONE:memtableに一つ書き込まれることを保証
・一貫性の確認方法
cqlsh:reservation> consistency;
・書き込みの処理
1. 最初に書き込みのリクエストを受けたnodeがcoordinator nodeになる
2. どこのnodeがレプリカか確認する
3. ローカルのレプリカに書き込みを実施
4. データセンターが別れてる場合は、別のデータセンターのcoorinator nodeにリクエスト
5. timeoutまで返事がなかったらhinted hand offに書く
・書き込み後のnodeの中
書き込みを受けたらcommit logに書き込む
memtableに書き込む
閾値を超えたらflushされる
・軽量トランザクション
IF NOT EXISTS
をつけるとないときだけ挿入してくれる
IF end_date=’2020-06-10′
もできる
・複数のアップデート
BATCHを使うとできる
これでCassandraの書き込みロジックが分かりましたとさ
もう少し続くよ
関連記事:
- Cassandra: The Definitive Guideの6章を読んだ
- Cassandra: The Definitive Guideの13章と15章を読んだ
- Cassandra: The Definitive Guideの1章と2章を読んだ