

{"id":33968,"date":"2023-09-26T00:30:49","date_gmt":"2023-09-26T00:30:49","guid":{"rendered":"https:\/\/www.scalefree.com\/?p=33968"},"modified":"2026-04-23T16:04:37","modified_gmt":"2026-04-23T14:04:37","slug":"technische-tests-eines-data-vault-basierten-edw","status":"publish","type":"post","link":"https:\/\/www.scalefree.com\/de\/blog\/data-warehouse\/technical-tests-of-a-data-vault-powered-edw\/","title":{"rendered":"Technische Tests eines Data Vault-basierten EDW"},"content":{"rendered":"<div id=\"fws_69f37434b3f28\"  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 class=\"entry-title\">Data Vault-basiertes EDW<\/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>In diesem Newsletter geben wir einen \u00dcberblick \u00fcber die verschiedenen Methoden und Ans\u00e4tze bei der Durchf\u00fchrung von technischen Tests f\u00fcr ein <a href=\"https:\/\/www.scalefree.com\/de\/beratung\/data-vault-2-0\/\">Data Vault<\/a>-basiertes EDW.<\/p>\n<p>Die unten beschriebenen Testans\u00e4tze zielen darauf ab, die Integrit\u00e4t, Zuverl\u00e4ssigkeit, Genauigkeit, Konsistenz und Nachvollziehbarkeit der in Ihre Data Vault Entit\u00e4ten geladenen Daten sowie der darauf aufbauenden <a href=\"https:\/\/www.scalefree.com\/scalefree-newsletter\/about-information-marts-in-data-vault-2-0-2\/\">Information Marts<\/a> sicherzustellen. All dies, um zu gew\u00e4hrleisten, dass Ihr Unternehmen Entscheidungen sicher auf der Grundlage dieser Daten treffen kann.<\/p>\n\t<\/div>\n<\/div>\n\n\n\n<div class=\"divider-wrap\" data-alignment=\"default\"><div style=\"height: 25px;\" class=\"divider\"><\/div><\/div>\n<div class=\"wpb_text_column wpb_content_element  webinar-box\" >\n\t<div class=\"wpb_wrapper\">\n\t\t<h2>Technische Tests und Monitoring eines Data Vault-basierten EDW<\/h2>\n<p>In diesem Webinar geben Ihnen unsere Experten einen \u00dcberblick \u00fcber verschiedene Methoden und Ans\u00e4tze f\u00fcr das technische Testen und Monitoring eines Data Vault-basierten EDW. Die zu besprechenden Testans\u00e4tze eignen sich f\u00fcr verschiedene Schichten Ihrer EDW-L\u00f6sung, beginnend mit dem Extrahieren von Daten aus Quellen in die Landing Zone\/Staging Area (Extract and Load) und endend mit Information Marts, die von Endbenutzern in ihren BI-Berichten verwendet werden. Der Hauptfokus unseres Webinars liegt jedoch auf dem Testen der <a href=\"https:\/\/www.scalefree.com\/de\/beratung\/data-vault-2-0\/\">Data Vault 2.0<\/a> Entit\u00e4ten in den Schichten Raw Vault und <a href=\"https:\/\/www.scalefree.com\/de\/blog\/data-vault\/gestaltung-der-business-vault-schlusselstrategien-fur-eine-effektive-datenorganisation\/\">Business Vault<\/a> Das Monitoring konzentriert sich auf die Bereitstellung von Einblicken in die Performance Ihres EDW. Ausgehend vom Modellierungsansatz des Metrics Vault und der Metrics Marts werden die Bereiche der Quelldaten dieser Entit\u00e4ten behandelt. Diese erfassten Daten liefern Informationen \u00fcber die Prozessausf\u00fchrung Ihrer ELT-Prozesse sowie Fehlerinformationen. Durch die \u00dcberpr\u00fcfung der Error Marts k\u00f6nnen Sie Ihre Fehler verfolgen, die Ursache finden oder Ihre Performance durch Ber\u00fccksichtigung von Performance-Metriken verbessern.<\/p>\n\t<\/div>\n<\/div>\n\n\n\n<div class=\"divider-wrap\" data-alignment=\"default\"><div style=\"height: 25px;\" class=\"divider\"><\/div><\/div><a class=\"nectar-button jumbo regular accent-color  regular-button ctaBtn\"  role=\"button\" style=\"margin-right: 30px; \" target=\"_blank\" href=\"https:\/\/us02web.zoom.us\/webinar\/register\/WN_g3dY8PW2QTmAvWHKLgRXSA\" data-color-override=\"false\" data-hover-color-override=\"false\" data-hover-text-color-override=\"#fff\"><span>Webinar Teil 1 ansehen<\/span><\/a><a class=\"nectar-button jumbo regular accent-color  regular-button ctaBtn\"  role=\"button\" style=\"margin-right: 30px; \" target=\"_blank\" href=\"https:\/\/us02web.zoom.us\/webinar\/register\/WN_KUscnTjVSSiAXOhjbU9xQA\" data-color-override=\"false\" data-hover-color-override=\"false\" data-hover-text-color-override=\"#fff\"><span>Webinar Teil 2 ansehen<\/span><\/a><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><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=\"#what-to-expect\">Was Sie erwartet<\/a><li><a href=\"#testing-data-extraction-process\">Testen des Datenextraktionsprozesses<\/a><li><a href=\"#testing-data-vault\">Testen des Data Vault<\/a><ul><li><a href=\"#testing-hubs\">Testen von Hubs<\/a><\/li><li><a href=\"#testing-links\">Testen von Links<\/a><\/li><li><a href=\"#testing-satellites\">Testen von Satellites<\/a><\/li><li><a href=\"#testing-other-data-vault-entities\">Testen anderer Data Vault-Entit\u00e4ten<\/a><\/li><li><a href=\"#general-tests-for-all-data-vault-entities\">Allgemeine Tests f\u00fcr alle Data Vault-Entit\u00e4ten<\/a><\/li><li><a href=\"#testing-source-marts\">Testen von Source Marts<\/a><\/li><li><a href=\"#testing-hash-key-and-hash-diff-calculations\">Testen von Hash Key und Hash-Diff-Berechnungen<\/a><\/li><li><a href=\"#testing-business-rules\">Testen von Gesch\u00e4ftsregeln<\/a><\/li><\/ul><li><a href=\"#test-automation-and-continuous-integration\">Testautomatisierung und kontinuierliche Integration<\/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: 25px;\" class=\"divider\"><\/div><\/div>\n<div class=\"wpb_text_column wpb_content_element\" >\n\t<div class=\"wpb_wrapper\">\n\t\t<h2>Was Sie erwartet<\/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>Sie erhalten einen \u00dcberblick \u00fcber Testans\u00e4tze, die f\u00fcr verschiedene Schichten Ihrer EDW-L\u00f6sung geeignet sind, angefangen von der Datenextraktion aus Quellen in die Landing Zone\/Staging Area (Extract and Load) bis hin zu Information Marts, die von Endbenutzern in ihren BI-Berichten verwendet werden. Dar\u00fcber hinaus werden wir die Testautomatisierung und ihre Bedeutung f\u00fcr die kontinuierliche Integration Ihres Data Vault-basierten EDW er\u00f6rtern. Nichtsdestotrotz liegt der Hauptfokus dieses Newsletters auf dem Testen der Data Vault Entit\u00e4ten in den Schichten Raw Vault und Business Vault.<\/p>\n\t<\/div>\n<\/div>\n\n\n\n<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<h2>Testen des Datenextraktionsprozesses<\/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>Unabh\u00e4ngig davon, wo die Datenextraktion stattfindet \u2013 Datenquelle, persistentes Staging, transientes Staging \u2013 ist das Hauptziel des Testens in dieser Phase der Nachweis, dass es beim Transport oder Staging der Daten zu keinem Verlust kommt. Der Vergleich der Eingabedaten und der Zieldaten stellt sicher, dass die Daten aufgrund von Problemen im Extraktionsprozess nicht versehentlich oder b\u00f6swillig gel\u00f6scht, hinzugef\u00fcgt oder ge\u00e4ndert wurden.<br \/>\nZur Sicherstellung der Datenintegrit\u00e4t sollten Pr\u00fcfsummen, Hash-Summen und Datensatzanzahlen verwendet werden:<\/p>\n<ul>\n<li>Stellen Sie sicher, dass die Pr\u00fcfsummen des Quell-Datasets und der Ziel-Staging-Tabelle \u00fcbereinstimmen.<\/li>\n<li>Stellen Sie sicher, dass die numerische Summe eines oder mehrerer Felder in einem Quell-Dataset (auch bekannt als Hash-Summe) mit der Summe der entsprechenden Spalten in der Zieltabelle \u00fcbereinstimmt. Eine solche Summe kann Daten enthalten, die normalerweise nicht in Berechnungen verwendet werden (z. B. numerische ID-Werte, Kontonummern usw.).<\/li>\n<li>Stellen Sie sicher, dass die Zeilenanzahl zwischen der Quelle und der Ziel-Staging-Tabelle \u00fcbereinstimmt.<\/li>\n<\/ul>\n\t<\/div>\n<\/div>\n\n\n\n<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<h2>Testen des Data Vault<\/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>Der Kern Ihrer Data Vault-basierten EDW-L\u00f6sung ist ein Raw Data Vault, der rohe und ungefilterte Daten aus Ihren Quellsystemen enth\u00e4lt. Diese wurden aufgeteilt und basierend auf Business Keys in Hubs, Links, Satellites und andere Data Vault-spezifische Entit\u00e4ten geladen. Dies ist der erste Punkt in der Datenpipeline, an dem die Daten in den Data Vault-modellierten Entit\u00e4ten landen. Daher sind spezifische Tests erforderlich, um die <strong>Konsistenz<\/strong> und <strong>\u00dcberpr\u00fcfbarkeit<\/strong> der Daten nach der Bef\u00fcllung des <strong>Raw Data Vault<\/strong> zu gew\u00e4hrleisten. Die unten aufgef\u00fchrten Testans\u00e4tze gelten auch f\u00fcr <a href=\"https:\/\/www.scalefree.com\/de\/blog\/data-vault\/gestaltung-der-business-vault-schlusselstrategien-fur-eine-effektive-datenorganisation\/\"><strong>Business Vault<\/strong><\/a> Entit\u00e4ten.<\/p>\n\t<\/div>\n<\/div>\n\n\n\n<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<h3>Testen von Hubs<\/h3>\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>Hubs speichern Business Keys, indem sie diese vom Rest des Modells trennen. F\u00fcr jedes Gesch\u00e4ftsobjekt wird ein Hub erstellt. Er enth\u00e4lt eine eindeutige Liste von Schl\u00fcsseln, die ein Gesch\u00e4ftsobjekt mit derselben semantischen Bedeutung und Granularit\u00e4t repr\u00e4sentieren. Die in einem Hub befindlichen Gesch\u00e4ftsobjekte werden dann \u00fcber Hash Keys, die w\u00e4hrend der Staging-Phase berechnet werden, von anderen Data Vault-Entit\u00e4ten referenziert.<\/p>\n<p>Daher sind die folgenden Tests erforderlich, um die Konsistenz von Hubs sicherzustellen:<br \/>\nF\u00fcr einen Hub mit einem einzelnen Business Key sollten Tests Folgendes sicherstellen:<\/p>\n<ul>\n<li>Ein Hub enth\u00e4lt eine eindeutige Liste von Business Keys (Prim\u00e4rschl\u00fcssel (PK)-Test)<\/li>\n<li>Eine Business-Key-Spalte enth\u00e4lt keine NULL- oder leeren Werte (au\u00dfer wenn der Business Key zusammengesetzt ist)<\/li>\n<\/ul>\n<p>Wenn ein Hub einen zusammengesetzten Business Key hat, stellen Sie Folgendes sicher:<\/p>\n<ul>\n<li>Die Kombination der Werte in den Business-Key-Spalten ist eindeutig (PK-Test)<\/li>\n<li>Business-Key-Spalten enthalten nicht alle gleichzeitig NULL- oder leere Werte<\/li>\n<\/ul>\n<p>Die G\u00fcltigkeit des letztgenannten Punktes h\u00e4ngt auch von der Natur der Gesch\u00e4ftsobjekte selbst ab. Es kann auch sein, dass NULL- oder leere Werte in keiner der Business-Key-Spalten zul\u00e4ssig sind.<\/p>\n<p>F\u00fcr beide Arten von Hubs stellen Sie Folgendes sicher:<\/p>\n<ul>\n<li>Hash-Key-Spalte enth\u00e4lt:\n<ul>\n<li>Eindeutige Liste von Werten (PK-Test)<\/li>\n<li>Keine NULLs oder leeren Werte<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\t<\/div>\n<\/div>\n\n\n\n<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<h3>Testen von Links<\/h3>\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>Ein typischer Link definiert Beziehungen zwischen Gesch\u00e4ftsobjekten, indem er eindeutige Kombinationen von <a href=\"https:\/\/www.scalefree.com\/architecture\/hash-keys-in-the-data-vault\/\">Hash Keys<\/a> der verbundenen Hubs speichert. Der Prim\u00e4rschl\u00fcssel des Links oder der Link-Hash-Key identifiziert eine solche Kombination eindeutig. Daher sollten Link-Tests Folgendes \u00fcberpr\u00fcfen:<\/p>\n<ul>\n<li>Die Kombination der verbundenen Hub-Referenzen (Hub-Hash-Keys) ist eindeutig (PK-Test)<\/li>\n<li>Jeder Hub-Hash-Key-Wert existiert im referenzierten Hub<\/li>\n<li>Hub-Referenzen enthalten keine NULL- oder leeren Werte<\/li>\n<\/ul>\n<p>Bez\u00fcglich des letzten Punktes ist anzumerken, dass NULL- und leere Werte in Hub-Referenzen sowie in Hash-Key-Spalten anderer Data Vault-Entit\u00e4ten durch Zero Keys ersetzt werden.<br \/>\nBei transaktionalen (nicht-historisierten) Daten sollten Spalten mit transaktionalen Schl\u00fcsseln zus\u00e4tzlich zu den Spalten mit Hub-Hash-Keys in die Eindeutigkeitstests einbezogen werden. Stellen Sie sicher, dass auch die transaktionalen Schl\u00fcssel bef\u00fcllt sind. Solche transaktionalen Schl\u00fcssel werden in der Regel nicht gehasht, da in der Regel keine Hubs f\u00fcr Transaktionen erstellt werden.<br \/>\nUnd wie bei Hubs stellen Sie sicher, dass die Link-Hash-Key-Spalte eindeutige Werte enth\u00e4lt und keine NULL- oder leeren Werte vorhanden sind.<\/p>\n\t<\/div>\n<\/div>\n\n\n\n<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<h3>Testen von Satellites<\/h3>\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><strong>Satellites<\/strong> speichern beschreibende Informationen (Attribute) f\u00fcr Gesch\u00e4ftsobjekte (in Hubs) oder Beziehungen zwischen Gesch\u00e4ftsobjekten (in Links). Ein Satellite referenziert entweder einen Hub oder einen Link. Da sich beschreibende Informationen f\u00fcr Gesch\u00e4ftsobjekte und Beziehungen zwischen ihnen im Laufe der Zeit \u00e4ndern k\u00f6nnen, wird dem Prim\u00e4rschl\u00fcssel eines Satelliten ein Load-Date-Zeitstempel des Datensatzes hinzugef\u00fcgt.<\/p>\n<p>Vor diesem Hintergrund sollten Tests f\u00fcr einen Satellite Folgendes sicherstellen:<\/p>\n<ul>\n<li>Die Kombination aus einer Hub-\/Link-Referenz (dem Hash Key) und dem Load-Date-Zeitstempel eines Datensatzes ist eindeutig (PK-Test)<\/li>\n<li>Jeder Hub- oder Link-Hash-Key-Wert existiert im referenzierten Hub oder Link<\/li>\n<li>Hub- oder Link-Referenzen enthalten keine NULL- oder leeren Werte<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.scalefree.com\/scalefree-newsletter\/using-multi-active-satellites-the-correct-way-1-2\/\"><strong>Multi-aktive Satellites<\/strong><\/a> enthalten gleichzeitig mehrere aktive Datens\u00e4tze. Daher sind zus\u00e4tzliche Schl\u00fcsselspalten (z. B. Typcode, Sequenz usw.) erforderlich, um einen Datensatz eindeutig zu identifizieren. Diese zus\u00e4tzlichen Schl\u00fcsselspalten m\u00fcssen Teil des Eindeutigkeitstests eines <strong>multi-aktiven Satelliten<\/strong>sein. Zus\u00e4tzlich sollte getestet werden, ob sie keine NULL- oder leeren Werte enthalten.<br \/>\nDer Ansatz zum Testen eines <strong>nicht-historisierten Satelliten<\/strong> unterscheidet sich ebenfalls etwas vom Testen seines Standard-Pendants. Ein nicht-historisierter Satellite ist ein spezieller Entit\u00e4tstyp, der beschreibende Attribute f\u00fcr jeden entsprechenden Datensatz in einem nicht-historisierten Link enth\u00e4lt. Der Prim\u00e4rschl\u00fcssel eines nicht-historisierten Satelliten ist ein Link-Hash-Key. Daher ist es nicht erforderlich, einen Load-Date-Zeitstempel in die Prim\u00e4rschl\u00fcsselpr\u00fcfung aufzunehmen. Stellen Sie f\u00fcr einen <strong>nicht-historisierten Satelliten<\/strong>zus\u00e4tzlich sicher, dass er eine 1:1-Beziehung zum entsprechenden nicht-historisierten Link hat. Die Anzahl der Datens\u00e4tze in beiden Entit\u00e4ten sollte exakt \u00fcbereinstimmen.<\/p>\n\t<\/div>\n<\/div>\n\n\n\n<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<h3>Testen anderer Data Vault-Entit\u00e4ten<\/h3>\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>Es gibt weitere spezielle Entit\u00e4tstypen im Data Vault, die im Hinblick auf das Testen erw\u00e4hnenswert sind:<\/p>\n<ul>\n<li>Referenz-Hubs und Referenz-Satellites: Die Testans\u00e4tze \u00e4hneln denen von Standard-Hubs und -Satellites. Der einzige Unterschied besteht darin, dass es keine Hash Keys gibt und Business Keys direkt verwendet werden.<\/li>\n<li>Record-Source-Tracking-Satellites: Eine Spalte, die einen statischen Quellnamen darstellt, wird zum Prim\u00e4rschl\u00fcssel-Test hinzugef\u00fcgt.<\/li>\n<li><a href=\"https:\/\/www.scalefree.com\/de\/blog\/data-vault\/versicherung-mit-zeittafeln\/\">PIT-Tabelle<\/a> (Business Vault):\n<ul>\n<li>PK-Test \u2013 die Kombination aus dem Hub-\/Link-Hash-Key und den Snapshot-Date-Timestamp-Spalten ist eindeutig<\/li>\n<li>Pr\u00fcfen Sie f\u00fcr jede Satellitenreferenz, ob das Hash-Schl\u00fcsselpaar Hub\/Link und der Zeitstempel des Ladedatums im referenzierten Satelliten vorhanden sind<\/li>\n<li>Die Hub-\/Link-Referenz enth\u00e4lt keine NULL- oder leeren Werte<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.scalefree.com\/scalefree-newsletter\/bridge-tables-101\/\">Bridge Tabelle<\/a> (Business Vault):\n<ul>\n<li>PK-Test \u2013 die Kombination aus einem Basis-Link-Hash-Key und den Snapshot-Date-Timestamp-Spalten ist eindeutig<\/li>\n<li>F\u00fcr jede Hub- und Link-Referenz pr\u00fcfen Sie, ob ein Paar aus Hub-\/Link-Hash-Key im referenzierten Hub oder Link vorhanden ist<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\t<\/div>\n<\/div>\n\n\n\n<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<h3>Allgemeine Tests f\u00fcr alle Data Vault-Entit\u00e4ten<\/h3>\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>Es gibt einige Tests, die f\u00fcr alle Data Vault-Einheiten gelten.<br \/>\nStellen Sie sicher, dass alle Data Vault-Entit\u00e4ten:<\/p>\n<ul>\n<li>Anstelle von NULL-Schl\u00fcsseln Zero Keys enthalten<\/li>\n<li>Record-Source-Spalten haben, die bef\u00fcllt sind und dem definierten Muster (z. B. Regex) entsprechen. \u00dcberpr\u00fcfen Sie beispielsweise, ob sie den Dateipfad enth\u00e4lt, wobei der Name des obersten Ordners den Namen des Quellsystems und der Dateiname den Zeitstempel der Datenextraktion enth\u00e4lt<\/li>\n<li>Keine NULL-Werte in ihren Ladezeitstempel- (Snapshot-) Spalten haben<\/li>\n<\/ul>\n\t<\/div>\n<\/div>\n\n\n\n<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<h3>Testen von Source Marts<\/h3>\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>Der Source Mart ist eine der Facetten des <a href=\"https:\/\/www.scalefree.com\/blog\/data-vault\/about-information-marts-in-data-vault-2-0-part-1\/\">Information Mart<\/a> Konzepts im Data Vault. Es handelt sich um ein virtualisiertes Modell, das auf dem Raw Data Vault aufbaut und das Ziel verfolgt, die urspr\u00fcnglichen Quellstrukturen zu replizieren. Er eignet sich hervorragend f\u00fcr Ad-hoc-Berichte und bietet vielen Data Scientists und Power-Usern einen h\u00f6heren Mehrwert. Zudem kann er verwendet werden, um die<strong> Konsistenz<\/strong> und <strong>\u00dcberpr\u00fcfbarkeit<\/strong> des Ladeprozesses in ein Data Vault-basiertes EDW zu testen.<\/p>\n<p>Source-Mart-Objekte sollen genauso aussehen wie die entsprechenden Quelltabellen (einschlie\u00dflich der Spaltennamen). Wenn Sie Source Marts in Ihrem EDW implementiert haben, stellen Sie sicher, dass Sie diese nach dem Datenladeprozess mit den entsprechenden Quelltabellen im Staging-Bereich vergleichen. Werte und Zeilenanzahlen der Quellstrukturen sollten exakt mit den entsprechenden Source-Mart-Objekten \u00fcbereinstimmen. In der Data Vault-Community ist diese Art von Test auch als \"Jedi-Test\" bekannt.<\/p>\n<p>Es ist relativ einfach, einen solchen Vergleich zu automatisieren und ihn in den Ladeprozess zu integrieren.<\/p>\n\t<\/div>\n<\/div>\n\n\n\n<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<h3>Testen von Hash Key und Hash-Diff-Berechnungen<\/h3>\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>Hash Keys im Data Vault erm\u00f6glichen die deterministische Integration von Business Keys aus mehreren Quellen parallel. Sie sind das Bindeglied, das verschiedene Data Vault-Entit\u00e4ten miteinander verbindet.<\/p>\n<p>Hash Diffs hingegen werden auf die Satellites angewendet und helfen, Unterschiede in beschreibenden Attributen w\u00e4hrend des Datenladeprozesses zu identifizieren.<\/p>\n<p>Es ist wichtig, Unit-Tests f\u00fcr die in Ihrem EDW verwendeten Hash-Key- und Hash-Diff-Berechnungen einzuf\u00fchren, um sicherzustellen, dass die gehashten Werte gem\u00e4\u00df den definierten Hashing-Standards berechnet werden. Weitere Informationen zu Anforderungen und Vorlagen f\u00fcr das Hashing finden Sie hier. Testf\u00e4lle f\u00fcr solche Unit-Tests sollten so viele Kombinationen verschiedener Datentypen und Werte (z. B. NULL- und leere Werte) wie m\u00f6glich abdecken, um sicherzustellen, dass sie konsistent berechnet werden.<\/p>\n<p>Falls Ihr EDW auf verschiedenen DBMS-Plattformen existiert (z. B. w\u00e4hrend eines Migrationsprozesses oder aufgrund von Datensicherheitsbestimmungen), k\u00f6nnen die oben genannten Testf\u00e4lle verwendet werden, um sicherzustellen, dass Ihre Hash-Berechnungen plattformunabh\u00e4ngig sind, d. h. auf verschiedenen Plattformen dasselbe Ergebnis liefern. Ein h\u00e4ufiger Anwendungsfall ist, wenn ein Link auf einer On-Premise-DBMS-Plattform einen Hub referenziert, der bereits auf eine Cloud-Plattform migriert wurde. Solche Unit-Tests k\u00f6nnen auf beiden Plattformen ausgef\u00fchrt werden, um die Konsistenz des Hashings w\u00e4hrend einer Migration sicherzustellen.<\/p>\n\t<\/div>\n<\/div>\n\n\n\n<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<h3>Testen von Gesch\u00e4ftsregeln<\/h3>\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>Im Gegensatz zu den Hard Rules, die den Inhalt der Daten nicht ver\u00e4ndern oder unterbrechen und die Nachvollziehbarkeit gew\u00e4hrleisten, setzen Soft Rules oder Gesch\u00e4ftsregeln die von den Fachanwendern formulierten Gesch\u00e4ftsanforderungen durch. Beispiele f\u00fcr Gesch\u00e4ftsregeln k\u00f6nnen sein:<\/p>\n<ul>\n<li>Verkettung (Nachname und Vorname)<\/li>\n<li>Standardisierung von Telefonnummern<\/li>\n<li>Berechnung des Gesamtumsatzes (Aggregation)<\/li>\n<li>Coalescing usw.<\/li>\n<\/ul>\n<p>Neben den oben genannten relativ einfachen Beispielen kann es auch komplexere Gesch\u00e4ftsregeln geben, die anspruchsvolle Berechnungen, Datentransformationen und komplexe Joins beinhalten. Je nach Anwendungsfall landen die Ergebnisse der Anwendung solcher Regeln in der Regel im Business Vault (d. h. einem Business Satellite) und sp\u00e4ter in der Information-Mart-Schicht, wo sie von den Fachanwendern genutzt werden. Daher ist das Testen von Gesch\u00e4ftsregeln ein wichtiger Bestandteil des Informationsbereitstellungsprozesses.<\/p>\n<p>Gesch\u00e4ftsregeln sind in der Regel auch Gegenstand von Unit-Tests, die w\u00e4hrend der Entwicklung und des CI-Prozesses kontinuierlich durchgef\u00fchrt werden m\u00fcssen. Um einen solchen Unit-Test durchzuf\u00fchren, ben\u00f6tigen wir einige erwartete Werte, idealerweise vom Fachbereich bereitgestellt, d. h. einen erwarteten Nettoumsatzwert f\u00fcr ein definiertes Produkt oder eine Reihe von Produkten in einem bestimmten Gesch\u00e4ft an einem bestimmten Tag auf Basis der realen Daten. Die Nettoumsatzberechnung aus unserem Business Vault wird dann mit dem vorgegebenen erwarteten Ergebnis verglichen.<\/p>\n\t<\/div>\n<\/div>\n\n\n\n<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<h2>Testautomatisierung und kontinuierliche Integration<\/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>Alle oben beschriebenen Tests sollten so weit wie m\u00f6glich automatisiert und von EDW-Entwicklern w\u00e4hrend des Entwicklungsprozesses ausgef\u00fchrt werden. Erfolgreiche Tests sollten eine obligatorische Bedingung f\u00fcr die Einf\u00fchrung jeglicher neuer \u00c4nderung an Ihrer EDW-Codebasis sein. Dies ist durch den Einsatz von DevOps-Tools und die Aktivierung der kontinuierlichen Integration (CI) in Ihrem DWH-Entwicklungszyklus erreichbar. Die Ausf\u00fchrung automatisierter Tests bei jedem Check-in oder Merge von Code stellt sicher, dass Datenkonsistenzprobleme oder Fehler fr\u00fchzeitig erkannt und behoben werden, bevor sie in die Produktion gelangen. In der Regel wird f\u00fcr die Durchf\u00fchrung automatisierter Tests eine separate Test- (oder CI-) Umgebung eingerichtet.<\/p>\n<p>Hier sind einige allgemeine Empfehlungen f\u00fcr die Erstellung und Ausf\u00fchrung einer Testumgebung:<\/p>\n<ul>\n<li>Erstellen Sie die CI-Umgebung so \u00e4hnlich wie m\u00f6glich der Produktionsumgebung<\/li>\n<li>Erstellen Sie Testquelldatenbanken und Quelldateien, die von realen Daten abgeleitet sind<\/li>\n<li>Die Testquelldateien und Quelldatenbanken sollten klein sein, damit Tests schnell ausgef\u00fchrt werden k\u00f6nnen<\/li>\n<li>Die Testquelldateien und Quelldatenbanken sollten auch statisch sein, sodass die erwarteten Ergebnisse im Voraus bekannt sind<\/li>\n<li>Testen Sie sowohl Full-Load- als auch Incremental-Load-Muster, da die Logik beider Muster in den meisten F\u00e4llen unterschiedlich ist<\/li>\n<li>F\u00fchren Sie Tests nicht nur gegen die zu mergenden \u00c4nderungen durch, sondern auch gegen alle nachgelagerten Abh\u00e4ngigkeiten oder sogar den gesamten Ladeprozess im Allgemeinen, um Regressionen zu vermeiden<\/li>\n<\/ul>\n\t<\/div>\n<\/div>\n\n\n\n<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<h2>Fazit<\/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>In diesem Newsletter haben wir einen \u00dcberblick \u00fcber verschiedene Methoden und Ans\u00e4tze f\u00fcr den Prozess des technischen Testens eines Data Vault-basierten EDW gegeben.<\/p>\n<p>Wir haben das Testen verschiedener Phasen des EDW-Ladevorgangs behandelt, einschlie\u00dflich der Datenextraktion aus Datenquellen, des Ladens von Data Vault-Entit\u00e4ten und des Informationsbereitstellungsprozesses, wobei der Hauptfokus auf dem Laden von Data Vault-Entit\u00e4ten lag.<\/p>\n<p>Wir haben auch das Unit-Testing von Hash-Key- und Hash-Diff-Berechnungen behandelt.<\/p>\n<p>Es ist wichtig sicherzustellen, dass Ihre Hashing-L\u00f6sung plattform- und toolunabh\u00e4ngig ist, insbesondere w\u00e4hrend des Migrationsprozesses.<\/p>\n<p>Wir haben auch erfahren, dass das Testen von Gesch\u00e4ftsregeln ein wichtiger Bestandteil des Informationsbereitstellungsprozesses ist, da sie die Daten interpretieren und definieren, was Fachanwender in ihren Berichten sehen. Wir haben die Bedeutung des Unit-Testings der Gesch\u00e4ftsregeln und der Zusammenarbeit mit dem Fachbereich hinsichtlich der Definition von Testf\u00e4llen und erwarteten Ergebnissen hervorgehoben.<\/p>\n<p>Dar\u00fcber hinaus haben wir die Bedeutung der Testautomatisierung w\u00e4hrend der Entwicklungsphase sowie f\u00fcr die Erm\u00f6glichung der kontinuierlichen Integration betont und Empfehlungen f\u00fcr die Erstellung und Ausf\u00fchrung einer Testumgebung gegeben.<\/p>\n<p>In unserem Webinar gehen wir noch tiefer in dieses Thema ein. Sehen Sie sich die <a href=\"https:\/\/us02web.zoom.us\/webinar\/register\/WN_g3dY8PW2QTmAvWHKLgRXSA#\/registration\" target=\"_blank\" rel=\"noopener\">Aufzeichnung an<\/a> kostenlos an!<\/p>\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":"Data Vault Powered EDW In diesem Newsletter geben wir einen \u00dcberblick \u00fcber verschiedene Methoden und Ans\u00e4tze bei der Durchf\u00fchrung technischer Tests einer Data Vault-powered EDW. Die Testans\u00e4tze...","protected":false},"author":88,"featured_media":31683,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1442,1666],"tags":[1617,493,588,586,1620,1629,1388,553,714,1615,479,557,1618,1628,748,1621,1627,1487,1622,1616,1626,1613,1619,1614,1623,1624,1625,516],"class_list":{"0":"post-33968","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-data-warehouse","8":"category-intermediate","9":"tag-accuracy","10":"tag-auditability","11":"tag-business-rules","12":"tag-business-vault","13":"tag-checksums","14":"tag-ci-environment","15":"tag-consistency","16":"tag-continuous-integration","17":"tag-data-extraction","18":"tag-data-integrity","19":"tag-data-vault","20":"tag-edw","21":"tag-extract-and-load","22":"tag-hash-diff-calculations","23":"tag-hash-key","24":"tag-hash-totals","25":"tag-jedi-test","26":"tag-raw-vault","27":"tag-record-counts","28":"tag-reliability","29":"tag-source-marts","30":"tag-technical-tests","31":"tag-test-automation","32":"tag-testing-approaches","33":"tag-testing-hubs","34":"tag-testing-links","35":"tag-testing-satellites","36":"tag-webinar"},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.scalefree.com\/de\/wp-json\/wp\/v2\/posts\/33968","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\/88"}],"replies":[{"embeddable":true,"href":"https:\/\/www.scalefree.com\/de\/wp-json\/wp\/v2\/comments?post=33968"}],"version-history":[{"count":0,"href":"https:\/\/www.scalefree.com\/de\/wp-json\/wp\/v2\/posts\/33968\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.scalefree.com\/de\/wp-json\/wp\/v2\/media\/31683"}],"wp:attachment":[{"href":"https:\/\/www.scalefree.com\/de\/wp-json\/wp\/v2\/media?parent=33968"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.scalefree.com\/de\/wp-json\/wp\/v2\/categories?post=33968"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.scalefree.com\/de\/wp-json\/wp\/v2\/tags?post=33968"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}