

{"id":8652,"date":"2018-11-12T15:31:03","date_gmt":"2018-11-12T14:31:03","guid":{"rendered":"http:\/\/blog.scalefree.com\/?p=8652"},"modified":"2026-04-16T11:54:30","modified_gmt":"2026-04-16T09:54:30","slug":"insert-only-in-data-vault","status":"publish","type":"post","link":"https:\/\/www.scalefree.com\/de\/blog\/data-vault\/insert-only-in-data-vault\/","title":{"rendered":"Wie implementiert man Insert Only in Data Vault 2.0?"},"content":{"rendered":"<div id=\"fws_69f4e104e13b5\"  data-column-margin=\"default\" data-midnight=\"dark\"  class=\"wpb_row vc_row-fluid vc_row\"  style=\"padding-top: 0px; padding-bottom: 0px; \"><div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\"><div class=\"inner-wrap row-bg-layer\" ><div class=\"row-bg viewport-desktop\"  style=\"\"><\/div><\/div><\/div><div class=\"row_col_wrap_12 col span_12 dark left\">\n\t<div  class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone\"  data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\" >\n\t\t<div class=\"vc_column-inner\" >\n\t\t\t<div class=\"wpb_wrapper\">\n\t\t\t\t\n<div class=\"wpb_text_column wpb_content_element\" >\n\t<div class=\"wpb_wrapper\">\n\t\t<h2>Insert Only in Data Vault 2.0<\/h2>\n<p><span style=\"font-weight: 400;\">Eine fundierte <a href=\"https:\/\/www.scalefree.com\/consulting\/data-vault-2-0\/#modeling\">Modellierung<\/a> ist entscheidend, um das volle Potenzial von <a href=\"https:\/\/www.scalefree.com\/de\/beratung\/data-vault-2-0\/\">Data Vault 2.0<\/a>auszusch\u00f6pfen. Damit das System in Bezug auf Skalierbarkeit und Performance optimal genutzt werden kann, muss es zudem auf einer vollst\u00e4ndig insert-only-basierten Architektur aufbauen.\nAlle Aktualisierungsvorg\u00e4nge auf dem Weg in den Data Vault lassen sich dadurch eliminieren \u2013 und die Ladeprozesse deutlich vereinfachen.<\/span><\/p>\n\t<\/div>\n<\/div>\n\n\n\n\n<div class=\"wpb_text_column wpb_content_element\" >\n\t<div class=\"wpb_wrapper\">\n\t\t<p><span style=\"font-weight: 400;\"><div class=\"content-list-wrapper\"><p class=\"content-heading\">In diesem Artikel:<\/p><ul class=\"content-list\"><li><a href=\"#the-common-implementation-in-data-vault-2-0\">Die gemeinsame Umsetzung in Data Vault 2.0<\/a><li><a href=\"#the-advantage-of-pit-tables-in-data-vault-2-0\">Der Vorteil von PIT-Tabellen in Data Vault 2.0<\/a><li><a href=\"#conclusion\">Fazit<\/a><\/ul><\/div><\/span><\/p>\n\t<\/div>\n<\/div>\n\n\n\n<div class=\"divider-wrap\" data-alignment=\"default\"><div style=\"height: 50px;\" class=\"divider\"><\/div><\/div>\n<div class=\"wpb_text_column wpb_content_element\" >\n\t<div class=\"wpb_wrapper\">\n\t\t<h2><span style=\"font-weight: 400;\">Die gemeinsame Umsetzung in Data Vault 2.0<\/span><\/h2>\n\t<\/div>\n<\/div>\n\n\n\n\n<div class=\"wpb_text_column wpb_content_element\" >\n\t<div class=\"wpb_wrapper\">\n\t\t<p><span style=\"font-weight: 400;\">In den g\u00e4ngigen Ladeprozessen von <a href=\"https:\/\/www.scalefree.com\/de\/beratung\/data-vault-2-0\/\">Data Vault 2.0<\/a>spielen zwei technische Zeitstempel eine zentrale Rolle. Der erste ist der Ladezeitstempel (LDTS \u2013 Load Date Timestamp).\nEr stellt kein Gesch\u00e4ftsdatum aus dem Quellsystem dar, sondern gibt an, wann die Daten erstmals ins Data Warehouse geladen wurden, in der Regel in den Staging-Bereich.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"> Damit unterscheidet er sich grundlegend von fachlich bedeutenden Datumswerten, die aus den Quellsystemen stammen. Aus diesem Grund muss der LDTS einheitlich f\u00fcr einen gesamten Batch-Ladeprozess generiert werden.\nGesch\u00e4ftsrelevante Datumsangaben wie z.\u202fB. G\u00fcltigkeitsdaten werden hingegen in Effectivity Satelliten gespeichert, die meist mit Link-Entit\u00e4ten verkn\u00fcpft sind.\nDiese geben Aufschluss \u00fcber Beziehungen zwischen Gesch\u00e4ftsobjekten \u2013 inklusive Beginn und Ende der jeweiligen Beziehung.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Der zweite technische Zeitstempel ist der Lade-Endzeitstempel (LEDTS \u2013 Load End Date Timestamp).\nWie der LDTS wird auch der LEDTS vom System generiert und kommt nur in Satelliten vor. Da diese Satelliten delta-gesteuert sind, gibt es immer genau einen Datensatz, der das aktuellste Delta repr\u00e4sentiert. Der Wert des LEDTS in diesen Datens\u00e4tzen ist normalerweise \"9999-12-31\" (End of Time) oder NULL. Die folgende Abbildung zeigt den gesamten Enddatierungsprozess, der mit dem LEDTS-Attribut verbunden ist.\nEr wird nach Abschluss des Ladeprozesses des Satelliten ausgef\u00fchrt (nicht w\u00e4hrend des Ladevorgangs):<\/span><\/p>\n\t<\/div>\n<\/div>\n\n\n\n<div class=\"divider-wrap\" data-alignment=\"default\"><div style=\"height: 30px;\" class=\"divider\"><\/div><\/div><div class=\"img-with-aniamtion-wrap center\" data-max-width=\"100%\" data-max-width-mobile=\"default\" data-shadow=\"none\" data-animation=\"none\" >\n      <div class=\"inner\">\n        <div class=\"hover-wrap\"> \n          <div class=\"hover-wrap-inner\">\n            <img loading=\"lazy\" decoding=\"async\" class=\"img-with-animation skip-lazy nectar-lazy\" data-delay=\"0\" height=\"938\" width=\"2888\" data-animation=\"none\" data-nectar-img-src=\"https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/NL-November-2018-Insert-only-architecture.png\" src=\"data:image\/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%202888%20938'%2F%3E\" alt=\"End-Dating-Satelliten in Data Vault 2.0 f\u00fcr Insert-Only-Architektur\" data-nectar-img-srcset=\"https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/NL-November-2018-Insert-only-architecture.png 2888w, https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/NL-November-2018-Insert-only-architecture-300x97.png 300w, https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/NL-November-2018-Insert-only-architecture-1024x333.png 1024w, https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/NL-November-2018-Insert-only-architecture-768x249.png 768w, https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/NL-November-2018-Insert-only-architecture-1536x499.png 1536w, https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/NL-November-2018-Insert-only-architecture-2048x665.png 2048w, https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/NL-November-2018-Insert-only-architecture-320x104.png 320w, https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/NL-November-2018-Insert-only-architecture-640x208.png 640w, https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/NL-November-2018-Insert-only-architecture-360x117.png 360w, https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/NL-November-2018-Insert-only-architecture-720x234.png 720w, https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/NL-November-2018-Insert-only-architecture-1080x351.png 1080w, https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/NL-November-2018-Insert-only-architecture-800x260.png 800w, https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/NL-November-2018-Insert-only-architecture-1280x416.png 1280w, https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/NL-November-2018-Insert-only-architecture-600x195.png 600w\" sizes=\"auto, (max-width: 2888px) 100vw, 2888px\" \/>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div><div style=\"text-align: center;font-family:Droid Serif;font-weight:400;font-style:normal\" class=\"vc_custom_heading vc_do_custom_heading\" >Abbildung 1: Enddatierungsprozess f\u00fcr Satelliten<\/div><div class=\"divider-wrap\" data-alignment=\"default\"><div style=\"height: 25px;\" class=\"divider\"><\/div><\/div>\n<div class=\"wpb_text_column wpb_content_element\" >\n\t<div class=\"wpb_wrapper\">\n\t\t<p class=\"translation-block\"><span style=\"font-weight: 400\">Die Abbildung zeigt, dass der Satellit mit einem neuen LEDTS-Wert aktualisiert werden muss, was Performance kostet.\nWie bereits eingangs erw\u00e4hnt, m\u00f6chten wir LEDTS-Updates vermeiden, um mit einer vollst\u00e4ndig Insert-only-basierten <a href=\"https:\/\/www.scalefree.com\/consulting\/data-vault-2-0\/#architecture\" target=\"_self\">Data Vault 2.0-Architektur<\/a> eine bessere Performance zu erzielen. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">An dieser Stelle stellt sich oft die Frage, wie man das aktuellste Delta in einem Satelliten abfragen kann, wenn kein LEDTS mehr vorhanden ist \u2013 etwa mit MAX(LDTS)? Ganz sicher nicht.<\/span><\/p>\n\t<\/div>\n<\/div>\n\n\n\n<div class=\"divider-wrap\" data-alignment=\"default\"><div style=\"height: 40px;\" class=\"divider\"><\/div><\/div>\n<div class=\"wpb_text_column wpb_content_element\" >\n\t<div class=\"wpb_wrapper\">\n\t\t<h2><span style=\"font-weight: 400;\">Der Vorteil von PIT-Tabellen in Data Vault 2.0<\/span><\/h2>\n\t<\/div>\n<\/div>\n\n\n\n\n<div class=\"wpb_text_column wpb_content_element\" >\n\t<div class=\"wpb_wrapper\">\n\t\t<p><span style=\"font-weight: 400;\">Die L\u00f6sung ist die Verwendung von Window-Functions zum Laden von Point-in-Time (PIT)-Tabellen. Wir behandelten das Thema <a href=\"http:\/\/blog.scalefree.com\/2018\/10\/17\/point-in-time-tables-insurance\/\">PIT-Tabellen an einem Beispiel aus der Versicherungsbranche<\/a> bereits in unserem <\/span><span style=\"font-weight: 400;\">Newsletter<\/span><span style=\"font-weight: 400;\"> von O<\/span><span style=\"font-weight: 400;\">ktober<\/span><span style=\"font-weight: 400;\"> 2018. Der Zweck von PIT-Tabellen besteht darin, die Abfrageperformance zu verbessern, indem Outer Joins vermieden und stattdessen Inner Joins mit equi-join-Bedingungen erm\u00f6glicht werden \u2013 aus Performancegr\u00fcnden.\nWir empfehlen daher ausdr\u00fccklich, eine PIT-Tabelle als performantere Alternative zur LEDTS-basierten L\u00f6sung zu verwenden. Die PIT-Tabelle wird mithilfe von Window-Functions erstellt, um das aktuellste Delta im Satelliten zu identifizieren.\nSobald sie mit Snapshots der aktuellen Daten aufgebaut ist, entf\u00e4llt die Notwendigkeit, LDTS-Werte mit BETWEEN-Bedingungen abzufragen. Die zeitliche Historie wird als Snapshots gespeichert und kann \u00fcber equi-join-Bedingungen auf <a href=\"https:\/\/www.scalefree.com\/architecture\/hash-keys-in-the-data-vault\/\">Hash Key<\/a> und LDTS mit den zugeh\u00f6rigen Satelliten verbunden werden.\nDa PIT-Tabellen im Laufe der Zeit wachsen, empfiehlt es sich, sie nach dem Snapshot-Datum zu partitionieren. Schlie\u00dflich lassen sich die Dimensionsdaten im (visualisierten) <a href=\"https:\/\/www.scalefree.com\/scalefree-newsletter\/about-information-marts-in-data-vault-2-0\/\">Information Mart<\/a> direkt aus der PIT-Tabelle und den zugeh\u00f6rigen Satelliten effizient abfragen. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Durch die Verwendung von Window-Functions mit Partitionierung nach Hash Key und Sortierung nach LDTS l\u00e4sst sich das aktuellste Delta dynamisch bestimmen. Es gibt mehrere geeignete Window-Functions zur Ermittlung des aktuellste Deltas, die folgende Tabelle zeigt einige Beispiele.<\/span><\/p>\n\t<\/div>\n<\/div>\n\n\n\n<div class=\"divider-wrap\" data-alignment=\"default\"><div style=\"height: 40px;\" class=\"divider\"><\/div><\/div><div class=\"img-with-aniamtion-wrap center\" data-max-width=\"100%\" data-max-width-mobile=\"default\" data-shadow=\"none\" data-animation=\"none\" >\n      <div class=\"inner\">\n        <div class=\"hover-wrap\"> \n          <div class=\"hover-wrap-inner\">\n            <img loading=\"lazy\" decoding=\"async\" class=\"img-with-animation skip-lazy nectar-lazy\" data-delay=\"0\" height=\"279\" width=\"511\" data-animation=\"none\" data-nectar-img-src=\"https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/Table.png\" src=\"data:image\/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20511%20279'%2F%3E\" alt=\"Fensterfunktion in Data Vault 2.0 nur f\u00fcr Insert-Architektur\" data-nectar-img-srcset=\"https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/Table.png 511w, https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/Table-300x164.png 300w, https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/Table-320x175.png 320w, https:\/\/www.scalefree.com\/wp-content\/uploads\/2018\/11\/Table-360x197.png 360w\" sizes=\"auto, (max-width: 511px) 100vw, 511px\" \/>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div><div style=\"text-align: center;font-family:Droid Serif;font-weight:400;font-style:normal\" class=\"vc_custom_heading vc_do_custom_heading\" >Tabelle 1: Beispiele f\u00fcr Window-Functions<\/div><div class=\"divider-wrap\" data-alignment=\"default\"><div style=\"height: 15px;\" class=\"divider\"><\/div><\/div>\n<div class=\"wpb_text_column wpb_content_element\" >\n\t<div class=\"wpb_wrapper\">\n\t\t<p><span style=\"font-weight: 400;\">Ein Grund f\u00fcr die Einf\u00fchrung des LEDTS in Data Vault war, dass viele Datenbanksysteme Anfang der 2000er Jahre noch keine Window-Functions unterst\u00fctzten oder nicht performant genug waren. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Wie bereits im Newsletter vom Oktober 2018 erw\u00e4hnt, besteht der Hauptzweck von PIT-Tabellen darin, Inner Joins mit equi-join-Bedingungen zu erm\u00f6glichen. Sie sind aber auch der Schl\u00fcssel zu einer Insert-only-Implementierung von Data Vault 2.0, die effizientere Ladeprozesse erm\u00f6glicht.<\/span><\/p>\n\t<\/div>\n<\/div>\n\n\n\n<div class=\"divider-wrap\" data-alignment=\"default\"><div style=\"height: 40px;\" class=\"divider\"><\/div><\/div>\n<div class=\"wpb_text_column wpb_content_element\" >\n\t<div class=\"wpb_wrapper\">\n\t\t<h2>Fazit<\/h2>\n<p>Die Umsetzung einer Insert-only-Architektur in Data Vault 2.0 erh\u00f6ht die Skalierbarkeit und Performance, da beim Laden der Daten keine Update-Operationen mehr erforderlich sind.\nDieser Ansatz vereinfacht die Ladeprozesse und stellt sicher, dass alle Daten\u00e4nderungen als neue Datens\u00e4tze erfasst werden \u2013 bei gleichzeitigem Erhalt der historischen Nachvollziehbarkeit. Durch den Einsatz von Point-in-Time (PIT)-Tabellen k\u00f6nnen Organisationen die aktuellsten Daten effizient abfragen, ohne auf Enddatierungslogiken angewiesen zu sein, was die Datenabfrage und Analyse weiter vereinfacht.<\/p>\n<div class=\"relative inline-flex items-center\"><\/div>\n\t<\/div>\n<\/div>\n\n\n\n\n\t\t\t<\/div> \n\t\t<\/div>\n\t<\/div> \n<\/div><\/div>","protected":false},"excerpt":{"rendered":"Nur in Data Vault 2.0 einf\u00fcgen Eine qualifizierte Modellierung ist wichtig, um das volle Potenzial von Data Vault 2.0 auszusch\u00f6pfen. Um das System aufgrund der Skalierbarkeit optimal zu nutzen...","protected":false},"author":2,"featured_media":29679,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[101],"tags":[598,1233,327,1240,1236,1234,574,748,1238,1232,747,907,452,1235,584,467,487,1231,585,341,1239,1237],"class_list":{"0":"post-8652","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-data-vault","8":"tag-architecture","9":"tag-business-date","10":"tag-data-vault-2-0","11":"tag-database","12":"tag-delta-driven","13":"tag-effectivity-satellites","14":"tag-end-dating-process","15":"tag-hash-key","16":"tag-information-mart-dimensions","17":"tag-insert-only","18":"tag-ldts","19":"tag-link-entities","20":"tag-load-date-timestamp","21":"tag-load-end-date-timestamp","22":"tag-performance","23":"tag-pit-tables","24":"tag-scalability","25":"tag-skilled-modeling","26":"tag-snapshot-date","27":"tag-source-system","28":"tag-visualized","29":"tag-window-functions"},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.scalefree.com\/de\/wp-json\/wp\/v2\/posts\/8652","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.scalefree.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.scalefree.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.scalefree.com\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.scalefree.com\/de\/wp-json\/wp\/v2\/comments?post=8652"}],"version-history":[{"count":0,"href":"https:\/\/www.scalefree.com\/de\/wp-json\/wp\/v2\/posts\/8652\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.scalefree.com\/de\/wp-json\/wp\/v2\/media\/29679"}],"wp:attachment":[{"href":"https:\/\/www.scalefree.com\/de\/wp-json\/wp\/v2\/media?parent=8652"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.scalefree.com\/de\/wp-json\/wp\/v2\/categories?post=8652"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.scalefree.com\/de\/wp-json\/wp\/v2\/tags?post=8652"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}