CubicLouve

Spring_MTの技術ブログ

Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databasesを読む(その9 CONCLUSION)

9 CONCLUSION

Auroraは,クラウドの環境で、可用性も耐久性も妥協しない、高スループットのOLTPデータベースとして設計した。

この大きなアイデアは、伝統的なデータベースのモノリシックなアーキテクチャからの脱却と、ストレージをコンピュートの分離であった。

特に、ログやストレージを管理するデータベースの重要な部分の下位1/4を、独立したスケーラブルな分散型サービスに移行した。

すべてのI/Oがネットワーク越しに行われるため、主な制約はネットワークになった。

そのため、ネットワークの負担を軽減し、スループットを向上させる技術に注力した。

私たちは、下記に依存している。

  • クオラムモデル
    • 大規模なクラウド環境で発生する複雑で相関性のある障害をうまく処理し、外れ値のパフォーマンスペナルティを回避する
  • ログ処理
    • 集約されたI/Oの負担を軽減する
  • 非同期的な合意
    • 通信が多くでコストが掛かる多相同期プロトコル(XAとかのことかな)、オフラインでのクラッシュリカバリ、分散ストレージのチェックポイント作成を排除する

これらのアプローチは、複雑さを減らしたシンプルなアーキテクチャを実現し、拡張性に優れているだけでなく、将来の進歩のための基盤となっている。