Was ist ein Satellit in Data Vault?

Ein Satellit enthält alles, was einen Hub beschreibt: Namen, Status, Beträge und jede Änderung daran, angefügt und nie aktualisiert. Er ist eine Slowly Changing Dimension Typ 2 ohne UPDATE, und bringt von Haus aus einen vollständigen Audit-Trail mit.

Was ist ein Satellit in Data Vault?

Die Data-Warehouse-Automationsplattform, der Datenteams aus vielen Branchen vertrauen

Kommt Ihnen das bekannt vor?

  • Die Adresse eines Kunden hat sich geändert, und die alte ist weg, weil der Ladevorgang sie überschrieben hat.
  • Weil sich der Kontostand täglich ändert, wird jede Nacht auch der offizielle Name des Kunden in eine neue Zeile kopiert.
  • Ein Datensatz ist in der Quelle verschwunden, und das Warehouse hat seine Historie gleich mitgelöscht.

Hubs sagen, was existiert. Links sagen, wie die Dinge zusammengehören. Keines von beiden speichert einen Namen, einen Kontostand oder einen Status. Das ist die Aufgabe des Satelliten.

In der Sprache der klassischen Modellierung: Die Attribute einer Entität, ihr Kontext, werden zu einem Satelliten. Wo die Tabelle Customer neben customer_number auch name, address und segment führt, hält der Data Vault die Nummer im Kunden-Hub und die Attribute in einem Satelliten an diesem Hub.

Was ein Satellit ist

Ein Satellit enthält die beschreibenden Attribute eines Hubs und jede Änderung daran im Lauf der Zeit. Zieht ein Kunde um, überschreibt der Satellit die Adresse nicht: Er fügt eine neue Zeile an, und die alte bleibt erhalten. Jede Zeile hält fest, wann sie in den Vault kam und welches System sie geliefert hat. So ist jede Version nachvollziehbar.

Wer die dimensionale Modellierung kennt: Ein Satellit ist eine Slowly Changing Dimension Typ 2, nur ohne dass je ein UPDATE ausgeführt wird. Auf Wunsch lässt sich die Historisierung auch abschalten, das ergibt einen nicht historisierten Satelliten.

Der Aufbau eines Satelliten

Teil Spalten Zweck
Parent Hash-Schlüssel des Hubs Welchen Eintrag im Parent-Hub diese Zeile beschreibt
Zeit und Audit Load Date, Record Source Wann die Zeile ankam und woher
Payload Beschreibende Attribute Straße, E-Mail, Betrag, Status
Änderungserkennung (optional) Hash-Diff Ein Hash über die gesamte Payload

Der Primärschlüssel ist der Parent-Hash-Schlüssel plus das Load-Date.

Der Hash-Diff ist eine Option, keine Regel

Data Vault nach Lehrbuch verlangt, für jede Satellitenzeile einen Hash-Diff zu berechnen, um Änderungen zu erkennen. In der Praxis hängt das vom Ladevorgang ab:

  • Delta-Loads: Die gespeicherten Zeilen haben ihren Hash bereits, also ist es günstig, nur die eingehenden Zeilen zu hashen. Hier ist der Hash-Diff im Vorteil.
  • Full-Loads: Bei jedem Lauf Millionen von Zeilen zu hashen, kostet viel Rechenleistung. Ein direkter Spaltenvergleich (IS DISTINCT FROM) ist auf modernen Datenbanken oft schneller.
  • Breite Tabellen: Oft wird behauptet, breite Tabellen profitierten am meisten vom Hashen. Eher trifft das Gegenteil zu: Breitere Zeilen bedeuten längere Zeichenketten, die vor dem Hashen verkettet werden müssen.

Datavault Builder unterstützt den Hash-Diff als Option, nicht als Pflicht. Dem Hash-Diff ist ein eigener Artikel dieser Reihe gewidmet.

Transaktionen erhalten einen eigenen Satelliten

