"Data replication is a way of introducing redundancy by maintaining multiple copies of data in the system. However, since updating multiple copies of data atomically is a problem equivalent to consensus [MILOSEVIC11], it might be quite costly to perform this operation for every operation in the database."
via Check out this quote from Database Internals - https://learning.oreilly.com/library/view/database-internals/9781492040330/ch11.html
日常会話でこういう発言をできる人間になりたい。
"When talking about replication, we care most about three events: write, replica update, and read."
via Check out this quote from Database Internals - https://learning.oreilly.com/library/view/database-internals/9781492040330/ch11.html
まさに抜け落ちていた基本的な視点の指摘。
"Instead of being either consistent or available, systems can provide relaxed guarantees. We can define two tunable metrics: harvest and yield, choosing between which still constitutes correct behavior [FOX99]:"
via Check out this quote from Database Internals - https://learning.oreilly.com/library/view/database-internals/9781492040330/ch11.html
- harvestは例えば検索結果100件のうち1件の取得・計算に失敗しても99件を返すようなことか?
- yieldはrate limitやoptimistic concurrencyのことか?
- Strict Consistency
- Linearizability
- Sequential Consistency
- Causal Consistency
via Check out this quote from Database Internals - https://learning.oreilly.com/library/view/database-internals/9781492040330/ch11.html
Jepsenも参考にしつつconsistencyの学習。Strict consistencyは実現不可能な理論モデルと書いてある。
Azul Systemsという会社ではJavaを実行するための専用のプロセッサを開発し、JVMとCPUの密結合アーキテクチャによってガベージコレクションや並列化の性能を向上させていた。
すごい…。
ちょっと話が広がってきたので一度Consistency Modelsの理解に注力する。