Skip to content

Was eine semantische Schicht ist, und was einmal definieren wirklich bedeutet

Eine semantische Schicht gibt einer Kennzahl ein einziges Zuhause. Jedes Tool, das die Kennzahl ausrechnet, liest dieses eine Zuhause. Alle bekommen dieselbe Zahl. Hier steht, was das in der Praxis bedeutet, und was sich ändert, wenn Sie mehr als ein Warehouse betreiben.

Aktualisiert · 6 Min. Lesezeit

Derselbe Name, zwei Zahlen

Zwei Menschen öffnen zwei Dashboards. Beide tragen die Beschriftung Nettoumsatz. Die beiden Zahlen unterscheiden sich um vier Prozent. Beide halten stand, weil jede woanders ausgerechnet wurde. Die eine kam aus einer Arbeitsmappen-Berechnung. Die andere kam aus einer View im Warehouse, und keine der beiden weiss, dass die andere existiert.

Das ist meist kein Problem der Daten selbst. Das Warehouse ist in Ordnung. Der Ärger sitzt woanders. Die Definition von Nettoumsatz lebt an mehr als einem Ort, also gibt es mehr als eine davon.

Eine semantische Schicht behebt genau diesen einen Fehler. Sie gibt einer Kennzahl ein einziges Zuhause. Andere Menschen lesen die Kennzahl dann, statt sie noch einmal auszuschreiben.

Was eine semantische Schicht ist

Eine semantische Schicht ist eine governte Beschreibung Ihrer Daten. Sie sitzt zwischen den physischen Tabellen und den Menschen, die Fragen stellen. Sie hält drei Arten von Dingen.

  • Entitäten. Die Geschäftsobjekte, über die Sie sprechen: Kunde, Auftrag, Police, Schadenfall.
  • Dimensionen. Die Arten, sie zu schneiden: Region, Produktlinie, Monat, Kanal.
  • Kennzahlen. Die Zahlen, jede mit dem genauen Ausdruck, der sie erzeugt.

Der Ausdruck ist der Teil, der zählt. Ein Feld Nettoumsatz zu nennen erzeugt keine semantische Schicht; es wird zu einer Kennzahl, die die Schicht nutzen kann, sobald sie seine Aggregation, seine Filter und seine Granularität festhält. Diese drei werden dann veröffentlicht und durchgesetzt.

Eine semantische Schicht ist ein Vertrag, keine Kopie Ihrer Daten. Sie speichert keine Zeilen. Sie speichert deren vereinbarte Bedeutung und zeigt auf die Tabellen, die sie tragen.

Was einmal definieren bedeutet

Einmal bedeutet, dass der Ausdruck an genau einem Ort sitzt. Jedes Tool, das die Kennzahl braucht, liest sie von dort.

  1. Ein Mensch definiert die Kennzahl im Warehouse, mit ihrem Ausdruck, ihrer Granularität und ihren Filtern.
  2. Die Definition wird als governtes Objekt veröffentlicht. Die Plattform selbst versteht es. Es ist kein Dokument über die Plattform.
  3. Jede Frage, die diese Kennzahl nennt, wird beantwortet, indem die gespeicherte Definition ausgeführt wird.
  4. Eine Änderung der Definition ändert jede Antwort, in einer Bearbeitung, unter einer Prüfung.

Der Test ist schlicht. Ändern Sie die Definition von Nettoumsatz an einer Stelle. Wenn jedes Dashboard, jedes Notebook und jeder Assistent folgt, ist die Kennzahl einmal definiert. Wenn andere Kopien gefunden und bearbeitet werden müssen, war sie nie einmal definiert.

Dieselbe Idee, vier Namen

Alle vier grossen Plattformen liefern das inzwischen. Jede nennt es anders. Die Worte zählen mehr, als sie sollten. Ein Warehouse-Team kennt sein eigenes Objekt unter seinem eigenen Namen, und das falsche Wort macht dieses Gespräch schwerer als nötig.

Salesforce Data 360
Ein semantisches Modell, registriert in Data 360. Die Frageoberfläche, die es speist, ist Tableau Semantics.
Snowflake
Eine Semantic View, katalogisiert in Horizon Catalog. Die Frageoberfläche, die sie speist, ist Cortex Analyst.
Databricks
Eine Metric View, katalogisiert in Unity Catalog. Die Frageoberfläche, die sie speist, ist Genie.
Palantir AIP
Eine Ontology, veröffentlicht in Foundry. Objekttypen tragen die Entitäten und ihre Dimensionen, und eine Function ist der Ort, an dem eine Kennzahl deklariert wird.

Vier Namen, eine Form. Jedes ist ein benanntes Objekt, das Entitäten, Dimensionen und Kennzahlen hält. Jedes lebt im eigenen Katalog der Plattform, sodass die eigenen Tools der Plattform es respektieren. Foundry ist das eine, das keine Kennzahl für Sie benennt. Wenn jemand sagt, sein Unternehmen habe eine semantische Schicht, ist das das Objekt, das gemeint ist. Zu fragen, welches der vier gebaut wurde, bringt Sie schneller ans Ziel als zu fragen, was es enthält.

