Deutsch   |   English
   
 digg.com  del.icio.us 

Datenorganisation

Die Organisation der Daten wird in EXASolution vollautomatisch vom System selbst erledigt, der Benutzer hat nur sehr wenige Möglichkeiten, darauf Einfluss zu nehmen.

Datenverteilung

Das System verteilt automatisch jede Tabelle anhand ihrer Verteilungsattribute über alle aktiven Knoten (shared nothing Architektur). Tabellen, die eine gewisse Größe unterschreiten, werden repliziert, d.h. auf jedem Knoten vollständig gehalten.
Damit ist gewährleistet, dass Joins von Tabellen über deren Verteilungsattribute größtenteils Knotenlokal bearbeitet werden können.

Bezüglich der Datenverteilung gibt es für Tabellen zwei Zustände:

  1. Eine Tabelle hat kein gesetztes Verteilungsattribut.
    In diesem Fall wird die Datenbank die Zeilen der Tabelle (fast) absolut gleichmäßig auf die Knoten verteilen, unabhängig von den Inhalten der Tabelle.
  2. Mindestens eine Spalte der Tabelle ist als Verteilungsattribut festgelegt.
    Alle gesetzten Spalten fließen in den Hashwert ein, der als Verteilungskriterium dient.
Beispiel

Definition der Dateverteilungsattribute

Der nachfolgende Befehl setzt die Spalten, nach denen die Tabelle verteilt werden soll und verteilt die Zeilen der Tabelle auch sofort entsprechend. 

  1. ALTER TABLE <name> DISTRIBUTE BY <column-list>

Tritt ein erhebliches Ungleichgewicht auf, lehnt die Datenbank diesen Verteilungsschlüssel ab.

Das Löschen der gesetzten Verteilungsattribute wird mit Hilfe von ALTER TABLE <name> DROP DISTRIBUTION KEYS durchgeführt.

Der Verteilungsschlüssel kann auch direkt im DDL-Statement gesetzt werden. Dies führt dazu, dass hinzugefügte Daten automatisch verteilt werden und keine weitere Umverteilung der Daten notwendig ist.

  1. CREATE TABLE test1 (
  2.     c_id INT,
  3.     c_name VARCHAR(40),
  4.     c_birthday DATE,
  5.     DISTRIBUTE BY c_id
  6. );
  7.  

Best Practices

  • Wählen Sie nur eine Spalte als Verteilungsschlüssel, es sei denn alle Joins auf dieser Tabelle verwenden immer mehrere Spalten (z.B. ein zusammengesetzter primary oder foreign key).
  • Als Verteilungsschlüssel eignen sich am besten solche Spalten, die nicht viele identische Werte enthalten, da dies meistens zu besseren (restriktiveren) Join-Bedingungen führt.
  • Wählen Sie als Verteilungsschlüssel Spalten, die in den meisten (vielen Joins) verwendet werden, wenn auch die Join-Bedingungen nicht immer identisch sind. Queries werden auch von der Verteilung einer an einem Join beteiligten Tabellen profitieren.
  • Wenn möglich, wählen Sie keine char / varchar Spalten als Verteilungsschlüssel.

Übernahme der Attribute

Verteilungsschlüssel wird in vielen Fällen auch bei CREATE TABLE AS SELECT abgeleitet und übernommen.

Reorganisation der Daten

Eine Datenreorganisation ist nur nach einer Erweiterung des Clusters nötig: Um die eigentliche Downtime möglichst gering zu halten, wird bei Hinzunahme von neuen aktiven Knoten die Datenverteilung nicht angepasst. Diese Anpassung kann/muss dann gezielt geschehen, evtl. nach den jeweiligen Prioritäten der Objekte.

Der Befehl REORGANIZE übernimmt genau diese Aufgabe, wobei man sich entscheiden kann, einzelne Tabellen, ganze Schemata oder gleich die komplette Datenbank zu reorganisieren.

  1. REORGANIZE (TABLE <name> | SCHEMA <name> | DATABASE)

Zu beachten ist hierbei, dass die Operation in jedem Fall Tabellenweise arbeitet, in den Fällen SCHEMA und DATABASE allerdings nach jeder Tabelle automatisch ein COMMIT durchführt!

  • Reorganize erkennt bereits verteilte Tabellen, so dass verschiedene Reorganize-Operationen (REORGANIZE SCHEMA s1; REORGANIZE TABLE s1.t4;) parallel ausgeführt werden können, ohne Mehraufwand für die Datenbank zu erzeugen.
  • Reorganize arbeitet mit write-locks auf Tabellenebene.

Vertikale/Spaltenweise Datenspeicherung

Vertikale/Spaltenweise Datenspeicherung

Dank der Spezialisierung von EXASolution auf Data Warehousing kann das System von der spaltenweise Datenspeicherung enorm profitieren indem die Zahl an IO-Zugriffen und auch die zu verarbeitende Datenmenge deutlich reduziert wird: Typischerweise ist der Zugriff in einem Data Warehouse auf nur wenige Spalten (z.B. für Joins, Filter und Aggregate) beschränkt.

EXASolution ist ein relationales DBMS, das mit Hilfe von Standard SQL bedient wird. Die Datenspeicherung ist komplett transparent für den Nutzer.

Zur Optimierung von Festplattenzugriffen werden Spalten in Blöcke aufgeteilt. Dies ermöglicht maximalen Durchsatz und verhindert das Einlesen von nicht benötigten Daten. Durch verschiedene Operationen (z.B. Löschungen oder Updates) können innerhalb der Blöcke Lücken entstehen, das System führt aber automatisch eine Defragmentierung durch, wenn hier gewisse Grenzen überschritten werden. Die Layout der Datenspeicherung spielt kaum bis gar keine Rolle für die Performance, da für Analysen relevanten Daten sich im Hauptspeicher befinden und dort sehr schnell zugegriffen werden können.

 