Mengen, Preise und Beträge einer Auftragsposition beschreiben die Transaktion selbst. Mit einem Grain-Hub für die Auftragsposition, wie im Artikel über Links beschrieben, kommen sie in einen gewöhnlichen Satelliten an diesem Grain-Hub und werden dort wie jedes andere Attribut historisiert.

Wie Sie Satelliten aufteilen

  • Nach Quellsystem. Daten aus CRM und ERP teilen sich nie einen Raw-Satelliten. Jede Quelle behält ihre eigene Herkunft, unverändert.
  • Nach Änderungshäufigkeit. Stehen ein täglicher Kontostand und ein offizieller Name im selben Satelliten, wird der Name jeden Tag in eine neue Zeile kopiert. Schnell und langsam wechselnde Attribute werden getrennt gehalten.
  • Nach Schutzbedarf. Personenbezogene Daten wie Name, E-Mail und Geburtsdatum kommen in einen eigenen Satelliten, getrennt von Attributen, die niemanden identifizieren. Für das DSGVO-Reporting gibt es dann eine klare Anlaufstelle, und Zugriffsregeln oder ein Löschantrag betreffen nur diesen Satelliten.
  • Nie löschen. Verschwindet ein Datensatz in der Quelle, bleibt seine Historie erhalten. Ein Record-Tracking-Satellit vermerkt, dass der Schlüssel nicht mehr geliefert wird. Die Ausnahme ist eine gesetzliche Pflicht, Informationen zu entfernen, etwa ein Löschantrag nach DSGVO, und genau dort zahlt sich die Aufteilung nach Schutzbedarf aus.

Was sich mit Datavault Builder ändert

Sie ordnen im Modell Quellspalten einem Satelliten zu. Änderungserkennung, Append-only-Ladevorgang und Audit-Spalten werden generiert und laufen nativ auf Snowflake, Databricks, BigQuery, SQL Server, Fabric, Oracle oder PostgreSQL. Zwei Situationen, die klassische Lademuster nicht abdecken, sind von Haus aus berücksichtigt:

  • Bitemporale Ladevorgänge. Ein Finanzinstitut mit Tagesendverarbeitung hat zwei Zeitachsen: wann etwas für das Geschäft galt und wann das Warehouse es geladen hat. Datavault Builder verarbeitet die Tagesend-Historie und die Lade-Historie gemeinsam und erzeugt bitemporale Satelliten. Wie das funktioniert, lesen Sie im Beitrag zur „Bi-temporale Datenverarbeitung im DWH“. Auch der Bitemporalität ist ein eigener Artikel dieser Reihe gewidmet.
  • Mehr als eine Änderung pro Ladevorgang. Ein Data Lake liefert oft mehrere Versionen desselben Datensatzes in einem Batch. Klassische Muster laden eine Änderung pro Schlüssel und Lauf. Damit müssten Sie die Daten in einer Schleife abarbeiten, und jede Version erhielte den Zeitpunkt des Ladevorgangs als Datum. Datavault Builder lädt alle Änderungen in einem Batch und ordnet jeden Datensatz an der Stelle der Zeitachse ein, an der der Data Lake ihn erfasst hat.

Erleben Sie es live mit Ihren eigenen Datenquellen

Buchen Sie eine kostenlose Demo und bringen Sie den Connector mit, der Sie am meisten kostet, an Geld oder an Zeit.

Drei Schritte zum Satelliten

  1. An genau einen Hub anhängen

    Jeder Satellit beschreibt genau einen Hub. Er wird über den Hash-Schlüssel dieses Hubs plus das Load-Date identifiziert.

  2. Bei Bedarf sinnvoll aufteilen

    Wo es hilft: nach Quellsystem, nach Änderungshäufigkeit oder nach Schutzbedarf (personenbezogene Daten getrennt).

  3. Die Ladeprozesse generieren lassen

    Datavault Builder generiert für jeden Satelliten die Änderungserkennung und den Append-only-Ladevorgang.

