Datenbank bereinigen

Datenbank aufräumen.
Mit Sicherung und Rückweg.

Über die Jahre sammeln sich Tabellen, Protokolle und Datensätze an, die niemand mehr braucht. Sie machen Sicherungen groß, Abfragen langsam und Updates riskant. Weil niemand sicher weiß, was davon noch genutzt wird, traut sich keiner heran. Ich kläre das systematisch und räume kontrolliert auf.

Bereinigung besprechen

Stefan Pilz · PHP-Entwicklung und Datenbanken · 100 % remote

IllustrationWas gebraucht wird, bleibt. Der Rest wird kontrolliert entfernt.

LEISTUNG IM ÜBERBLICK

Was eine Datenbank-Bereinigung umfasst

Eine Datenbank-Bereinigung bedeutet, nicht mehr benötigte Tabellen, Datensätze und Strukturen zu finden und kontrolliert zu entfernen oder zu archivieren. Ich arbeite mit MySQL und MariaDB, wie sie bei eigenen PHP-Anwendungen, WordPress und Online-Shops üblich sind. Vor jeder Löschung steht eine Bestandsaufnahme und eine getestete Sicherung.

Eine Datenbank wächst meist unbemerkt. Protokolltabellen füllen sich jeden Tag, Plugins hinterlassen nach der Deinstallation ihre Tabellen, Testdaten bleiben liegen und Datensätze verweisen auf Einträge, die es längst nicht mehr gibt. Irgendwann ist die Datenbank ein Vielfaches größer als die eigentlichen Inhalte.

Die Folgen merkt man an vielen Stellen: Sicherungen dauern lange, Abfragen werden langsamer, Updates mit Datenbankänderungen ziehen sich, und personenbezogene Daten liegen länger als nötig. Die Datenschutz-Grundverordnung verlangt, solche Daten nur so lange zu speichern, wie es für den Zweck erforderlich ist.

Ihr Ansprechpartner: Stefan Pilz · Stefan Pilz Ltd. · Zusammenarbeit 100 % remote

KONKRETER LEISTUNGSUMFANG

Systematisch statt nach Gefühl

Bestandsaufnahme

Ich erfasse alle Tabellen mit Größe, Anzahl der Datensätze und Wachstum. Dann prüfe ich, welche Tabellen und Spalten im Code überhaupt vorkommen, welche Abfragen im Betrieb tatsächlich laufen und wann in eine Tabelle zuletzt geschrieben wurde. So entsteht eine Liste mit drei Gruppen: wird genutzt, wird nicht genutzt, ist unklar.

Typische Altlasten finden

Dazu gehören Protokoll-, Sitzungs- und Cache-Tabellen ohne Aufbewahrungsregel, Tabellen entfernter Plugins, Testdaten, verwaiste Datensätze ohne zugehörigen Hauptdatensatz und Dubletten. In WordPress kommen gespeicherte Revisionen, abgelaufene Transients und Einstellungen hinzu, die bei jedem Seitenaufruf mitgeladen werden.

Sicher bereinigen

Vor jeder Änderung steht eine Sicherung, deren Wiederherstellung getestet ist. Zweifelhafte Tabellen werden zuerst umbenannt oder archiviert und erst nach einer Beobachtungszeit gelöscht. Große Datenmengen lösche ich in kleinen Portionen, damit der Betrieb nicht blockiert. Danach prüfe ich Indizes und richte auf Wunsch automatische Aufbewahrungsregeln ein, damit sich der Ballast nicht neu ansammelt.

TYPISCHE SITUATIONEN

Wann sich eine Bereinigung lohnt

Die folgenden Punkte beschreiben typische Situationen, keine dokumentierten Kundenprojekte.

Die Datenbank ist größer als die Inhalte

Ein Großteil des Speichers entfällt auf Protokolle, Sitzungen oder Statistiken, die niemand auswertet. Sicherungen und Kopien für Testumgebungen dauern entsprechend lange.

Tabellen von Erweiterungen, die längst weg sind

Plugins und Module wurden entfernt, ihre Tabellen nicht. Niemand weiß mehr, ob nicht doch noch etwas darauf zugreift. Genau das klärt die Bestandsaufnahme.

Personenbezogene Daten liegen zu lange

Alte Kundenkonten, Formulareinträge oder Protokolle mit IP-Adressen werden nie gelöscht. Wir legen fest, was weg kann und was wegen Aufbewahrungspflichten bleiben muss, und setzen das technisch um.

ERGEBNISSE & ABGRENZUNG

Ihr Ergebnis und was wir vorab klären

Ihre vereinbarten Ergebnisse

Welche Ergebnisse zum Auftrag gehören, halten wir vor Beginn fest. Je nach vereinbartem Umfang sind das:

  • Bestandsliste aller Tabellen mit Größe, Verwendung und Empfehlung
  • Getestete Sicherung vor jeder Bereinigung
  • Bereinigte Datenbank, unklare Teile archiviert statt gelöscht
  • Auf Wunsch automatische Aufbewahrungsregeln und ein kurzer Bericht über die Änderungen

