London Tech Talk

Ken and Kaz

ロンドン在住の Ken と Kaz で提供する、海外テック系 Podcast です。最新の技術ネタや海外でのキャリアの築き方から、子育て・教育など、ヨーロッパでの現地生活について喋ります。

  1. -5 H

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

    London Tech Talk 名物 Bookclub 第四弾 "Database Internals" 第十四章の振り返り収録です。"Consensus" の内容について振り返りました。ついに全十四章を完走しました! まずは分散システムにおける合意形成の根本的な課題について紹介しました。友人間での日程調整をアナロジーとして、合意形成の困難さや、連絡エラー、返事の遅れ、予定変更、機器故障などの現実的な問題を例に、分散システムの合意形成問題を説明しました。 本章の内容について振り返っていきます。まず、合意形成の基盤となる Atomic Broadcast について解説しました。オンライン会議での発言順序をアナロジーとして、「全てのノードが同じ順序でメッセージを受信すること」の重要性について説明しました。Apache Zookeeper で実装されている ZAB(Zookeeper Atomic Broadcast)についても紹介しました。 Paxos については、分散合意の理論的基盤となる古典的アルゴリズムとして紹介しました。Lamport 教授による 1998 年の発表以来、多くの後続アルゴリズムに影響を与えた一方で、「理論的には美しいが実装が困難」という特徴について説明しました。Multi-Paxos、Fast-Paxos、Egalitarian Paxos(EPaxos)、Flexible Paxos といった改良版についても触れました。 Raft については、「理解しやすく、実装しやすい」ことを明示的な目標として設計された現実的な選択として詳しく解説しました。問題をリーダー選出、ログレプリケーション、安全性に分割するアプローチや、YugabyteDB をはじめとする多くの現代的な分散データベースでの採用理由について説明しました。Raft の命名秘話(reliable, replicated, redundant, fault-tolerant から候補を選定)についても紹介しました。最後に、Byzantine Consensus についても説明しました。 その他 Bookclub で盛り上がった各参加者の深掘り内容や、全十四章完走の達成感について触れました。 ご意見・ご感想など、お便りはこちらの⁠⁠⁠⁠⁠⁠⁠⁠ ⁠⁠⁠Google Form⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠ で募集しています。

    45 min
  2. 18 OCT.

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

    London Tech Talk 名物 Bookclub 第四弾 "Database Internals" 第十三章の振り返り収録です。"Distributed Transactions" の内容について振り返りました。 まずは分散トランザクションの根本的な問題について紹介しました。海外旅行の複数都市手配(航空券、ホテル、レンタカー)をアナロジーとして、「オール・オア・ナッシング」の Atomicity がなぜ重要なのか、そして分散環境でそれを実現することの困難さについて説明しました。 続いて、2PC(Two-Phase Commit)について詳しく解説しました。Coordinatorが中心となって動作する二段階のアルゴリズムを、「Up-or-out な会社のチームリーダー」のアナロジーで説明し、そのシンプルさと普遍性、そして「Blocking」特性という課題について触れました。 次に、3PC(Three-Phase Commit)を紹介しました。2PCの改良版として「Prepare to Commit」フェーズを追加し、より慎重な合意形成を行う仕組みを、「スイスのような完全民主主義国家の議長」というアナロジーで説明しました。理論的な改善と実際の使用頻度のギャップについても言及しました。 決定論的アプローチとして、Calvin、Spanner についても簡単に説明しました。Calvinの「グローバルな実行順序の事前決定」による効率化、Spannerの「シャードごとの2PC最適化」とTrueTimeによるExternal Consistency について話しました。 その他 Bookclub で盛り上がった実践的な議論や、次回の Chapter 14 の予定について触れました。 ご意見・ご感想など、お便りはこちらの⁠⁠⁠⁠⁠⁠⁠ ⁠⁠⁠Google Form⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠ で募集しています。

    33 min
  3. 4 OCT.

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

    London Tech Talk 名物 Bookclub 第四弾 "Database Internals" 第十二章の振り返り収録です。"Anti-Entropy and Dissemination" の内容について振り返りました。 まずは大規模な分散システムにおけるメタデータ配信の課題について紹介しました。会社の組織変更情報を全社員に伝達する状況をアナロジーとして、ブロードキャスト方式の通信コスト問題や、階層構造による情報伝達の効率性と課題について説明しました。 続いて、Anti-entropyアルゴリズムの3つの主要コンポーネントを詳しく解説しました。Read Repair(修復アルゴリズム)では図書館の司書さんによる蔵書情報照会の例を用いて、データを読む時の「ついでに修復」という仕組みを説明しました。Digest Reads(検知アルゴリズム)では、全データではなくハッシュ化されたダイジェストのみを送って効率的に差分を検知する方法を紹介しました。Hinted Handoffs(予防機能)については、学校の宿題預かりシステムをアナロジーとして使用し、故障したノードの代わりに他のノードが一時的にデータを預かる仕組みについて説明しました。重要なのは「権限の引き継ぎ」ではなく「一時的な荷物預かり所」であるという点も強調しました。 また、効率的なデータ構造として Merkle Tree と Bitmap Version Vector について触れました。Merkle Tree はブロックチェーンでも使われる階層的なハッシュ構造による差分検知技術として、Bitmap Version Vector はビット演算(XOR)を使った更新追跡の仕組みとして紹介しました。 さらに、Gossip Protocol について説明しました。疫病や噂話が集団の中で拡散される様子をアナロジーとして、情報がネットワーク全体に「感染」のように広がる仕組みと、そのスケーラビリティの利点や重複メッセージのオーバーヘッドという課題について触れました。Plumtree(Hybrid Gossip)と HyPerView(Hybrid Partial View)についても簡単に触れました。 その他 Bookclub で盛り上がった観点や、次回の Chapter 13 の予定について触れました。 ご意見・ご感想など、お便りはこちらの⁠⁠⁠⁠⁠⁠⁠⁠ ⁠⁠⁠Google Form⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠ で募集しています。

    39 min

Notes et avis

5
sur 5
2 notes

À propos

ロンドン在住の Ken と Kaz で提供する、海外テック系 Podcast です。最新の技術ネタや海外でのキャリアの築き方から、子育て・教育など、ヨーロッパでの現地生活について喋ります。

Vous aimeriez peut‑être aussi