Tuning-free
Datenbank wird schneller mit der Zeit und Nutzung!
Dank intelligenten Algorithmen wird EXASolution mit der Nutzung schneller und nicht langsamer wie konventionelle DBMS. Dabei wird der Administrationsaufwand stark reduziert, da EXASolution selbst das laufende Tuning übernimmt.
In einem traditionellen RDBMS muss der Datenbankadministrator (DBA) folgende Fragen beantworten:
- Muss ich das Schema denormalisieren?
- Wie verteile ich die Daten?
- Wie groß müssen die einzelnen Partitionen sein?
- Wie sehen die Daten aus?
- Wie greifen die User auf die Daten zu?
- Wie passe ich die Ausführungspläne einzelner Queries an?
- Welche Indices brauche ich für die optimale Performance?
- Soll ein Teil der Nutzer nur noch fertige Bereiche erhalten?
- Welche Aggregate soll ich noch erstellen?
EXASolution hingegen erledigt die administrativen Arbeiten automatisch und macht die Fragestellung sogar zum Teil überflüssig. EXASolution ist bei jeder Schemaauswahl performant. Die Datenverteilung erfolgt automatisch anhand des Nutzungsprofils. Der EXASOL Optimizer analysiert sowohl Daten als auch Abfragen und passt sie aneinander an, ohne dass der DBA eingreifen muss. Die Indices werden vom System automatisch on the fly anhand der Queryanalyse erstellt und verwaltet.
Mächtiger Kostenbasierter Query Optimizer
Der Optimizer von EXASolution wurde von Anfang an auf die Bedürfnisse der massiv parallelen Datenverarbeitung zugeschnitten. Sein Ziel ist u.a. sicherzustellen, dass die Arbeit überwiegend lokal auf den Knoten erledigt werden kann. Dadurch wird der Kommunikationsoverhead erheblich reduziert, was ebenfalls zur exzellenten Skalierbarkeit von EXASolution beiträgt.
Der Optimizer ermittelt auch anhand der heuristisch berechneten Tabellenstatistiken die Join-Reihenfolge und ermöglicht somit die optimale Verarbeitung von mehrfachen Tabellenverknüpfungen. So wird sicher gestellt, dass EXASolution mit beliebigen Datenmodellen eine optimale Performance liefert.
Indexing
Auch Indices werden vom System selbständig erzeugt, wiederverwendet und ggf. auch wieder verworfen. Der Benutzer hat auch hier nur indirekt Einfluss, indem die ausgeführten Queries als Grundlage für die Index-Auswahl dienen.
Datenverteilung über Knoten
Das System verteilt automatisch jede Tabelle ü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 größtenteils knotenlokal bearbeitet werden können.
Durch das Setzen von Verteilungsattributen kann der Nutzer die Datenverteilung beeinflussen, um die Lokalität weiter zu verbessern.















