Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#1

InnoDB: HDD-Platz nach Löschen vieler Datensätze wiederbekommen

  Alt 7. Jun 2017, 13:14
Datenbank: MariaDB • Version: 10.1 • Zugriff über: UniDAC
Hallo liebe DP!

Ich habe gerade eine Datenbank vor der Brust, die Energiemessdaten speichert. Ich war leider so nachlässig am Anfang, dass ich keine regelmäßige Löschung alter Daten gleich mit eingebaut habe, und sitze jetzt auf einer rund 3,5TB großen Datenbank... Und die Platte hat noch 20GB frei.

Ich habe bereits angefangen alle sekündlichen Daten, die älter als März sind auf minütlich zu konsolidieren. Leider gibt InnoDB aber den Platz gelöschter Zeilen nicht wieder frei. Ich bin auf diesen Artikel hier gestoßen, und zum Glück habe ich genau die Version 10.1. Nach einschalten der Defragmentierung und Hochsetzen von innodb_defragment_n_pages auf 32 und anschließendem OPTIMIZE TABLE verringert sich aber die (von MariaDB gemeldete) Größe von 3,0GB auf gerade mal 2,9GB pro Tabelle in der die massiven Löschungen passiert sind, und Windows meldet stetig sinkenden freien Platz auf der Platte.
Das ganze geht noch vielleicht 3-4 Tage gut, aber dann wird's eklig. Zumal die Datenerfassung, zumindest unter der Woche, nicht für längere Zeit unterbrochen werden darf.

Gibt es hier keine andere Lösung als einen kompletten Dump und Rebuild?

Vielen Dank schon mal!
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat