
Was ist Partitionierung?
Partitionierung beinhaltet das Aufteilen großer Datenbankobjekte, wie Tabellen, Indizes und Ansichten, in kleinere, leichter verwaltbare Teile. Diese Methode verbessert die Datenorganisation und erleichtert die Verwaltung großer Datenmengen, was insbesondere für komplexe oder umfangreiche Daten die Leistung steigert.
Die Hauptvorteile der Partitionierung sind bessere Kontrollierbarkeit, Leistung und Verfügbarkeit. Sie ermöglicht es Administratoren, verschiedene Teile der Datenbank unabhängig zu optimieren und zu warten, was die Abfrageeffizienz und Systemverfügbarkeit verbessert und gleichzeitig gezieltere Verwaltungsstrategien ermöglicht.
- In einigen Fällen verbessert die Partitionierung die Leistung beim Zugriff auf partitionierte Tabellen.
- Partitionierung kann als führende Spalten in Indizes fungieren, wodurch die Größe des Indexes verringert und die Möglichkeit erhöht wird, die meistgesuchten Indizes im Speicher zu finden. Wenn ein großer Teil eines Abschnitts im Ergebnissatz verwendet wird, kann das Durchsuchen dieses Abschnitts viel schneller erfolgen als ein gelegentlicher Zugriff auf die Daten, die über die gesamte Tabelle durch den Index verteilt sind.
- Massives Hochladen und Löschen von Daten kann durch Hinzufügen und Löschen von Abschnitten erfolgen, was die Leistung erhöht.
- Selten verwendete Daten können auf günstigeren Speichergeräten hochgeladen werden.

In DataSunrise wird die Partitionierung verwendet, um die Tabellen der Audit-Speicherdatenbank in Abschnitte (kleinere Tabellen) zu unterteilen. Der Audit-Speicher ist eine Datenbank, die Ergebnisse der DataSunrise-Datenbank-Aktivitätsüberwachung speichert.
- Macht die Verwaltung des Audit-Speichers einfacher, da partitionierte Daten nach Zeit der Partitionierung verteilt werden. Der Datenbankadministrator kann die Abfrage von Partitionen deaktivieren, sie archivieren usw.
- Erhöht die Leistung beim Zugriff auf, Abrufen von Daten und Schreiben von Daten in die partitionierten Tabellen;
- Erhöht die Leistung beim Löschen veralteter Audit-Daten aus dem Audit-Speicher;
DataSunrise unterstützt die Partitionierung für folgende Arten von Audit-Speicherdatenbanken:
- PostgreSQL
- MySQL
- MS SQL Server
Partitionierungsparameter
Können unter Systemeinstellungen -> Zusätzliche Parameter gefunden werden.
- Partitionen Länge (Tage) – Partition Länge, Tage (wenn AuditPartitionShort == 1, dann Minuten). Kann unter Systemeinstellungen -> Audit-Speicher gefunden werden. Wenn Partitionen Länge geändert wird, werden alle vorab erstellten Partitionen gelöscht und neue Partitionen mit neuen Partitionenlänge-Parametern erstellt.
- AuditPartitionCountCreatedInAdvance – Anzahl der im Voraus erstellten Partitionen. Somit werden leere Partitionen erstellt, die in Zukunft gefüllt werden sollen. Dies ermöglicht es DataSunrise, Daten ohne Verzögerungen in vorhandene Partitionen zu schreiben;
- AuditPartitionFirstEndDateTime – Datum/Uhrzeit des Endes der ersten Partition. Diese Zeit ist für die Anpassung der Partitiongrenzen um „runde“ Werte erforderlich. Beispiel: Montag 00:00:00 (für Partition Länge von 7 Tagen).
Partitionierung in modernen Datenumgebungen
Partitionierung ist in Big Data-Umgebungen unerlässlich geworden. Viele Cloud-Plattformen bieten automatische Partitionierungsoptionen. AWS Redshift verwendet Verteilungsstile für eine optimale Datenanordnung. Azure Synapse setzt Verteilungsmethoden ein, um die Abfrageleistung zu verbessern. Partitionierung funktioniert gut mit Data Lakes, die Petabytes an Informationen speichern. Dadurch können Daten in Business-Intelligence-Anwendungen schneller abgerufen werden. Viele Organisationen implementieren zeitraumbasierte Partitionierungsstrategien. Dieser Ansatz eignet sich gut für historische und zeitbasierte Daten. Richtige Partitionierung reduziert Kosten durch Optimierung der Speicherausnutzung und verbessert die Einhaltung von Datenaufbewahrungsrichtlinien.
Effektive Datenverteilungsstrategien
Die Erstellung effektiver Datenverteilungsstrategien erfordert sorgfältige Planung basierend auf Zugriffsmustern und Geschäftsanforderungen. Bereichsorganisation funktioniert am besten für sequentielle Werte wie Daten und ermöglicht es Teams, schnell auf aktuelle Daten zuzugreifen und ältere Informationen zu archivieren.
Hash-Verteilung verteilt Daten gleichmäßig über Speichersegmente und ist ideal zum Lastenausgleich in Umgebungen mit hoher Konkurrenz. Listenbasierte Ansätze organisieren Datensätze nach spezifischen Kategorienwerten, was sie perfekt für geografische oder abteilungsbasierte Segmentierung macht.
Viele Organisationen implementieren hybride Methoden, die mehrere Verteilungstechniken kombinieren, um maximale Leistungssteigerungen zu erzielen und den Wartungsaufwand zu minimieren. Regelmäßige Bereinigungsanalysen stellen sicher, dass Abfragen kontinuierlich nur die notwendigen Datensegmente ansprechen und so optimale Leistung bei zunehmenden Datenvolumina liefern.
Partitionierungsverwaltung in DataSunrise
DataSunrise umfasst Mechanismen zur Partitionierungsverwaltung: DataSunrise erstellt zusätzliche Tabellen, die für den Betrieb erforderlich sind (für PostgreSQL), erstellt und pflegt aktualisierte Partitionierungsfunktionen, partitionierte Schemata, Dateigruppen und Indizes (für MS SQL), ändert Schlüssel und Indizes, um den Anforderungen der Partitionierung zu entsprechen (MySQL), aktiviert die Partitionierung, erstellt und löscht Partitionen.
SELECTs werden über die Mastertabelle durchgeführt. INSERT/UPDATEs erfolgen direkt in die Partition (außer bei MS SQL Server). Dies hilft, die Schreibgeschwindigkeit zu erhöhen.
Namen von Partitionen und Tabellen
Partitionen für PostgreSQL sind als Kindtabellen mit den Namen <table_name>_p<datetime> organisiert, wobei <table_name> die Mastertabelle ist und <datetime> die obere Zeitgrenze der Partition im folgenden Format: JJJJMMTTHHmm.
Für MySQL wird die Partitionierung mit den nativen Mechanismen implementiert. Partitionsnamen werden nach folgendem Schema gebildet: p<datetime>, wobei <datetime> die obere Zeitgrenze der Partition im folgenden Format: JJJJMMTTHHmm ist.
Für MS SQL Server wird die Partitionierung über ein Schema umgesetzt.