Wie funktioniert Amazon RDS Backup / Snapshot tatsächlich?

94

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

Gibt es jemanden auf Stack, der erklären kann, wie das Amazon RDS-Backup tatsächlich funktioniert? 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 Sicherungs- / Snapshot-Vorgänge mein Replikat treffen und daher keine Ausfallzeiten / Leistungseinbußen verursachen, dachte ich.

Ich kann mein Problem in sechs Fragen aufteilen:

  • Was passiert technisch während eines Snapshots und eines Backups 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 einfach eine Dokumentation zitieren.)
  • Ist während des Sicherungsfensters bei einer Multi-AZ-Bereitstellung ein Anstieg der Schreiblatenz zu erwarten?
  • Ist am Ende eines Snapshots einer Multi-AZ-Bereitstellung ein Anstieg der Schreiblatenz zu erwarten?
  • Wäre meine Schreiblatenzspitze noch höher, wenn ich nicht Multi-AZ wäre?
  • Wäre ich architektonisch in der Lage, diese Schreiblatenzspitzen zu vermeiden, wenn ich meine eigene Datenbank auf zwei m1.large EC2-Instanzen rollen würde?
  • Gibt es Konfigurationen, die ich verwenden kann, um diese Spitzen bei der Schreiblatenz zu vermeiden, während ich meine Datenbank noch mit RDS hoste, oder bin ich effektiv Amazon ausgeliefert?

Bonusfrage: Wo und wie hosten Sie Ihre MySQL-Datenbank?

Ich kann sagen, dass ich mit RDS im Allgemeinen zufrieden war, abgesehen von diesen täglichen Problemen mit der Schreiblatenz. Ich liebe die integrierte Datenbanküberwachung und es war ziemlich einfach einzurichten und loszulegen.

Vielen Dank!

Amazon RDS Schreiblatenz

Silber
quelle

Antworten:

78

Zusätzlich zu MySQL führen wir auf einigen von uns selbst 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.

  • In diesem Artikel werden die EBS-Einschränkungen und die Snapshot-Funktionalität erläutert. Http://blog.rightscale.com/2008/08/20/amazon-ebs-explained/ Auch wenn dies nicht explizit ist, ist es für Amazon sinnvoll, diese Infrastruktur zu verwenden RDS-Dienste bereitstellen.

  • In der Regel wird bei einer MySQL-Sicherung im Gegensatz zu einem Snapshot 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 empfiehlt es sich, die Datenbank während des Snapshots einzufrieren (alle Transaktionen anzuhalten), 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 die Transaktionen nach Abschluss des Snapshots "nachholen". Dies würde eine Latenzspitze verursachen.

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

Joshua
quelle
7
Ich kann bestätigen, dass Amazon RDS EBS als Sicherungsspeicher für seine RDS-Datenbanken verwendet. Die Diagramme Read Latency und Write Latency in RDS Cloudwatch beschreiben effektiv eine EBS-Instanz. Vielen Dank für diese Antwort, es macht Sinn.
Esilver
1
Amazon teilt weitere Details in ihrem Ausfall post mortem hier aws.amazon.com/message/65648
Joshua
@Joshua hast du irgendwelche Gedanken zu diesem (etwas verwandten) Thema? stackoverflow.com/questions/6799371/… Danke!
Silber
Wenn Sie ein Lesereplikat verwenden, hat dies Auswirkungen auf das Masterreplikat?
Matej
1
In der AWS-Dokumentation heißt es nun: "Ein kurzes Einfrieren der E / A, das normalerweise einige Sekunden dauert, tritt sowohl bei automatisierten Sicherungen als auch bei DB-Snapshot-Vorgängen auf Single-AZ-DB-Instanzen auf." docs.aws.amazon.com/AmazonRDS/latest/UserGuide/…
Baxang