Partitionierungstechniken in Datenbanksystemen kleines Seminar von Tatjana Brot
Gliederung des Vortrages Einführung Grundlagen der Partitionierung Definition Partitionierungsverfahren Partitionierungsarten Partitionierungsstrategien Partitionierungsentwurf Nutzen einer Partitionierung Beispiele für DBMSe Zusammenfassung
Einführung Problem: immer weiter steigende Datenmengen, sehr große Tabellen Lösung: Einsatz von Hardware, Ausnutzen von Anwendungswissen, geeigneter Datenbankentwurf Lösung für große Datenbanken – Einsatz einer Kombination: materialisierte Sichten, Bitmap-Indexe, Partitionierung
Definition Partitionierung – horizontale, vollständige und transparente Aufteilung einer Datenbanktabelle in disjunkte Teiltabellen. Die einzelnen Partitionen werden physischen Speicherbereichen zugewiesen.
Partitionierungsverfahren nicht wertebasiert - Partition eines Tupels wird mit Hilfe eines Fremdkriteriums (Zufallszahl, Reihenfolge des Einfügens eines Tupels) festgelegt. Nachteil: Zuordnung Tupel - Partition nicht wiederholbar Verwendung: parallele Anfrageverarbeitung wertebasiert – Partition wird aus einem oder mehreren Attributwerten des Tupels berechnet. Vorteil: die Zuordnung Tupel – Partition bleibt nachvollziehbar
Partitionierungsarten Nicht wertebasierte Verfahren: Round-Robin-Partitionierung – Verteilung der Tupel bezüglich der Einfügereihenfolge Random-Partitionierung – zufällige Verteilung Wertebasierte Verfahren: Hash-Partitionierung – Partition wird mit Hilfe einer Hash-Funktion berechnet intervallweise Partitionierung (oder Bereichspartitionierung)
Bereichspartitionierung Zerlegung des Wertebereichs der ausgezeichneten Attribute in disjunkte Intervalle Verteilung der Tupel entsprechend des Wertes der ausgezeichneten Attribute Zuordnung Bereich-Partition eindeutig Optional – Restpartition, kann als Ausnahme mehrere Partitionen enthalten
Beispiel einer Bereichspartitionierung P1 falls 2001-01-01 DATUM < 2001-04-01 P2 falls 2001-04-01 DATUM < 2001-07-01 P3 falls 2001-07-01 DATUM < 2001-10-01 P4 falls 2001-10-01 DATUM < 2002-01-01 P5 sonst f (DATUM)
Partitionierungsstrategien Wertebasierte Verfahren: Eindimensional – Partitionierung über genau ein Attribut Mehrdimensional – Partitionierung bezüglich mehrerer Attribute Vorteil: viele Anfragen können von dieser Partitionierung profitieren
Partitionierungsentwurf Logisches Datenbankschema -> geeignetes Partitionierungsschema Auswahl der Tabellen Anzahl der Partitionen Verteilung der Tupel Aufteilung des Wertebereichs Anwendungserfordernisse Verschiedene Strategien: Propagieren der Partitionierungsidee Ausnutzung tabellenübergreifender Integritätsbedingungen
Nutzen einer Partitionierung Ziele: Leistungssteigerungen bei der Ausführung von Anfragen Verbesserung der Administrierbarkeit Erhöhung der Verfügbarkeit
Beispiele für DBMS DB2 Oracle Informix Adabas
Zusammenfassung