記事メモ

Millions of tiny databases

April 21, 2020

リンク

Millions of tiny databases – the morning paper

抜粋・メモ

  • AWS EBSのprimary, replicaストレージノードが参照するconfig情報を保持する分散処理技術 physalia-fig-1.jpeg?w=480&zoom=2

  • configの保持はstorong consistencyが必要

    • eventualだとreplication protocolが正しく処理できない
  • そこでPhysaliaを作った

    • ネットワーク分断があっても一貫性と高い可用性を提供
    • 大量かつ小規模なcellと呼ぶノード集合でconfig情報を管理することで,特定cellに障害があってもその他への影響を小さくする
    • すなわち,小さなDBの集合を管理
    • cell内のノードはクライアント(EC2, EBS primary, replica)に近い場所に常に/動的に移動する physalia-fig-2.jpeg?w=640&zoom=2
  • 本番投入してエラー減った

    • 緑の先から右がPhysalia投入後 physalia-fig-8-9.jpeg?w=520&zoom=2
  • AWSにおける障害対策・可用性確保の考えのベースはblast radius reduction

    • 仮に障害が起きたとしても,その影響範囲(爆発半径)を小さくする
  • 開発にはTLA+を使った

    • プロトコルの仕様記述,correctness/livenessの検証,プロトコルのある種のドキュメントとして活用

Tagged: #database