MAQL vs. SQL
Trotz ähnlich aufgebauter Syntax und vordefinierten Argumentverweisen, sind MAQL und SQL nicht identisch.
SQL ist eine allgemein verwendbare relationale Datenbanksprache zum Lesen und Schreiben von Daten. MAQL ist multidimensional (siehe MAQL und Multidimensionalität), und Daten werden immer je nach Kontext ausgewertet.
Dieser Bereich beschreibt elementare, jedoch wichtige Unterschiede.
Auf technischer Ebene unterscheidet die GoodData-Plattform, wie Daten in der Datenbank gespeichert werden (physisches Datenmodell) und in welchem Zusammenhang Datenelemente stehen (logisches Datenmodell). Workspace-Entwickler erstellen das logische Datenmodell über eine einfache grafische Benutzeroberfläche. Sobald das Modell in einem Workspace veröffentlicht wird, wird das physische Datenmodell entsprechend erstellt oder aktualisiert.
MAQL vs. SQL
MAQL ermöglicht es Ihnen, komplexe und effektive Berichtsmetriken zu schreiben und das in einem Bruchteil der Zeit im Vergleich zu SQL. Sehen Sie unten:
Wie die folgenden Beispiele zeigen, nutzt MAQL Syntax effektiver als SQL.
Unterschiede bei Datenabfrage
In diesem Bereich sehen Sie die Unterschiede, wie MAQL und SQL bei der Datenabfrage vorgehen.
Angenommen Sie interessieren sich für Verkaufsdaten aus Ihrer Datenbank. Mit SQL würde die Abfrage folgendermaßen lauten:
SELECT SUM(Amount) FROM sales_data;
Ergebnis:
1 000 000
Sie haben Produkte im Wert von $1,000.000 verkauft. Angenommen, Sie müssten nun wissen, wie viele dieser Daten aus dem Verkauf von Schuhen stammen. Mit SQL:
SELECT SUM(amount) FROM sales_data JOIN product_data ON sales_data.product_type_id=product_data.product_type_id WHERE product_data.name = "shoes";
Ergebnis:
500 000
Um zu verstehen, wie diese zweite Abfrage erstellt werden soll, müssen sie folgendes wissen:
- Tabelle und Spalte als Datenbank-Konzept verstehen.
- Sich mit relationalem Algebra auskennen.
- Verstehen, wie und wo Ihre Daten in der Datenbank gespeichert sind, um sie abzufragen.
MAQL geht anders vor. Sie müssen nicht wissen, wie und wo Ihre Daten in der Datenbank gespeichert sind. Das Äquivalent der ersten Abfrage oben lautet bei MAQL folgendermaßen:
SELECT SUM(Amount)
Beachten Sie, dass FROM sales_data nicht notwendig ist. Alle relevanten Summen werden aus der entsprechenden Tabelle in der Datenbank addiert. Über das GoodData-Portal können Sie Abfragen durchführen, ohne genau zu wissen, wie die Daten tatsächlich in der Datenbank gespeichert werden.
Das Äquivalent der zweiten Abfrage oben lautet bei MAQL folgendermaßen:
SELECT SUM(Amount) WHERE Product Type = shoes
Sie müssen sich die Tabellennamen nicht merkenoder Tabellen-Joins herausfinden.
Beispiele
Die folgenden Beispiele zeigen, wie das Erstellen einer Metrik für Gewinn sich unterscheidet, wenn sie mit SQL bzw. mit MAQL geschrieben wird:
Beispiel Wiederverwendbarkeit
SQL | MAQL |
---|---|
Einmalige Abfrage
| Wiederverwendbare Metrik
|
Beispiel für die Kombination mehrere Metriken
SQL | MAQL |
---|---|
Einmalige Abfrage
| Wiederverwendbare Metrik
|