Datenmanagement

Wie die Partitionierung auf Ihrer Datenplattform die Leistung verbessert

Colm Ginty

14. Dezember 2023

Datenpartitionierung

Eines meiner Ziele als Customer Success Manager bei Actian ist es, Unternehmen dabei zu helfen, die Effizienz und usability unserer modernen Produktsuite zu verbessern. Aus diesem Grund habe ich kürzlich einen ausführlichen Artikel über Best Practices zur Partitionierung der Actian Data Platform in der Actian Community Ressource geschrieben.

In diesem Blog möchte ich Ihnen zeigen, wie Partitionierung dazu beitragen kann, die Verwaltbarkeit und Leistung der ActianPlattform zu verbessern. Die Partitionierung ist eine nützliche und leistungsstarke Funktion, die Tabellen und Indizes in kleinere Teile aufteilt und sie sogar noch weiter in noch kleinere Teile unterteilen kann. Es ist, als würde man Tausende von Büchern nehmen und sie in Kategorien anordnen - das ist der Unterschied zwischen einem riesigen Bücherstapel in einem großen Raum und der strategischen Anordnung der Bücher in kleineren Themenbereichen, wie man sie in einer modernen Bibliothek sieht.

Mit der Partitionierungsfunktion, die auf unserer Plattform zur Verfügung steht, können Sie mehrere geschäftliche und IT-Vorteile erzielen. So kann die Partitionierung beispielsweise die Kosten senken, indem die Daten optimal gespeichert werden, und die Leistung steigern, indem Abfragen parallel in kleinen, geteilten Tabellen ausgeführt werden.

Warum das Verteilen und Partitionieren von Tabellen für die Leistung entscheidend ist

Wenn wir in der Cloud arbeiten, verwenden wir verteilte Systeme. Anstelle eines großen Servers verwenden wir also mehrere Server normaler Größe, die miteinander vernetzt sind und wie die Knoten eines einzigen riesigen Systems funktionieren. Traditionell würden diese Knoten sowohl Daten speichern als auch verarbeiten, da die Speicherung von Daten auf demselben Knoten, auf dem sie verarbeitet werden, eine schnelle Leistung ermöglicht.

Die moderne Objektspeicherung in der Cloud ermöglicht heute einen hocheffizienten Datenabruf durch den Verarbeitungsknoten, unabhängig davon, wo die Daten gespeichert sind. Infolgedessen müssen wir die Daten nicht mehr auf demselben Knoten speichern, der sie verarbeitet, um einen Leistungsvorteil zu erzielen.

Doch auch wenn wir uns keine Gedanken mehr darüber machen müssen, wie wir die Daten speichern, müssen wir darauf achten, wie wir sie am effizientesten verarbeiten können. Oftmals enthalten die Tabellen in unserem Data Warehouse zu viele Daten, um sie mit nur einem Knoten effizient zu verarbeiten. Daher werden die Tabellen auf mehrere Knoten verteilt.

Wenn eine bestimmte Tabelle zu viele Daten enthält, um von einem einzigen Knoten verarbeitet zu werden, wird die Tabelle in Partitionen aufgeteilt. Diese Partitionen werden dann auf die vielen Knoten verteilt - das ist das Wesen eines "verteilten Systems", das eine schnelle Leistung ermöglicht.

Partitionierung in der Actian Data Platform

Mit einer Partitionierungsstrategie und einer Strategie fürDatenmanagement können Sie den größten Nutzen aus Ihrer Datenplattform ziehen. Sie können die Daten auf viele Arten partitionieren, zum Beispiel je nach den Anforderungen einer Anwendung und dem Inhalt der Daten. Wenn die Leistung das Hauptziel ist, können Sie die Last gleichmäßig verteilen, um den größten Durchsatz zu erzielen. Auf der Actian Data Platform stehen mehrere Partitionierungsmethoden zur Verfügung.

