web-dev-qa-db-ja.com

Amazon RDSバックアップ/スナップショットは実際にどのように機能しますか?

私はAmazon RDSの顧客で、バックアップウィンドウにほぼ対応する毎日のAmazon RDS書き込みレイテンシスパイクを経験しています。また、スナップショットの最後にスパイクが表示されます(適切な場合:スナップショットの実行には約1時間かかり、最後の5分には書き込みレイテンシのスパイクがあります)。マルチAZ m1.large展開を実行しています。

StackにAmazon RDSバックアップが実際動作している方法を説明できる人はいますか? Amazon RDSのドキュメントを読みましたが、私が知る限り、Amazon RDSは仕様どおりに動作していません。具体的には、これらのバックアップ/スナップショット操作はレプリカにヒットしているはずなので、ダウンタイム/パフォーマンスヒットは発生しません。

私の問題を6つの質問にまとめることができます。

  • スナップショットとバックアップ中に技術的に何が起こっていますか? (この質問に答える場合は、経験的に答えを確認できるかどうか、または単にドキュメントを引用するかどうかを教えてください)。
  • マルチAZ配置のバックアップウィンドウ中に書き込みレイテンシのスパイクが予想されますか?
  • マルチAZ配置のスナップショットの最後に、書き込みレイテンシのスパイクが予想されますか?
  • マルチAZでない場合、書き込みレイテンシのスパイクはさらに大きくなりますか?
  • アーキテクチャ上、2つのm1.large EC2インスタンスで実行している自分のデータベースをロールした場合、これらの書き込みレイテンシのスパイクを回避できますか?
  • RDSを使用してDBをホストしている間に、これらの書き込み遅延の急増を回避するために使用できる構成はありますか?

ボーナス質問:mysqlデータベースをどこでどのようにホストしますか?

私は、これらの毎日の書き込み遅延の問題を除いて、一般にRDSに満足していると言えます。私は組み込みのデータベース監視が大好きで、セットアップも実行も非常に簡単でした。

ありがとう!

Amazon RDS write latency

90
esilver

自分で管理する一部のマシンでは、MySQLに加えて、いくつかのRDSインスタンスも実行します。私はアマゾンのエンジニアではないので、特にコメントすることはできませんが、あなたが見ているものを説明するかもしれないいくつかのことを学びました。

  • Amazonはバックエンドの詳細を100%共有しませんが、RDSデータベースをバックアップするためにEBSシステムを使用していると強く考えています。

  • この記事は、EBSの制限とスナップショット機能の説明に役立ちます http://blog.rightscale.com/2008/08/20/Amazon-ebs-explained/ 繰り返しますが、明示的ではありませんが、 Amazonはこのインフラストラクチャを使用してRDSサービスを提供しています。

  • 通常、MySQLバックアップでは、スナップショットとは異なり、mysqldumpなどのツールを使用して、データベースを再現するSQLステートメントのファイルを作成します。これを行うためにデータベースを凍結する必要はありません。 EBSバックエンドでは、スナップショットの作成中にデータの破損を防ぐためにデータベースをフリーズする(すべてのトランザクションを一時停止する)のがベストプラクティスです。

  • バックアップウィンドウの終わりに表示されるスパイク。レプリカのスナップショット中にAmazonによってレプリケーションが一時停止された場合、スナップショットの完了時にレプリカはトランザクションを「キャッチアップ」する必要があります。これにより、レイテンシが急上昇します。

  • マルチAZ展開でのレプリケーションは、本質的にシングルAZ展開よりも低速です。冗長性を高めるために支払う価格。

75
Joshua

Amazonは、マルチAZ配置で使用する基本アーキテクチャを明らかにしました。これは、人々が決断を下すのに役立つかもしれません

https://aws.Amazon.com/blogs/database/Amazon-rds-under-the-hood-multi-az/

5
Anurag Kale