it-swarm.com.de

Wie funktioniert Amazon RDS Backup / Snapshot tatsächlich?

Ich bin ein Amazon RDS-Kunde und erlebe täglich Amazon RDS-Schreiblatenzspitzen, die in etwa dem Sicherungsfenster entsprechen. Ich werde auch Spitzen am Ende eines Schnappschusses sehen (Beispiel: Das Ausführen eines Schnappschusses dauert ungefähr 1 Stunde und in den letzten 5 Minuten werden Latenzspitzen geschrieben). Ich verwende eine Bereitstellung mit mehreren AZ m1.large.

Gibt es jemanden auf Stack, der erklären kann, wie Amazon RDS-Backup funktioniert tatsächlich? Ich habe die Amazon RDS-Dokumente gelesen und soweit ich das beurteilen kann, verhält sich Amazon RDS nicht gemäß den Spezifikationen. Insbesondere sollten diese Backup-/Snapshot-Vorgänge meine Replik treffen und daher keine Ausfallzeiten/Leistungseinbußen verursachen, dachte ich.

Ich kann mein Problem in sechs Fragen unterteilen:

  • Was passiert während eines Snapshots und eines Backups technisch und wie unterscheiden sie sich? (Wenn Sie diese Frage beantworten, teilen Sie mir bitte mit, ob Sie Ihre Antwort empirisch bestätigen können, oder zitieren Sie mich einfach Dokumentation).
  • Ist während des Sicherungsfensters bei einer Multi-AZ-Bereitstellung mit einem Anstieg der Schreibwartezeit zu rechnen?
  • Ist mit einem Anstieg der Schreibwartezeit am Ende eines Snapshots bei einer Multi-AZ-Bereitstellung zu rechnen?
  • Wäre meine Schreiblatenz noch höher, wenn ich nicht Multi-AZ wäre?
  • Könnte ich diese Schreiblatenzspitzen architektonisch vermeiden, wenn ich meine eigene Datenbank auf zwei m1.large EC2-Instanzen rollen würde?
  • Gibt es Konfigurationen, die ich verwenden kann, um diese Schreiblatenzspitzen zu vermeiden, während ich meine Datenbank noch mit RDS hoste, oder bin ich tatsächlich Amazon ausgeliefert?

Bonusfrage: Wo und wie hostest du deine MySQL-Datenbank?

Ich kann sagen, dass ich mit RDS im Allgemeinen zufrieden bin, mit Ausnahme dieser täglichen Probleme mit der Schreiblatenz. Ich liebe die integrierte Datenbanküberwachung und es war ziemlich einfach einzurichten und loszulegen.

Vielen Dank!

Amazon RDS write latency

90
esilver

Zusätzlich zu MySQL führen wir auf einigen von uns verwalteten Computern mehrere RDS-Instanzen aus. Ich kann nicht speziell kommentieren, da ich kein Amazon-Ingenieur bin, aber einige Dinge, die ich gelernt habe, könnten erklären, was Sie sehen:

  • Obwohl Amazon die Backend-Details nicht zu 100% teilt, vermuten wir stark, dass sie ihr EBS-System zum Sichern von RDS-Datenbanken verwenden.

  • Dieser Artikel erklärt die EBS-Einschränkungen und die Snapshot-Funktionalität http://blog.rightscale.com/2008/08/20/Amazon-ebs-explained/ Auch wenn dies nicht explizit angegeben ist, ist es für sinnvoll Amazon nutzt diese Infrastruktur zur Bereitstellung von RDS-Diensten.

  • In der Regel wird bei einer MySQL-Sicherung im Gegensatz zu einer Momentaufnahme ein Tool wie mysqldump verwendet, um eine Datei mit SQL-Anweisungen zu erstellen, die dann die Datenbank reproduziert. Die Datenbank muss dazu nicht eingefroren werden. Bei einem EBS-Backend wird empfohlen, die Datenbank einzufrieren (alle Transaktionen anzuhalten), während Sie einen Snapshot erstellen, um eine Beschädigung der Daten zu vermeiden.

  • Die Spitzen, die Sie am Ende des Sicherungsfensters sehen. Wenn die Replikation von Amazon während des Snapshots Ihres Replikats angehalten wird, muss das Replikat Transaktionen nachholen, wenn der Snapshot abgeschlossen ist. Dies würde eine Latenzspitze verursachen.

  • Die Replikation über eine Multi-AZ-Bereitstellung ist von Natur aus langsamer als eine einzelne AZ-Bereitstellung. Den Preis zahlen Sie für eine bessere Redundanz.

75
Joshua

Amazon enthüllte die grundlegende Architektur, die sie in Multi-AZ-Bereitstellungen verwenden. Dies kann Menschen helfen, Entscheidungen zu treffen

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

5
Anurag Kale