{"id":2539,"date":"2021-12-01T19:02:00","date_gmt":"2021-12-01T18:02:00","guid":{"rendered":"https:\/\/konsilium.de\/blog\/?p=2539"},"modified":"2022-07-06T21:24:11","modified_gmt":"2022-07-06T19:24:11","slug":"data-vault-so-einfach-wie-ein-kuehlschrank","status":"publish","type":"post","link":"https:\/\/konsilium.de\/blog\/2021\/12\/01\/data-vault-so-einfach-wie-ein-kuehlschrank\/","title":{"rendered":"Data Vault &#8211; so einfach wie ein K\u00fchlschrank"},"content":{"rendered":"\n<p>&#8222;The Elephant in the fridge&#8220; hei\u00dft ein Buch von John Giles, 2019 erstmalig erschienen. Es tr\u00e4gt den Untertitel &#8222;Guided steps to Data Vault success through building business-centered models&#8220;. Ich habe das Buch durchgearbeitet und m\u00f6chte meine Gedanken hierzu in Form einer Rezension teilen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"70\" height=\"70\" src=\"https:\/\/konsilium.de\/blog\/wp-content\/uploads\/2021\/10\/feather_BBF300_stroke1px_size20px_edit.png\" alt=\"\" class=\"wp-image-2349\"\/><\/figure>\n\n\n\n<p>Es gibt ja nicht allzu viele B\u00fccher zum Thema Data Vault. Daher bin ich immer wieder gespannt, wenn ein neues Buch auf den Markt kommt. Um mir einen ersten Eindruck zu verschaffen, lasse ich wie immer die Seiten wie ein Daumenkino vor meinen Augen auffliegen. Mir f\u00e4llt auf, dass es relativ textlastig ist und dass die vorhandenen Grafiken im Wesentlichen aus Datenmodellen und ein paar Tabellen bestehen. Ich w\u00fcrde sagen, &#8222;recht typisch&#8220; f\u00fcr ein Buch, in dem es um Data Vault geht. Weiterhin f\u00e4llt mir auf, dass die Grafiken eher &#8222;clean&#8220; und aufger\u00e4umt wirken &#8211; und dass es keine deplatzierten Bilder (Fotos) enth\u00e4lt, die mit dem Inhalt nichts zu tun haben. Ich erw\u00e4hne das nur deshalb, weil mich das bei anderen B\u00fcchern nervt.<\/p>\n\n\n\n<p>Nach dem Daumenkino lese ich mir immer die Headlines des Inhaltsverzeichnisses durch. Jetzt war mein Interesse geweckt und ich war gespannt auf das erste Kapitel &#8211; das einen gelungenen Einstieg darstellt &#8211; jedoch meiner Meinung nach eher nicht f\u00fcr Data Vault Einsteiger nachvollziehbar ist. Dennoch &#8211; Das Buch positioniert sich sowohl f\u00fcr Einsteiger als auch erfahrene Leser. F\u00fcr die Einsteiger ist das Kapitel 2 gedacht (&#8222;A Data Vault primer). Doch genug der Vorrede &#8211; ich stelle nun die einzelnen Kapitel vor.<\/p>\n\n\n\n<p>Ach ja, noch ein Wort zum Titel: Ich habe die Entstehung so verstanden: Ein Data Vault sollte so einfach zu bedienen sein wie ein K\u00fchlschrank: Man kann einfach Dinge reinstellen und genauso einfach wieder rausholen (&#8222;get the data out&#8220;) &#8211; selbst mitten in der Nacht (&#8222;ohne viel Hirnschmalz&#8220;).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kapitel 1: Setting the sense<\/h2>\n\n\n\n<p>Wow! &#8211; auf 13 Seiten wird ein guter Einsteig ins Thema geboten. Es geht um das, was ein nachhaltiges Data Vault ausmacht: Einem Datenmodell mit Fokus auf das Business. Das Pl\u00e4doyer des Autors: Auf einem abstrahiertem Niveau (&#8222;high-level&#8220;) m\u00fcssen die wesentlichen Gesch\u00e4ftsobjekte des Unternehmens \u00fcber eine Ontotlogie \/ Taxonomie geordnet und klassifiziert werden. Hieraus &#8211; und nicht aus einem Quellsystem heraus &#8211; ergeben sich die wesentlichen &#8222;Business Concepts&#8220; &#8211; also die Data Vault Hub-Entit\u00e4ten sowie Links und Satelliten. Diese Positionierung erinnert mich ein wenig an das <a href=\"https:\/\/konsilium.de\/blog\/2014\/07\/13\/data-vault-buch-von-hans-hultgren-review\/\" data-type=\"post\" data-id=\"456\">Buch von Hans Hultgren<\/a>, das ich ebenfalls in meinem Blog rezensiert habe. Im Ergebnis zeigt der Autor dem Leser ein vierstufiges Vorgehensmodell auf, wie er zu diesem Modell kommt &#8211; super! Kern-Message: Source Vault sind b\u00f6se und zu vermeiden &#8211; die fachliche relevante Modellierung ist der Schl\u00fcssel zum Erfolg!.<\/p>\n\n\n\n<p>Das vierstufige Vorgehensmodell sieht wie folgt aus:<\/p>\n\n\n\n<ul><li><strong>Task #1<\/strong>: Form the enterprise view (Kapitel 3)<br>&#8212; &#8222;<em>Build the (enterprise) business view of the data<\/em>&#8222;<\/li><li><strong>Task #2<\/strong>: Apply the enterprise view to design a Data Vault  (Kapitel 4)<br>&#8212; &#8222;<em>Design the Data Vault based on the business view<\/em>&#8222;<\/li><li><strong>Task #3<\/strong>: Map your source systems to the Data Vault design (Kapitel 5)<br>&#8212; &#8222;<em>Source-to-Target-Mapping<\/em>&#8222;<\/li><li><strong>Task #4<\/strong>: Using business rules to close the top-down \/ bottom-up gap (Kapitel 6)<br>&#8212; &#8222;<em>Align business requirements with source system realities<\/em>&#8222;<\/li><\/ul>\n\n\n\n<p>Die weitere Kapitelstruktur des Buches baut genau auf diesen vier Vorgehensschritten (Tasks) auf. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kapitel 2: A Data Vault Primer<\/h2>\n\n\n\n<p>Wie oben erw\u00e4hnt &#8211; das Kapitel f\u00fcr Data Vault Einsteiger. Ich habe es \u00fcbersprungen und bin direkt in Kapitel 3 resp. Vorgehensschritt 1 (Task #1) eingestiegen. Am Ende dieses Kapitels bin ich aber dennoch h\u00e4ngengeblieben an einer Sicht von Giles zum Thema &#8222;Raw Vault&#8220; vs. Business Vault&#8220;. Aus seiner Sicht sollte man beide Bestandteile als logische &#8222;Komponenten&#8220; eines einzigen Data Vaults betrachten. Er sieht zwei unterschiedliche Konzepte, die hier eine Rolle spielen und die seiner Meinung nach oftmals durcheinander gebracht werden. Daher m\u00f6chte er die Phrasen &#8222;Raw Data Vault&#8220; und &#8222;Business Vault vermeiden &#8211; und bef\u00fcrwortet stattdessen folgende Unterscheidungskriterien:<\/p>\n\n\n\n<ul><li>Datenstrukturen eines Hub, Satelliten oder Links, die eine Quellsystem- oder Gesch\u00e4ftssicht repr\u00e4sentieren vs.<\/li><li>Dateninstanzen eines Hub, Satelliten oder Links, die aus einem Quellsystem stammen oder auf Basis einer Gesch\u00e4ftsregel entstanden sind (z.B. eine Datenanlieferung vom Fachbereich) &#8211; erkennbar an der Data Vault Standard-Meta-Information &#8222;Record Source&#8220;<\/li><\/ul>\n\n\n\n<p>Beide Typen findet man sowohl im Raw als auch im Business Vault.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kapitel 3: Task #1: Form the Enterprise View<\/h2>\n\n\n\n<p>Task 1 unterteilt sich wiederum in sieben Schritte (Steps):<\/p>\n\n\n\n<ol><li>Die &#8222;richtige&#8220; Auswahl des Teams<\/li><li>Definition, was unter &#8222;<em>enterprise<\/em>&#8220; verstanden wird (Scope \/ Systemgrenzen)<\/li><li>Ein Verst\u00e4ndnis von den Gesch\u00e4ftsprozessen bekommen <br>(Fachbereichs- und IT-Mitarbeiter m\u00fcssen zusammenarbeiten und voneinder lernen)<\/li><li>Vermittlung \/ Training von allgemeinen Datenmodellierungsmustern <br>(Verweis auf die 9 Pillars Suite; siehe weiter unten)<\/li><li>Zusammenstellung eines leichtgewichtigen Frameworks f\u00fcr das Unternehmen<br>(Tipps zur Organisation von Workshops; Dauer: Einige Tage)<\/li><li>&#8222;Pain Points&#8220; &amp; Detailwissen zu Prozessen<br>(Weitere Deep-Dives mit einer Dauer von einigen Wochen)<\/li><li>N\u00e4chste Schritte (&#8222;<em>cast the net wider<\/em>&#8222;)<\/li><\/ol>\n\n\n\n<p>Ein paar Themen aus den sieben \u201eSteps\u201c im \u00dcberblick (Stichpunkte):<\/p>\n\n\n\n<ul><li>Die Kern-Botschaft des Buches bzgl. der Wichtigkeit einer gesch\u00e4ftsorientieren Modellierung wird mantrahaft wiederholt und u.a. Dan Linstedt zitiert: &#8222;<em>you must focus on ontologies while you are building the Data Vault solution or the full value of the &#8230;Data vault cannot be realized<\/em>&#8222;.<\/li><li>Kl\u00e4rung der Frage, &#8222;w<em>as ist ein Unternehmensdatenmodell<\/em>&#8222;. <br>Aus eigener Projekterfahrung wei\u00df ich, welche Mythen sich um diese Thema ranken. Der Autor gibt hierauf eine wenig \u00fcberraschende Antwort &#8211; gut so!<\/li><li>Ein Datenmodell mit unterschiedlichen Sichten &#8211; ist das m\u00f6glich oder ben\u00f6tigt man mehrere Datenmodelle wie kann man diese managen bzw. synchron zueinder halten?<\/li><li>Wie findet man das &#8222;<em>richtige<\/em>&#8220; Unternehmensdatenmodell?<ul><li>Kommerziell erwerbare Datenmodelle nach Industriezweig, z.B. Versicherung, Telekommunikation, etc.?!<\/li><li>Verwendung existierender Datenmodelle, die das selbst Unternehmen entwickelt hat?!<\/li><\/ul><\/li><li>K\u00f6nnen Unternehmensdatenmodelle sinnvoll inkrementell entwickelt werden? Und genrell: K\u00f6nnen agile Vorgehensmethodiken angewendet werden?<\/li><li>Bedeutung von &#8222;Data Modeling Patterns&#8220;<\/li><\/ul>\n\n\n\n<p>Der letzte Punkt &#8222;<span style=\"color: var(--nv-text-color); font-family: var(--bodyFontFamily); font-size: var(--bodyFontSize); letter-spacing: var(--bodyLetterSpacing); text-transform: var(--bodyTextTransform); background-color: var(--nv-site-bg);\">Data Modeling Patterns<\/span>&#8220; wird ausf\u00fchrlicher behandelt. Giles erkl\u00e4rt anhand des Musters &#8222;Party &amp; Party Role&#8220;, welchen Nutzen allgemeine Modellierungsmuster haben k\u00f6nnen und das es eine Reihe Muster gibt, die quasi in jedem Unternehmen angewendet werden k\u00f6nnen. Somit ergibt sich eine Art &#8222;<em>Pattern of Patterns<\/em>&#8220; &#8211; oder wie er es auch nennt die &#8222;Suite of 9 Pillars&#8220;: Account, Agreement, Document, Event, Location, Party &amp; Party Role, Product, Resource und Task. Giles gibt Beispiele daf\u00fcr, dass diese Gesch\u00e4ftsobjekte und deren Interaktion (Relationships) in vielen Unternehmen wiederholt auftreten. Das Muster &#8222;Party &amp; Party Role&#8220; wird in diesem Kapitel ausf\u00fchrlicher beleuchtet, alle anderen &#8222;8 Pillars&#8220; im Appendix &#8222;Common Data Model Patterns&#8220;. Sehr gut! Giles beruft sich dabei auf Quellen wie z.B. Len Silverston &#8222;The Data Model Resource Book, Volume 1-3&#8220;.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kapitel 4: Task #2: Apply the enterprise view to design a Data Vault<\/h2>\n\n\n\n<p>Nachdem also (zusammen mit dem Fachbereich) die fachliche Sicht (&#8222;Enterprise View&#8220;) definiert wurde, befasst sich dieses Kapitel damit, aus der erarbeiteten Gesch\u00e4ftssicht, ein physisches Data Vault Datenmodel abzuleiten. Die in Task 1 erarbeiteten Taxonomien und Ontologien helfen, die richtige Balance zu finden zwischen Generalisierung und Spezialisierung und somit zwischen Datenmodell-Stabilit\u00e4t und Datenmodell-Einfachheit (Lesbarkeit, Anwendbarkeit, Akzeptanz) abzuw\u00e4gen. Im Zweifel pl\u00e4diert der Autor daf\u00fcr, sich auf die Sichtweise der Fachbereiche einzulassen. Ausf\u00fchrlich wird auf die Hub- und Link-Modellierung eingegangen &#8211; entlang eines Beispieles aus der Welt einer Feuerl\u00f6schleitstelle.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kapitel 5: Task #3: Map your source systems to the Data Vault design<\/h2>\n\n\n\n<p>Bevor das Kapitel zu seinem eigentlichen Thema kommt, wird ein Gro\u00dfteil darauf verwendet, die Beladungslogik von Data Vault zu erk\u00e4ren. Allzu viel Inhalt bietet dieses Kapitel nicht.<\/p>\n\n\n\n<p>Gut fand ich seine seine folgende Empfehlung: Aus zwei Gr\u00fcnden sollte man keine Attribut-Umbenennungen von Quellsystemattributnamen vornehmen: 1) Die Nachvollziehbarkeit zur\u00fcck zum Quellsystem vereinfacht sich und 2) die Fachbereiche werden oftmals sehr schnell &#8222;warm&#8220; mit den Quellsystemnamen oder kennen diese bereits.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kapitel 6: Task #4: Using business rules to close the top-down \/ bottom-up gap<\/h2>\n\n\n\n<p>Interessant fand ich Sichtweise, wie auf Basis von Business-Rule-basierten Satelliten neue Sichten erzeugt werden &#8211; und zwar schrittweise durch eine &#8222;Hintereinander-Schaltung&#8220; von solchen Satelliten &#8211; also Satellite auf Satellite und das kombiniert mit Ergebnissen aus anderen Satellite-auf-Satellite-Berechnungen. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kapitel 6 bis 7 <\/h2>\n\n\n\n<p>Beide Kapitel greifen diverse Data Vault Themen auf wie zum Beispiel Hierarcical-Links, Same-as-Links, Reference-Data, PITs und Bridges sowie L\u00f6schungen in unterschiedlichen Facetten und nat\u00fcrlich: &#8222;Wie passen agile Vorhensweisen und Data Vault zusammen. Das Thema &#8222;L\u00f6schungen&#8220; ausgenommen &#8211; mit wenig Tiefgang. <\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Mein Fazit<\/h1>\n\n\n\n<p>Ich habe das Buch gerne gelesen &#8211; auch wenn es nicht allzu viele Neuigkeiten zum Thema Data Vault enth\u00e4lt. Das muss es ja auch nicht, der Themenbereich ist bekanntlich komplex und es gibt typischerweise meist keine eindeutige Sicht ohne eine eindeutige Gegensicht auf die Dinge. Und so habe ich ein paar neue Impulse mitnehmen k\u00f6nnen &#8211; insbesondere zum allgemeinen Vorgehen. Genau hiermit legt das Buch zu Beginn einen starken Auftakt hin. Das vier-stufige Vorgehensmodell und die Common-Modelling-Patterns haben mir am besten gefallen &#8211; sowie die Sichtweisen zum Thema Business Vault. <\/p>\n\n\n\n<p>Als etwas langatmig habe ich die Einf\u00fchrung in die Beispiel-Szenarien empfunden &#8211; teils geschm\u00fcckt mit Anekdoten und dergleichen. Mich nervt so etwas ein wenig. <\/p>\n\n\n\n<p>Data-Vault Einsteigern w\u00fcrde ich dieses Buch eher nicht empfehlen &#8211; sondern eher das Buch von D. Linstedt \/ M. Olschimke &#8222;Building a Scalable Data Warehouse with Data Vault&#8220;, zu dem ich ebenfalls eine <a href=\"https:\/\/konsilium.de\/blog\/2016\/01\/01\/building-a-scalable-data-warehouse-with-data-vault-2-0\/\" data-type=\"post\" data-id=\"2579\">Rezension<\/a> verfasst habe. Ich sehe den &#8222;Elephant&#8220; als sinnvolle Wissenserg\u00e4nzung, wenn man bereits einige Erfahrung mit Data Vault gesammelt hat &#8211; und sich fragt, &#8222;Wie starte ich?&#8220;. In \u00e4hnlichem Sinne sehe ich auch das Buch von Hans Hultgren &#8222;Modeling the agile Data Warehouse with Data Vault&#8220; (<a rel=\"noreferrer noopener\" href=\"https:\/\/konsilium.de\/blog\/2014\/07\/13\/data-vault-buch-von-hans-hultgren-review\/\" target=\"_blank\">meine Rezension<\/a>).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8222;The Elephant in the fridge&#8220; hei\u00dft ein Buch von John Giles, 2019 erstmalig erschienen. Es tr\u00e4gt den Untertitel &#8222;Guided steps to Data Vault success through building business-centered models&#8220;. Ich habe das Buch durchgearbeitet und m\u00f6chte meine Gedanken hierzu in Form einer Rezension teilen. Es gibt ja nicht allzu viele B\u00fccher zum Thema Data Vault. Daher&hellip;&nbsp;<a href=\"https:\/\/konsilium.de\/blog\/2021\/12\/01\/data-vault-so-einfach-wie-ein-kuehlschrank\/\" class=\"\" rel=\"bookmark\">Weiterlesen &raquo;<span class=\"screen-reader-text\">Data Vault &#8211; so einfach wie ein K\u00fchlschrank<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":2594,"comment_status":"open","ping_status":"closed","sticky":true,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"[\"title\",\"meta\",\"thumbnail\",\"content\",\"tags\",\"post-navigation\"]","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[8,3,4,123],"tags":[93,176,173,174,122],"_links":{"self":[{"href":"https:\/\/konsilium.de\/blog\/wp-json\/wp\/v2\/posts\/2539"}],"collection":[{"href":"https:\/\/konsilium.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/konsilium.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/konsilium.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/konsilium.de\/blog\/wp-json\/wp\/v2\/comments?post=2539"}],"version-history":[{"count":31,"href":"https:\/\/konsilium.de\/blog\/wp-json\/wp\/v2\/posts\/2539\/revisions"}],"predecessor-version":[{"id":2592,"href":"https:\/\/konsilium.de\/blog\/wp-json\/wp\/v2\/posts\/2539\/revisions\/2592"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/konsilium.de\/blog\/wp-json\/wp\/v2\/media\/2594"}],"wp:attachment":[{"href":"https:\/\/konsilium.de\/blog\/wp-json\/wp\/v2\/media?parent=2539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/konsilium.de\/blog\/wp-json\/wp\/v2\/categories?post=2539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/konsilium.de\/blog\/wp-json\/wp\/v2\/tags?post=2539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}