Zum Inhalt springen

Mondrian-Schemas

Ein Mondrian-Schema ist das Modell, das rohe Datenbanktabellen in einen analytischen Cube verwandelt — das Ding, das Sie Sales nach Region und Produktkategorie schneiden, in Quartalstrends drillen oder hundert Dimensionshierarchien zu einer kohärenten Abfrage zusammenrollen lässt. Jeder Cube, den Sie in Saiku abfragen, wird von einem gestützt.

Was in ein Schema gehört

Im Herzen des Mondrian-4-Metamodells stehen vier Konzepte:

  • Cubes — jeder Cube bildet auf eine oder mehrere Faktentabellen (und ihre Aggregate) ab und enthält die Measures, die Sie aggregieren können.
  • Dimensionen — die Achsen, nach denen Sie schneiden: Zeit, Geografie, Produkt, Kunde. Dimensionen werden aus Attributen (einzelne Schlüssel und Labels) aufgebaut, die in Hierarchien (geordnete Levels, durch die Sie drillen können) organisiert sind.
  • Measures — die Zahlen, die Sie aggregieren: sum, count, distinct-count, min, max, avg. Calculated Members lassen Sie sie mit MDX-Formeln zusammensetzen.
  • Physisches Schema — der zugrundeliegende Tabellen-Graph: welche Spalten Primärschlüssel sind, welche Spalten Fremdschlüsselverbindungen zwischen Tabellen sind und etwaige berechnete Spalten, die aus SQL-Ausdrücken abgeleitet sind.

Shared Dimensions können einmal definiert und über mehrere Cubes hinweg wiederverwendet werden. Access-Control-Rollen können die Sichtbarkeit auf Cube-, Dimensions-, Hierarchie- oder einzelner Member-Ebene einschränken.

Zwei Erstellungsformate — eine Engine

Saiku unterstützt Schemas sowohl in XML als auch in YAML. Die Engine sieht so oder so dasselbe Modell.

XML ist das klassische Mondrian-Format — ausführlich, aber jedem vertraut, der bereits mit Mondrian gearbeitet hat.

YAML ist die moderne Alternative. Es ist lesbarer, leichter in Code Reviews zu diffen und einfach mit Kommentaren zu versehen. Die Saiku-Engine erkennt automatisch jede Katalog-Datei, deren Inhalt mit schema: beginnt, und routet sie vor dem Rest der Lade-Pipeline durch den Konverter. Die Konvertierung ist in beide Richtungen verlustfrei.

Beide Formate werden zur Laufzeit identisch geladen. Sie können jederzeit über die CLI zwischen ihnen konvertieren.

Der No-Code-Pfad

Noch nicht bereit, Schema-Dateien zu schreiben? Das Saiku-Dashboard gibt Ihnen zwei No-Code-Einstiegspunkte:

  • Schema-Designer — beschreiben Sie einen Cube in einem Satz, lassen Sie Claude das Modell vorschlagen, dann verfeinern Sie es visuell und speichern Sie als XML.
  • Schemas — verwalten Sie alle Ihre gespeicherten Schemas, bearbeiten Sie die XML direkt und verbinden Sie Schemas mit Verbindungen.

Was in diesem Abschnitt ist

SeiteWas es abdeckt
YAML-SchemasDie vollständige YAML-Element-Referenz mit Beispielen
CLISchema-Dateien aus der Kommandozeile konvertieren und linten
Schema-StrukturTop-Level-Layout eines Mondrian-4-Schemas
Cubes und MeasuresFaktentabellen, Measure-Gruppen, Aggregator-Typen, Calculated Members
DimensionenAttribute, Hierarchien, Levels, Shared Dimensions
Physisches SchemaTabellen, Schlüssel, Fremdschlüsselverbindungen, berechnete Spalten
ErweitertNamed Sets, Annotationen, Aggregations-Hinweise
Zeit-IntelligenzDeklarative YoY, PoP, YTD und rollende Berechnungen über <TimeCalc>
WährungsumrechnungDeklarative FX-Umrechnung mit Stichtag über <CurrencyConversion>
ErweiterungenCustom-Formatter, gescriptete Member, Plug-In-Punkte
ZugriffskontrolleRollen, Grants, Rollup-Policies