FAQ
Wie viele Tabellen können in EXASolution maximal miteinander verknüpft werden?
EXASolution hat keine Einschränkung bzgl. der Anzahl an Tabellen, die miteinander verknüpft werden können. Unser Optimizer findet automatisch die optimale Join-Reihenfolge. Aus diesem Grund empfehlen wir die Nutzung von möglichst normalisierten Schemata.
Unterstützt EXASolution analytische Funktionen?
Ja. EXASolution unterstützt die am häufigsten verwendeten analytischen Funtkionen.
Welche Join-Syntax wird von EXASolution unterstützt?
EXASolution unterstützt sowohl die offizielle ANSI Syntax als auch die von Oracle eingeführte Join-Syntax.
Unterstützt EXASolution den MERGE-Befehl?
Ja. MERGE wird von EXASolution vollständig unterstützt und besitzt darüberhinaus sogar eine Erweiterung, mit der Zeilen gelöscht werden können.
Kann ich meine eigenen Funktionen in EXASolution schreiben?
Ja. EXASolution unterstützt die Erstellung und Benutzung von skalaren Funktionen. Allerdings können keine SQL-Befehle innerhalb solcher Funktionen ausgeführt werden.
Darüber hinaus steht Ihnen seit der Version 3 eine Skriptsprache zur Verfügung, mit deren Hilfe Programme in EXASolution entwickelt und ausgeführt werden können (CREATE SCRIPT bzw. EXECUTE SCRIPT). Die Skriptsprache in EXASolution wurde in erster Linie entwickelt, um Steuerungsprozesse innerhalb der Datenbank ausführen zu können, wie beispielsweise Beladungsprozesse. Durch Parametrisierung von Skripten können wiederkehrende Aufgaben auf einfache Weise erledigt werden - wie zum Beispiel das Anlegen von Nutzern mit Passwörtern und dazugehörigen Privilegien.
Unterstützt EXASolution CURSORS?
Nein. EXASolution basiert auf der 'Shared Nothing' Architektur und führt die Queries parallel aus, um eine hoch performante Massendatenverarbeitung zu gewährleisten. CURSORS werden benutzt, um Daten sequentiell und zeilenweise zu verarbeiten. Dies würde die Verarbeitung signifikant verlangsamen. Wir empfehlen daher eine Umstellung der Cursor-Verarbeitung auf SQL.
Stellt EXASolution eine native Schnittstelle zur Verfügung?
Ja. Mit Hilfe des EXASolution Client SDK (für C/C++) können Sie z.B. Ihre proprietäre Anwendung an EXASolution anbinden.
Wie geht EXASolution mit laufenden INSERT/UPDATE/DELETE Befehlen um?
EXASolution wurde speziell für das Lastszenario eines Data Warehouses konzipiert. Daher werden DML-Statements für Bulk-Operationen intern parallelisiert. Aber auch für fortlaufende Beladungsprozesse (Real-Time Loading) während gleichzeitigen Ad-Hoc-Abfragen ist EXASolution bestens geeignet, wie unsere Kundenszenarien beweisen.
Unterstützt EXASolution UNICODE?
Ja. EXASolution unterstützt Unicode vollständig.
Wie kann ich meine EXASolution-Datenbank mandantenfähig machen?
Sie können Ihre EXASolution Datenbank mit Hilfe von Views mandantenfähig machen, und dies völlig transparent für die Nutzer. Siehe Datenmodellierung für weitere Informationen und Beispiele.
Werden Tabellen in EXASolution sortiert vorgehalten?
Tabellen sind grundsätzlich ungeordnet, zum Auslesen in bestimmter Reihenfolge muss mit "order by" gearbeitet werden. Die Reihenfolge der Zeilen bei der Ausgabe ohne "order by" hat in der Regel nichts mit der Reihenfolge zu tun, in der die Zeilen eingefügt worden sind.
Beim Datenexport mit Hilfe von EXAloader werden die Daten unsortiert ausgegeben, selbst wenn diese aus einer sortierten Query oder View stammen, da hier die Parallelität ausgenutzt wird und die Zeilen von verschiedenen Knoten vermischt werden.
Gibt es Constraints in EXASolution?
Nein. Wie einige andere Konzepte stammt das von Constraints aus OLTP-Systemen, wo tausende Anwender einzelne Datensätze verändern und die Datenbank sicher stellen muss, dass die Daten korrekt und widerspruchsfrei sind. In einem Data Warehouse dagegen werden die Änderungen zentralisiert vorgenommen. Einzelne Nutzer dürfen lediglich eigene oder temporäre Daten anlegen und verändern.
Ein typischer Vorgang bei Prüfungen in herkömmlichen RDBMS ist:
- Man nehme eine Input-Zeile
- Versuche, in die Zieltabelle einzufügen
- Auf Fehler reagieren
- Zur nächsten Zeile übergehen
Da EXASolution keine Cursors bietet und die Meldung einer Primärschlüsselverletzung innerhalb einer Batchverarbeitung wenig hilfreich ist, sollten Sie anstatt in "FOR-Schleifen" in Datenmengen denken. Mehr dazu finden Sie im Artikel Best Practices Datenqualität.
Es gibt übrigens in EXASolution Data Quality Statements, mit denen solche Checks manuell geprüft werden können (z.B. SELECT * WITH INVALID PRIMARY KEY (<column>) FROM <table>)).















