論理的なクロスリージョンレプリケーション
特徴:
- 実装方法: Aurora MySQLのレプリカがソースDB(プライマリインスタンス)からSQLステートメントをリプレイすることによってデータを同期します。
- 設定: Auroraのリードレプリカとして設定されます。通常、ソースDBのバイナリログを読み取ってSQLステートメントを適用します。
- データ転送: SQLステートメントがリージョン間で転送されます。
- レイテンシ: 論理的なレプリケーションはSQLステートメントを実行するため、書き込みレイテンシが増加する可能性があります。
- ユースケース: データベースの災害対策、グローバル分散アプリケーション、地理的に分散した読み取りトラフィックの分散。
利点:
- 複数のリージョンに分散した読み取りトラフィックの負荷分散。
- フェールオーバーを含む高可用性の確保。
欠点:
- 論理的なレプリケーションによる遅延が発生する可能性があり、リアルタイム性が求められるアプリケーションには向かない場合があります。
物理的なクロスリージョンレプリケーション
特徴:
- 実装方法: Aurora MySQLのデータベースの物理的なブロックレベルのレプリケーションを行います。
- 設定: Aurora Global Databaseとして設定され、1つのリージョンにプライマリクラスターがあり、他のリージョンにセカンダリクラスターが配置されます。
- データ転送: ストレージレベルの変更がリージョン間で転送されます。
- レイテンシ: 物理的なブロックレベルのレプリケーションは、レイテンシが低く、書き込みパフォーマンスに影響を与えにくい。
- ユースケース: 高パフォーマンスと低レイテンシが求められるアプリケーション、グローバルなデータベースの可用性の確保。
利点:
- 低レイテンシのレプリケーション。
- 高スループットの読み取り/書き込み性能。
- グローバルな可用性と迅速な障害復旧。
欠点:
- 物理的なレプリケーションは、より複雑なインフラ管理が必要な場合があります。
- 物理的なストレージレベルのレプリケーションは、ストレージコストが増加する可能性があります。
まとめ
- 論理的なクロスリージョンレプリケーション:
- SQLステートメントを使用してデータを同期。
- レイテンシが高くなる可能性。
- 読み取りトラフィックの負荷分散や災害対策に適している。
- 物理的なクロスリージョンレプリケーション:
- ストレージレベルでのデータブロックの同期。
- 低レイテンシで高パフォーマンス。
- グローバルなデータベースの可用性と迅速な障害復旧に適している。
どちらの方法を選択するかは、アプリケーションの要件やパフォーマンス、可用性のニーズに依存します。