Die Partitionierung ist bei unserer Plattform wichtig, da sie auf Parallelität ausgelegt ist. Die Verteilung von Zeilen einer großen Tabelle auf kleinere Untertabellen, oder Partitionen, hilft bei der schnellen Anfrage .

Die Benutzer haben ein Mitspracherecht, wie die ActianPlattform mit Partitionen umgeht. Wenn Sie sich dafür entscheiden, die Partition nicht zu verwalten, wählt die Plattform standardmäßig die automatische Einstellung. In diesem Fall bemüht sich der Server nach Kräften, die Daten auf die am besten geeignete Weise zu partitionieren. Der Nachteil dieses Ansatzes ist, dass bei der Zusammenführung oder Gruppierung von Daten, die verschiedenen Knoten zugewiesen sind, Daten über das Netzwerk zwischen den Knoten verschoben werden müssen, was zu höheren Kosten führen kann.

Eine andere Möglichkeit ist, die Partitionen selbst zu steuern, indem Sie einen Hash-Wert verwenden, um die Zeilen gleichmäßig auf die Partitionen zu verteilen. So können Sie die Partitionierung für Joins und Aggregationen optimieren. Wenn Sie beispielsweise Daten im Data Warehouse abfragen und die Anfrage viele SQL-Joins oder Gruppierungen umfasst, können Sie die Tabellen so partitionieren, dass bestimmte Werte in den Spalten demselben Knoten zugewiesen werden, was die Joins effizienter macht.

Wann sollten Sie sich trennen?

Es ist eine bewährte Praxis, die Partitionierungsfunktion in der Actian Data Platform zu verwenden, wenn Sie Tabellen erstellen und Daten laden. Wahrscheinlich haben Sie aber auch nicht partitionierte Tabellen in Ihrem Data Warehouse, und die Umverteilung dieser Daten kann die Leistung verbessern.

Sie können Abfragen durchführen, die Ihnen Aufschluss darüber geben, wie gleichmäßig die Daten in ihrem aktuellen Zustand im Data Warehouse verteilt sind. Sie können dann feststellen, ob eine Partitionierung erforderlich ist.

Mit Actian haben Sie die Möglichkeit, die beste Anzahl von Partitionen für Ihre Bedürfnisse zu wählen. Sie können die Standardoption verwenden, die dazu führt, dass die Plattform automatisch die optimale Anzahl von Partitionen auf der Grundlage der Größe Ihres Data Warehouse auswählt.

Ich empfehle den Kunden, mit der Standardeinstellung zu beginnen und dann, falls erforderlich, die Anzahl der Partitionen manuell zu erhöhen. Da die Actian Data Platform auf Parallelität ausgelegt ist, können Sie durch die Ausführung von Abfragen, die Aufschluss darüber geben, wie Ihre Daten verteilt sind, und die anschließende Partitionierung von Tabellen nach Bedarf effizient und mit optimaler Leistung arbeiten.

Details zur Partitionierung, einschließlich Beispielen, Grafiken und Code, finden Sie in der ActianCommunity und in meinem Artikel über Best Practices zur Partitionierung. Sie können alles, was Sie über Partitionierung auf der Actian Data Platform wissen müssen, in nur 15 Minuten lernen.

Colmy Ginty

Über Colm Ginty

Colm Ginty ist Customer Success Engineer bei Actian und unterstützt Unternehmen dabei, den Wert der Actian Data Platform zu maximieren. Mit 8 Jahren Erfahrung als Data Engineer, der sich auf verteilte Systeme wie Spark und Kafka spezialisiert hat, bringt Colm Ginty praktische Erfahrung in der Echtzeit-Datenverarbeitung mit. Er hat bei Data Engineering Meetings Fallstudien vorgestellt und sich dabei auf die scalability und Kostenoptimierung von Systemen konzentriert. Im Actian-Blog schreibt Colm über Best Practices für Deployment , Performance Tuning und big data . Schauen Sie sich seine neuesten Artikel an, um praktische Anleitungen zu erhalten.