Wie Datavault Builder die Reibungsverluste in der Ingestion beseitigt

  • Ingestion ist eingebaut

    Batch-, Delta- und CDC-Ladevorgänge aus Datenbanken, Dateien, REST-APIs, NoSQL und Python-Quellen, mit Streams wie Kafka, die als Micro-Batches ankommen. Dieselbe Plattform, die das Warehouse generiert, keine zweite Rechnung.

  • Ihr Schema, nicht das des Anbieters

    Quelltabellen werden auf ein Data-Vault-2.0-Modell gemappt, das Sie entworfen haben. Eine neue Spalte oder eine umbenannte Tabelle ändert ein Mapping, keine Kette von Skripten nach dem Load.

  • Nur Deltas bewegen sich

    Hubs, Links und Satelliten laden, was sich geändert hat. Vollständige Ladevorgänge bleiben im Staging, statt jede Nacht weiter unten neu verarbeitet zu werden.

  • Historie wird von Haus aus behalten

    Jede Änderung wird so festgehalten, wie sie eintrifft. Historien- und Stichtagsabfragen funktionieren also auch dort, wo die Quelle ihre eigenen Zeilen überschreibt.

  • Code, den Sie nie von Hand schreiben

    Laden, Historisierung und Lineage werden in Echtzeit aus dem Modell generiert und laufen nativ auf Snowflake, Databricks, BigQuery, SQL Server, Fabric, Oracle oder PostgreSQL.

  • Eine Plattform, bis zu neun Tools weniger

    Modellierung, ETL, CI/CD, Dokumentation und Lineage an einem Ort. Das ist es, was 14,7 Minuten von der Anforderung bis zur Produktion möglich macht.

Ausgezeichnet von BARC im Data Fabric Survey 26

Sprechen Sie mit unserem Experten

Zwanzig Minuten mit unserem Sales Director und eine ehrliche Antwort, ob das zu Ihrem Stack passt.

Matt Collett

Matt Collett

Sales Director

Was suchen Sie?

Mit dem Absenden stimmen Sie unserer Datenschutzerklärung.

Weitere Probleme in dieser Serie

  • Technische Schlüssel vs. Business-Keys

    Technische Schlüssel vs. Business-Keys in Data Vault

    Quellsysteme speichern den Business-Key im Stammdatensatz, doch jede Beziehung läuft über technische Schlüssel. Vier Wege, damit umzugehen, was jeder davon kostet, und das Muster, das wir verwenden: ein PSA-Hub für die technischen Schlüssel, der dem Business-Key-Hub zugeordnet wird.

  • Business-Key

    Was ist ein Business-Key in Data Vault?

    Ein Business-Key ist die Kennung, mit der Ihre Mitarbeitenden und Kunden tatsächlich arbeiten: die Kundennummer, die Rechnungsnummer, die Vertragsnummer. Er ist stabil, wird systemübergreifend verwendet, und auf ihm baut jeder Hub in einem Data Vault auf.

  • Link

    Was ist ein Link in Data Vault?

    Ein Link hält fest, dass Business-Keys zusammengehören: Dieser Auftrag gehört zu diesem Kunden. Datavault Builder deckt den klassischen Data-Vault-Link ab und ergänzt ihn um einen Transaktions-Link, der an einem Grain-Hub verankert ist. Dieser legt die Granularität einer Transaktion fest und ermöglicht Beziehungen zwischen Transaktionen.

  • Hub

    Was ist ein Hub in Data Vault?

    Ein Hub bildet ein zentrales Geschäftsobjekt wie Kunde, Produkt oder Konto als Liste seiner Schlüssel ab: jeden Schlüssel, den das Warehouse je gesehen hat, jeden genau einmal. Er speichert Identität, keinen Zustand, und genau diese Beschränkung macht ihn zu dem Punkt, an dem die Silos der Quellsysteme aufgelöst werden.

Fragen und Antworten