Kompression

Kompression

Die automatische Kompression in EXASolution basiert auf einer Stichprobe der zuerst hinzugefügten 100.000 Zeilen pro Knoten, in den meisten Fällen liefert dies bereits einen sehr guten Kontext für die gesamte Tabelle. Sollte die automatische Kompression nicht die erwartete Kompressionsrate liefern, kann mittels RECOMPRESS ein erneutes Komprimieren erzwungen werden und im Kontext der kompletten Tabelle arbeitet.

Von Interesse ist dies hauptsächlich dann, wenn einzelne Tabellen sehr groß werden oder historisch gewachsen sind, so dass die ersten 100.000 Zeilen inhaltlich vom Rest der Tabelle abweichen.

  1. RECOMPRESS TABLE <name> | SCHEMA <name> | DATABASE
Sie kommen nicht weiter?
Von den Experten lernen:
Referenzen
  • AHOOLY
  • COOP
  • „Mit EXASolution sind wir für zukünftiges Datenwachstum bestens gerüstet. Dadurch, dass wir jetzt Geodaten verarbeiten, sprich die Dimension des Raumbezugs mit auswerten können, bieten wir unseren Kunden ganz neue Analysemöglichkeiten und noch umfassendere Marktübersichten. Wir sind sehr zufrieden mit der neuen Lösung, können flexibel auf zukünftige Anforderungen reagieren und trotzdem unsere Total Cost of Ownership reduzieren, da der so gewählte BI-Stack unsere Vision eines „Lean-BI“ in vollem Umfang unsterstützt.“

    Guido Niermann, IT-Leiter, Dataforce GmbH

    Dataforce
  • "Durch die Einbindung von EXASOL können wir unseren Kunden ein ganz neues Erlebnis bezüglich der explorativen Datenanalyse bieten… Neben der Technologie waren wir vor allem mit der Pre-Sales Beratung und dem Support während der Integration äußerst zufrieden."

     Martin Heink
    Geschäftsführer und Inhaber, econda GmbH 

    Econda
  • "Entscheidend für die IMS Health war insbesondere, dass wir uns durch einen sehr schnell aufgesetzten Proof of Concept von der Leistungsfähigkeit von EXASolution direkt überzeugen konnten."

     Michael Kempke
    Director Data Collection Global Operations, IMS Health GmbH & Co. OHG

    IMS
  • "Mit der innovativen Datenbank von EXASOL können wir komplexe Berechnungen genauer und umfangreicher durchführen. Das gibt uns einen signifikanten Technologievorsprung gegenüber der Konkurrenz."

     Tobias Kiessling
    CTO, intelliAd 

    Intelliad
  • "Die durchgängig hohe Leistung und die Möglichkeit, Echtzeitanalysen fahren zu können, waren für uns ausschlaggebend bei der Wahl von EXASolution."

     Tobias Kroha, Geschäftsführer der für das m-pathy-Projekt verantwortlichen seto GmbH

    m-pathy
  • Media Control
  • Olympus
  • "Wir haben uns für EXASolution entschieden, da die Hochleistungsdatenbank mit den zu erwartenden großen Datenmengen sehr gut umgehen kann und optimale Flexibilität bietet."

     Dr. Michael Röbbecke
    (ehem.) Geschäftsführer, RatePAY 

    RatePAY
  • "Mit EXASolution können wir unsere Geschäftsprozesse deutlich optimieren." 

     Gerhard Zapf
    Projektleiter, Semikron 

    Semikron
  • "Ein zuverlässiger und schneller Support, eine bessere Kundenbetreuung sowie eine bewiesene Fachkompetenz…"

     David Hodge
    IT Director, Sony Music Entertainment Germany 

    Sony Music
  • SOQUERO
  • SponsorPay
  • Stayfriends
  • "Die Datenbank von EXASOL ist Technik made in Germany, auf die wir uns langfristig verlassen können. Da sie bei steigendem Datenvolumen selbstständig skaliert und auch physisch beliebig erweitert werden kann, wächst unsere Datenbank mit unserem Unternehmen, und wir können auch in Zukunft flexibel und schnell auf neue Anforderungen reagieren."

     Heinrich Zetlmayer
    Geschäftsführer, Turtle Entertainment 

    Turtle Entertainment
  • United Internet Dialog
  • "Mit EXASolution haben wir eine Lösung erworben, die unsere hohen Leistungsansprüche komplexer Analysen bei steigenden Datenmengen für unsere Kunden optimal erfüllt." 

     Christian Sauer
    Geschäftsführer, Webtrekk GmbH 

    Webtrekk
  • "Wir haben uns nach einem ausgiebigen Benchmark-Test für die Lösung von EXASOL entschieden. Die hohe Performance des Systems, das Preis-/Leistungs-Verhältnis und der Service haben uns vollauf überzeugt"

    Dr. Ulrich Fricke
    Leiter Business Intelligence, XING AG 

    Xing
  • "Neben Wirtschaftlichkeit, Geschwindigkeit und hoher Leistungsfähigkeit war Flexibilität eines der entscheidenden Kriterien bei der Wahl unserer Datenbank… Die neue Datenbank bietet uns diese Skalierbarkeit bei reduzierten Total Cost of Ownership. So können wir auch in Zukunft immer die optimale Analyseleistung für unsere Kunden erbringen…"

     Sebastian Hoop
    Head of Operations, xplosion interactive gmbh 

    Xplosion
  • Zalando