[解決済み] Amazon RDSのバックアップ/スナップショットは実際にどのように機能するのでしょうか?
質問
私は Amazon RDS の顧客で、バックアップウィンドウにほぼ対応する、毎日の amazon RDS の書き込みレイテンシのスパイクを経験しています。また、スナップショットの終了時にスパイクが発生します (例: スナップショットの実行に約 1 時間かかり、最後の 5 分間に書き込みレイテンシが急増します)。私は、マルチAZ m1.large デプロイメントを実行しています。
Amazon RDS のバックアップがどのようなものかを説明できる人は Stack にいますか? 実際に がどのように動作しているのかを説明できる Stack の人がいますか? 私はAmazon RDSのドキュメントを読みましたが、私が知る限りでは、Amazon RDSは仕様に従って動作していません。具体的には、これらのバックアップ/スナップショット操作は私のレプリカに当たるはずで、したがって、ダウンタイム/パフォーマンスのヒットは発生しない、または、そう思っていました。
私の問題は、6 つの質問にまとめることができます。
- スナップショットとバックアップの間に技術的に何が起こっているのか、そして、それらはどのように違うのか。(この質問に答える場合、あなたの答えを経験的に確認することができるかどうか、または単に私のドキュメントを引用しているかどうかを教えてください)。
- multi-AZ 展開でバックアップ ウィンドウ中に書き込み待ち時間のスパイクが発生することは予想されますか?
- マルチ AZ 展開では、スナップショットの終了時に書き込みレイテンシーが急増することが予想されますか?
- multi-AZ でない場合、書き込みレイテンシのスパイクはさらに高くなりますか?
- アーキテクチャ的に、2 つの m1.large EC2 インスタンス上で動作する独自のデータベースをロールバックした場合、これらの書き込みレイテンシのスパイクを回避することは可能ですか?
- RDS で DB をホストしながら、これらの書き込みレイテンシのスパイクを回避するために使用できる構成はありますか、または、私は事実上 Amazon のなすがままになっていますか?
ボーナス質問:どこで、どのように、あなたの mysql データベースをホストしていますか?
私は、毎日の書き込み遅延の問題を除いて、RDS に概して満足していると言うことができます。私は、組み込みのデータベース監視が大好きで、セットアップと実行はかなり簡単でした。
ありがとうございます!
どのように解決するのですか?
私たちは、私たち自身が管理するいくつかのマシン上の MySQL に加えて、いくつかの RDS インスタンスを実行しています。私は Amazon のエンジニアではないので、特にコメントすることはできませんが、あなたが見ているものを説明するかもしれない、私が学んだいくつかの事柄があります。
-
Amazon はバックエンドの詳細を 100% 共有しませんが、RDS データベースをバックアップするために EBS システムを使用していることが強く疑われます。
-
この記事は、EBS の制限とスナップショット機能についての説明に役立ちます。 http://blog.rightscale.com/2008/08/20/amazon-ebs-explained/ 繰り返しになりますが、明示されていないものの、Amazon がこのインフラストラクチャを使用して RDS サービスを提供することは理にかなっています。
-
通常、MySQL のバックアップは、スナップショットとは対照的に、mysqldump のようなツールを使用して、データベースを再現する SQL ステートメントのファイルを作成することを含みます。この際、データベースをフリーズさせる必要はありません。EBS バックエンドでは、データの破損を避けるために、スナップショット中にデータベースをフリーズ(すべてのトランザクションを一時停止)することがベスト プラクティスです。
-
バックアップウィンドウの端に表示されているスパイク。レプリカのスナップショット中に Amazon によってレプリケーションが一時停止されると、レプリカはスナップショットが完了したときにトランザクションに "catch up" する必要が生じます。これは、遅延スパイクの原因となります。
-
複数の AZ デプロイメントにわたるレプリケーションは、単一の AZ デプロイメントよりも本質的に低速です。これは、より良い冗長性のために支払う代償です。
関連
-
MySQLのNULLについて解説した記事
-
MySQL サービスとデータベース管理
-
MySQLはこのようなUpdateステートメントを書くべきではありません
-
MySQLインデックスベースストレステストの実装
-
MySQLの悲観的ロックと楽観的ロックの実装スキーム
-
[解決済み] 親の行を削除または更新できない:外部キー制約が失敗する
-
SQLException。オペランドは1列でなければなりません。
-
'INSERT文はFOREIGN KEY制約「FK_TourismReservation_Users」と競合していました。その
-
[解決済み] SQLでカラムに最大値を持つ行のみを選択する [重複]。
-
[解決済み] MySQLで複数のカラムに一意制約を指定するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQLはこのようなUpdateステートメントを書くべきではありません
-
mysqlのデータ圧縮性能比較 詳細
-
Mysqlデータベースの手動および定期的なバックアップ手順
-
Mysqlのソート機能の詳細
-
[解決済み】マルチパート識別子をバインドできない
-
mysql5.7のインストールと、無料・長期利用を目的としたNavicateの導入プロセスについて
-
Mysql がエラーを報告 オペランドには 1 つのカラムが含まれている必要があります。
-
MySQLの起動エラー:ERROR 2003 (HY000)。localhost'上のMySQLサーバーに接続できない(10061)
-
[解決済み] なぜ SQLAlchemy の count() は生のクエリよりずっと遅いのでしょうか?
-
[解決済み] SQLでカラムに最大値を持つ行のみを選択する [重複]。