Was wir vorab klären

Welche Daten aus rechtlichen Gründen aufbewahrt werden müssen, etwa Rechnungen oder Buchungsbelege, legen Sie mit Ihrer Steuerberatung oder Rechtsberatung fest. Ich setze diese Vorgaben technisch um. Greifen externe Systeme auf die Datenbank zu, müssen wir sie in die Bestandsaufnahme einbeziehen.

Aufwand und Kosten

Für eine erste Einschätzung helfen das eingesetzte System, die ungefähre Größe der Datenbank und eine Beschreibung des Problems. Den Umfang der Bestandsaufnahme und der Bereinigung vereinbaren wir vorab.

ZUSAMMENARBEIT

So läuft eine Datenbank-Bereinigung ab

Zugang und Sicherung

Wir klären den Zugang über einen sicheren Kanal. Ich erstelle eine vollständige Sicherung und teste die Wiederherstellung.

Bestandsaufnahme

Sie erhalten eine Liste aller Tabellen mit Verwendung und Empfehlung und entscheiden, was bereinigt wird.

Bereinigen

Ich bereinige zuerst in einer Kopie, dann im Live-System, schrittweise und zu abgestimmten Zeiten.

Sauber halten

Auf Wunsch richte ich Aufbewahrungsregeln ein, damit Protokolle und Altdaten künftig automatisch entfernt werden.

PASSENDE THEMEN

Hängt oft zusammen

Ladezeit-Optimierung

Langsame Seiten, rote PageSpeed-Werte und Core-Web-Vitals-Probleme gezielt beheben.

PHP-Update

Code an PHP 8.4 oder 8.5 anpassen, bevor die alte Version keine Sicherheitsupdates mehr bekommt.

FRAGEN & ANTWORTEN

Fragen zur Datenbank-Bereinigung

Was passiert, wenn doch Daten fehlen?

Dann lassen sie sich zurückholen. Vor jeder Bereinigung gibt es eine getestete Sicherung, und unklare Tabellen werden zuerst archiviert oder stillgelegt statt sofort gelöscht.

Ist die Website während der Bereinigung offline?

In der Regel nicht. Große Löschvorgänge laufen in kleinen Portionen und zu Zeiten mit wenig Betrieb. Sind Strukturänderungen nötig, die eine kurze Unterbrechung erfordern, stimmen wir den Zeitpunkt vorher ab.

Wird meine Website dadurch schneller?

Oft ja, vor allem wenn große Tabellen bei jedem Seitenaufruf abgefragt werden oder Indizes fehlen. Wie viel es bringt, zeigt die Messung vorher und nachher. Weitere Bremsen behandelt die Ladezeit-Optimierung.

Dürfen wir alte Kundendaten überhaupt löschen?

Die Datenschutz-Grundverordnung verlangt sogar, personenbezogene Daten nicht länger als nötig zu speichern. Gleichzeitig gibt es Aufbewahrungspflichten, etwa für Rechnungen. Was genau gelöscht werden darf, legen Sie mit Ihrer Steuer- oder Rechtsberatung fest; ich setze es technisch um.

Welche Datenbanken bereinigen Sie?

MySQL und MariaDB, wie sie bei eigenen PHP-Anwendungen, WordPress, Joomla, TYPO3 und Online-Shops üblich sind.

NÄCHSTER SCHRITT

Welche Datenbank ist Ihnen zu voll?

Nennen Sie das eingesetzte System, die ungefähre Größe der Datenbank und was Ihnen aufgefallen ist. Ich melde mich mit einem Vorschlag für die Bestandsaufnahme.

Ihre Anfrage geht direkt an mich, Stefan Pilz. Umfang und Kosten klären wir vor der Beauftragung.

So geht es nach Ihrer Anfrage weiter

  1. Ausgangslage klären

    Ich lese Ihre Anfrage und melde mich bei Ihnen. Gemeinsam klären wir Ziel, Rahmen und offene Fragen.

  2. Sinnvollen Einstieg bestimmen

    Je nach Vorhaben starten wir mit einer gezielten Umsetzung oder einer vorab vereinbarten Analyse.

  3. Umfang und Angebot abstimmen

    Sie erfahren, welche Leistungen und Ergebnisse vereinbart werden. Aufwand und Kosten klären wir vor der Beauftragung.

Datenbank-Bereinigung anfragen

* Pflichtfelder. Eine kurze Beschreibung genügt.

Unter dieser Adresse antworte ich Ihnen.

Welches System nutzt die Datenbank, zum Beispiel eine eigene Anwendung, WordPress oder einen Shop? Wie groß ist sie ungefähr? Was ist Ihnen aufgefallen, etwa lange Sicherungen oder langsame Abfragen?

So kann ich mir einen ersten Eindruck verschaffen.

Ihre Angaben werden zur Bearbeitung Ihrer Anfrage verwendet. Informationen dazu finden Sie in der Datenschutzerklärung. Bitte senden Sie keine Zugangsdaten oder sensiblen Dokumente.

Mit Ihrer Anfrage erteilen Sie noch keinen Auftrag.