Cassandra: The Definitive Guideの8章と9章を読んだ

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の書き込みロジックが分かりましたとさ
もう少し続くよ

関連記事:

Pocket