建築

公開日: 2022-02-28 • 読了時間: 9分

レガシー データベースの最新化: 分散 SQL への移行

従来のデータベース アーキテクチャは、アクティブ/パッシブ レプリケーションに依存して障害を管理します。プライマリ データベースに障害が発生すると、手動または自動のフェイルオーバーがトリガーされます。これにより、同期の遅れ、潜在的なデータ損失 (RPO > 0)、および重大なダウンタイム (RTO > 0) が発生します。分散 SQL は、設計によりこの制約を解決します。

アクティブ-アクティブ同期レプリケーション

分散 SQL データベースは、コンセンサス プロトコル (Raft や Paxos など) を利用して、複数の独立したクラウド リージョン間でデータを同期的に複製します。すべてのデータベース ノードはアクティブであり、書き込みトランザクションを処理できます。

マルチリージョン分散 SQL 地域 A (フランクフルト) アクティブノード 地域 B (ダブリン) アクティブノード 地域 C (チューリッヒ) アクティブノード 同期 Raft レプリケーション

分散 SQL の主な利点

  • データ損失ゼロ (RPO = 0): 同期コンセンサスにより、トランザクションが複数のリージョン間で同時にコミットされることが保証されます。
  • ほぼ即時フェイルオーバー (RTO < 5 秒): 地域的な停止が発生した場合、手動介入なしでリーダーが自動的に再選されます。
  • 水平スケール: データベースをパーティショニングせずにノードを追加することによる読み取りおよび書き込みのスケーリング。

Raft コンセンサスの仕組み

分散 SQL の中心となるのはコンセンサスです。単一のマスター データベースに依存してデータの書き込みとミラーリングを非同期的に行うのではなく、書き込みトランザクションはコミットされる前にデータベース ノードの過半数 (クォーラム) によって受け入れられる必要があります。これにより、突然のネットワーク分割時でも完全な一貫性が保証されます。

Raft コンセンサス定足数の投票 フォロワー1 リーダー フォロワー2 1.複製 2. 確認応答 1.複製 2. 確認応答 クォーラム達成 (3 ノード中 2 ノードが確認済み) -> コミット成功

コア金融システムの移行

コア バンキングなどのトランザクション システムの場合、分散 SQL への移行により、前例のない復元力が実現します。地域的なクラウドの停止によってトランザクション障害が発生することがなくなり、マルチリージョンのエンジニアリングを簡素化しながら、エンドユーザーの継続的なサービスの可用性が確保されます。

← ブログに戻る