Wie kann ich die Größe eines MySQL DB Snapshots in Amazon RDS ermitteln?

8

Wenn ich eine Amazon MySQL-Datenbankinstanz in RDS starte, wähle ich die Menge des zugewiesenen Speichers dafür.

Wenn ich einen Snapshot erstelle (entweder manuell oder mit automatischer Sicherung), wird unter "Storage" die gleiche Größe wie für die Instanz zugewiesen, obwohl meine Datenbank diese Größe nicht erreicht hat.

Da die Preisgestaltung (oder die freie Stufe) in Amazon von der Menge des verwendeten Speichers abhängig ist, möchte ich die tatsächliche Speichergröße, die ich verwende, und nicht die von der ursprünglichen Datenbank zugewiesene Größe kennen.

>

Wenn ich mir die Kontoaktivität ansehe und weiß, wie mysqldump funktioniert, würde ich annehmen, dass der Snapshot nicht wirklich den zugewiesenen leeren Speicherplatz enthält.

    
Oded Niv 18.09.2013, 12:31
quelle

3 Antworten

5

RDS wird gemäß FAQ über EBS gespeichert:

  

Amazon RDS verwendet EBS-Volumes für Datenbank- und Protokollspeicher.

EBS speichert keine leeren Blöcke gemäß seiner Preisseite :

  

Da Daten komprimiert werden, bevor sie in Amazon S3 gespeichert werden, und Amazon EBS keine leeren Blöcke speichert, ist die Größe des Snapshots wahrscheinlich erheblich geringer als Ihre Volume-Größe.

Und nimmt nur Platz für geänderte Blöcke, nachdem der erste Snapshot erstellt wurde, gemäß der Detailseite :

  

Wenn Sie ein Gerät mit 100 GB Daten haben, aber nur 5 GB nach dem letzten Snapshot geändert haben, verbraucht ein nachfolgender Snapshot nur 5 zusätzliche GB, und Ihnen werden nur die zusätzlichen 5 GB Snapshotspeicher in Rechnung gestellt frühere und spätere Snapshots erscheinen vollständig.

    
user3707125 04.12.2015, 17:13
quelle
2

Ich war an der Antwort auf diese Frage interessiert und eine Google-Suche brachte mich hierher. Ich war überrascht zu sehen, dass, obwohl es eine akzeptierte, upvoted Antwort gibt, es tatsächlich nicht die Frage beantwortet, die gefragt wurde.

Die Frage ist:

  

Wie kann ich die Größe einer MySQL DB Snapshots in Amazon RDS erkennen?

Die angenommene Antwort ist jedoch tatsächlich die Antwort auf diese Frage:

  

Muss ich die zugewiesene Größe der Quellendatenbank berechnen, wenn ich einen RDS-Snapshot von ihr nehme?

Wie bei der ursprünglichen Frage, AFAICT, gibt es keine API- oder Konsolenfunktion, um den von einem RDS-Snapshot verwendeten Speicher zu bestimmen. Die DBSnapshot-Ressource hat allokierten_speicher ( Ruby , java ), aber dies gibt den Speicher zurück Maximale Größe, die beim Erstellen der Datenbank angefordert wurde. Dies spiegelt die AWS RDS-Konsole wider:

Man hätte denken können, dass dies auf der AWS-Rechnung ausgebrochen wäre, aber es liefert sehr wenig Details. Für RDS:

Der S3-Teil der Rechnung ist noch weniger hilfreich:

Fazit, es gibt keine Möglichkeit, die Größe eines MySQL DB Snapshots in Amazon RDS mitzuteilen.

    
bclarkreston 15.08.2017 20:30
quelle
0

RDS-Backups sind vollständige Snapshots auf Blockebene; überhaupt ist kein mysqldump beteiligt. Angesichts dieser Tatsache wird jeder Ihrer Snapshots exakt den gleichen Speicherplatz belegen wie Ihre Produktionsinstanz zum Zeitpunkt der Sicherung.

    
ma.tome 22.05.2014 23:48
quelle