London Tech Talk

【Bookclub 第四弾】 "Database Internals" #11 振り返り

London Tech Talk 名物 Bookclub 第四弾 "Database Internals" 第十一章の振り返り収録です。"Replication and Consistency" の内容について振り返りました。
まずは分散システムにおけるレプリケーションの必要性と、それに伴う整合性の課題について紹介しました。大学の図書館分館のアナロジーを織り交ぜながら、同じ質問に対して場所によって異なる答えが返ってくる状況を例に、分散システムの整合性問題を説明しました。
続いて、悪名高い CAP 定理について触れました。Consistency(一貫性)、Availability(可用性)、Partition tolerance(分断耐性)の三つのうち最大で二つまでしか同時に満たせないという理論と、その現実的な適用における注意点について説明しました。CP システムと AP システムの具体例も交えて紹介しました。
その後、様々な整合性モデルについて詳しく解説しました。Sequential Consistency では SNS や銀行システムの例を用いて、すべてのノードが同じ順序でイベントを確認する重要性を説明しました。Causal Consistency については、因果関係のあるイベント同士の順序性のみを保証する、より緩い整合性モデルとして紹介しました。Eventual Consistency では、Amazon のショッピングカートの実装例を挙げ、最終的な整合性がどのように実現されるかを具体的に説明しました。
また、チューナブル整合性の概念として R + W > N の式を紹介し、図書館分館での在庫確認のアナロジーを使って、読み込み(R)と書き込み(W)のクォーラムをどのように調整するかについて説明しました。
その他 Bookclub で盛り上がった実践的な議論や、次回の Chapter 12 の予定について触れました。
ご意見・ご感想など、お便りはこちらの⁠⁠⁠⁠⁠⁠⁠⁠ ⁠⁠⁠Google Form⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠ で募集しています。