Mittwoch, Mai 01, 2013

Historisierungsverfahren im Vergleich

Dani Schnider (und nicht Snider, wie ich häufiger behauptet habe...) vergleicht im Trivadis-Blog die Historisierungsverfahren des Data Vault Modeling von Dan Linstedt mit der master data Versionierungstechnik, die er (und seine Kollegen) im Buch Data Warehousing mit Oracle vorstellt. Das Data Vault Modeling ist mir erstmals vor ein paar Jahren begegnet, als der (von mir sehr geschätzte) Thomas Kejser im Kimball Forum eine recht heftige Debatte mit dem Herrn Linstedt austrug. Ernsthaft auseinandergesetzt habe ich mich mit dem Thema allerdings nicht, möglicherweise abgeschreckt von der eigenwilligen Begriffswahl im Vault Modeling.

Im Vergleich mit der (jedenfalls auf begrifflicher Ebene) deutlich zugänglicheren Technik des Trivadis-Buchs wird das Data Vault Modeling dann aber recht gut beschreibbar:
  • der head table des Trivadis-Modells entspricht der Hub in der Vault: enthalten ist hier jeweils ein versionsunabhängiger Schlüssel für jede business entity.
  • die version tables des Trivadis-Modells unterscheiden sich von den Satellites der Vault dadurch, dass die version table nur veränderliche Attribute enthält (die statischen Informationen werden in der head table gehalten), während die Satellites alle Attribute - also auch die unveränderlichen - enthalten.
  • die Links der Vault sind immer many-to-many relationships, wodurch das Datenmodell sehr flexibel bleibt.
Dani Schniders Artikel liefert noch weitere Details, aber mir genügt diese Gegenüberstellung in erster Näherung. Ich bin ein großer Freund derartiger idealtypischer Vergleiche, bei denen ein unbekanntes Konzept durch Gegenüberstellung zu einem bekannten Konzept erklärt wird: auch der SQL Server ist für mich ein merkwürdig verzerrtes Oracle-System (was man natürlich auch umgekehrt sehen kann).

Kommentare:

  1. Danke für die gute Zusammenfassung meiner Zusammenfassung :-)
    Gruss, Dani Schnider (nicht Snider)

    AntwortenLöschen
  2. Danke. Den Namen hatte ich mir solide falsch gemerkt - und musste ihn deshalb gerade in vier älteren Einträgen korrigieren ...

    AntwortenLöschen
  3. Immerhin konsequent falsch geschrieben und nun rückwirkend überall korrigiert. Ein klassisches Beispiel von Slowly Changing Dimensions Typ 1 :-)

    AntwortenLöschen