Eine Anmerkung aus der Praxis, gelernt beim Sondieren eines echten Snowflake-Kontos. Dimensionen müssen dort mit ihrer Entität qualifiziert werden. Derselbe Dimensionsname ist oft auf zwei Entitäten in unterschiedlicher Granularität angelegt, und ein blosser Name könnte beides bedeuten. Snowflake lehnt ihn als mehrdeutig ab. Das ist das richtige Verhalten, und es sorgt für einen verwirrenden Anfang.

Mehr als ein Warehouse betreiben

Innerhalb einer Plattform ist einmal definieren ein kurzer Satz. Die meisten Unternehmen von einiger Grösse betreiben mindestens zwei Plattformen. Das wird sich nicht ändern.

Dieselbe logische Tabelle wird dann zweimal definiert, einmal pro Plattform, von zwei Teams unter zwei Prüfprozessen. Beide Definitionen sind governt. Beide können trotzdem auseinanderdriften. Nichts in einer der beiden Plattformen beobachtet die andere.

Boreons TabTotal liest die Kataloge in ein Objektmodell. Dasselbe Schema und dieselbe Tabelle können an mehreren Orten auftauchen. Sie landen als ein Objekt, das sich an jede Quelle erinnert, aus der es kam, nicht als getrennte Objekte ohne Verbindung. Jedes Paar verbundener Warehouses wird dann verglichen, und wo zwei Strukturen nicht übereinstimmen, wird die Lücke als Governance-Feststellung protokolliert, die dieses Paar nennt. Sie lesen es in einem Bericht, nicht in einem Meeting.

Dieser Vergleich liest, was die Kataloge deklarieren. Eine Frage wird nie an mehrere Warehouses gestellt, um zu sehen, ob ihre Antworten übereinstimmen: eine Abfrage, die Felder aus mehr als einem nennt, wird abgelehnt, nicht weitergeleitet, weil es unter beiden keine gemeinsame Engine gibt.

Was sie erbt

Eine semantische Schicht, die verlangt, dass Sie Ihren Katalog neu tippen, wird zu einem zweiten Katalog. Zweite Kataloge veralten. Die erste Synchronisation liest, was bereits existiert: Tabellen, Spalten, Kommentare, Tags, Schlüssel und Freigaben. Namenskonventionen kommen dazu und werden nie verlangt. Ein Warehouse, das keinem der erwarteten Muster entspricht, kommt trotzdem vollständig an.

Der Name der Schicht kommt aus dem eigenen qualifizierten Label des Objekts. Ein Kommentar über das Objekt entscheidet das nicht. Eine Tabelle in meta liegt in der Schicht meta. Eine Tabelle in gold liegt in gold. Die Liste der Schichtnamen ist offen. Ein Name, den niemand dem Tool beigebracht hat, landet trotzdem richtig. Eine geschlossene Liste würde ihn zu unbekannt zusammenfallen lassen, zusammen mit jeder anderen Konvention, der sie noch nicht begegnet ist.

Wo ein deklarierter Kommentar und das Objektlabel nicht übereinstimmen, werden beide behalten, und die Lücke ist selbst eine Feststellung. Ihre eigene Taxonomie zu übernehmen und zu bemerken, wenn sie sich selbst widerspricht, ist dieselbe Arbeit.

Warum der Vertrag durchgesetzt wird

Eine veröffentlichte Definition, die nichts prüft, ist ein Dokument. Der Wert zeigt sich in einem Moment. Eine Abfrage nennt eine Kennzahl. Die gespeicherte Definition wird geprüft, bevor diese Abfrage läuft.

In diesem Produkt sind die Namen, die das Warehouse erreichen, die eigenen Kopien des Vertrags. Ein Name ausserhalb des Vertrags hat überhaupt keinen Codepfad zu einem Warehouse. Die Abfrage kommt zurück und nennt, was ausserhalb des Vertrags lag. Das Ergebnis ist ausserdem auf eine Zeilenzahl begrenzt.

Diese Eigenschaft ist in den Code gebaut, nicht in eine Anweisung geschrieben. Eine Anweisung an ein Modell kann ignoriert werden. Ein Codepfad, den es nicht gibt, lässt sich nicht überreden. Die Wirkung für den Betreiber der Site ist eng und nützlich. Durch dieses Produkt hat eine governte Kennzahl einen einzigen Weg, ausgerechnet zu werden, und es ist der offizielle.

Wo Sie nachsehen

  • Die semantische Konsole zeigt, was synchronisiert wurde, pro Warehouse, mit Zählern und Paritäts-Chips.
  • Die Integrationskonsole zeigt, welche Zugangsdaten jede Verbindung genutzt hat, mit Host, Rolle und Warehouse. Das Geheimnis selbst erscheint nie.
  • Der Felddatensatz trägt neun Attribute pro Feld, darunter Eigentümer, Steward und Klassifizierung. Sie sehen, was dokumentiert ist und was nicht.

Eine erste Synchronisation meldet oft überwiegend unbekannte Eigentümer. Das Tool funktioniert. Was Sie sehen, ist, wie viel von Ihrem Katalog heute dokumentiert ist, schlicht gezeigt. Eine leere Schicht bekommt null Punkte. Null ist der einzige Ausgangspunkt, der etwas wert ist.