Data Vault – An Overview

Photo by Markus Spiske on Unsplash

Data Vault は大規模データウェアハウス プラットフォーム向けの革新的なデータ モデリング方法論です。 Dan Linstedtによって考案されたData Vaultは、正規化(第3正規形)および次元モデリング技術の欠点に対処しながら、エンタープライズデータウェアハウスを提供するように設計されています。 この記事では、3NF および次元設計アプローチの欠点を要約し、Data Vault アプローチの利点と欠点をリストアップしています。

Should I use Data Vault on my Data Warehouse project?

What Problem is Data Vault trying to solve?

Data Vault が対処しようとしている課題をまとめる前に、代替データ モデリング手法と対応するデータ アーキテクチャを検討する価値があります。 下の図は、潜在的なエンタープライズ データ アーキテクチャを示しています。

Enterprise Data Warehouse

Enterprise Data Warehouse

EDW による方法では、データは一時停止領域にロードされますが、その後は一連の ETL プロセスによってデータが 3 次正規データウェアハウスに読み込まれるようにします。 このアプローチの最も重要な欠点は次のとおりです。 エンタープライズデータウェアハウスは、レポート作成に利用できるようになる前に、まず各ソースシステムから中央のデータリポジトリにデータを統合する必要があり、プロジェクトに時間と労力がかかります。

  • 複雑さとスキル。 データウェアハウスは、100のソースからのデータを統合する必要がある場合があり、複雑なビジネス環境をサポートするために企業全体のデータモデルを設計することは、高度なスキルを持つデータモデリングの専門家を必要とする重要な課題である。 柔軟性の欠如: 第三正規形モデルは、既存のデータ関係をモデル化する傾向があるため、比較的柔軟性に欠けるソリューションとなり、ソースが追加されるたびに大幅な手直しが必要になる可能性があります。 さらに悪いことに、熱心なデータ モデリング専門家は、理解するのがほとんど不可能な複雑すぎる汎用モデルを提供することによって、これを克服しようとすることがあります。

    Dimensional Design

    上のアプローチは、エンドユーザーに迅速に結果を提供するために EDW を排除しているのです。 私は 2008 年に、ロンドンに拠点を置く Tier 1 Investment Bank でこの手法を使用し、プロジェクト開始後数週間でビジネス ユーザーに信用リスク評価を提供しました。 もし、従来のデータ ウェアハウスを構築するのを待っていたら、有益なものを提供する前に倒産していたでしょう。

    当初、ビジネス ユーザーは提供の速さに感激しましたが、時間が経つにつれ、対処するのがますます困難になる多くの課題が見つかりました。 これらには次のようなものがありました。 コードの複雑化。 ETL コード (Extract, Transform, and Load) は非常に複雑になっており、もはや管理不可能な状態になっていました。 ETL ツール (Informatica) を Oracle スクリプトに置き換えることは有効でしたが (ソリューションを単純化しながら進めたので)、それは問題の根本ではありませんでした。 私たちは、入力されたデータを再構築し、重複を排除し、データをクリーニングして適合させ、時間の経過とともに変化するビジネスルールを適用しようとしていたのです。 これらすべてのステップを 1 つのコード ベースで行うことは、実に困難でした。 ランディング エリアは純粋に一時的なものであったため (毎回削除して再ロード)、生のデータの履歴はありませんでした。 このため、アナリストが貴重な新しいデータ関係を発見することは難しく、生データを必要とするデータサイエンスの重要性が増しているにもかかわらず、単に無視されていました。 生データの履歴がなく、分析に必要な属性のみをロードしていたため、追加のデータフィードをバックポッティングすることが困難となりました。 技術ロジックとビジネス ロジックの両方がソース コードの堆積層で実装されていたため、レポートからソース システムに戻るデータ アイテムの系統を追跡することはほとんど不可能でした。 しかし、時間が経つにつれて、ソリューションがますます複雑になり、ビジネス ルールが時間と共に変化したため、ペースを維持することがますます困難になりました。

    Data Vault Architecture

    一見すると、上記の Enterprise Data Warehouse Architecture と非常に似ていますが、いくつかの大きな違いと類似点があり、それは以下のとおりです:

    • Data Loading: データのロード: データがランディングエリアからRaw Data Vaultにロードされるとき、そのプロセスは純粋にデータのフォーマット(内容ではなく)を再構築するものです。 ソースデータはクリーニングも修正もされず、問題なく完全に再構築されます。
    • 責任の分離: Raw Vaultは、変更されていない生のデータを保持し、唯一の処理は、データを物理的に再構築するための完全に技術的なものです。 ビジネス ルールは、Raw Vault を Business Vault で拡張するために、追加のテーブルと行を提供します。 つまり、ビジネス・ルールは生データから派生し、生データとは別に保存されます。 この責任の分離により、ビジネス ルールの変更を長期にわたって管理することが容易になり、システム全体の複雑さが軽減されます。
    • ビジネス ルール。 重複排除、適合結果、さらに計算を含むビジネス・ルールの結果は、ビジネス・ボールトに一元的に格納されます。 これにより、2 つ以上のデータ マートに対して結果を計算する場合に、重複した計算や潜在的な矛盾を回避することができます。 データ マート: 計算結果がデータ マートの Fact および Dimension テーブルに格納される Kimball 法とは異なり、Data Vault 法では、データ マートはしばしば一時的であり、ビジネスおよび Raw Vault 上のビューとして直接実装される可能性があります。 これは、時間の経過とともに変更することが容易であることと、結果に一貫性がなくなるリスクを回避できることを意味します。 ビューが必要なレベルのパフォーマンスを提供しない場合、テーブルに結果を格納するオプションがあります。

    The Data Vault Advantages

    Data Vault は、単一のハイブリッド アプローチで両方の良い側面を組み合わせることにより、第3正規形のエンタープライズ データウェアハウスと次元設計アプローチの両方に固有の困難に対処します。 その利点は次のとおりです。 インクリメンタルなデリバリー。 どのようなデータウェアハウスでも、全体的なエンタープライズモデルのコンテキスト内で構築することが賢明ですが、Data Vaultは完全にインクリメンタルなデリバリーをサポートします。 KimballのDimensional Designアプローチと同様に、小規模から始めて、時間をかけて段階的にソースを追加することができます。 柔軟性: 柔軟性に欠ける第3正規形モデリングアプローチとは異なり、Data Vaultではソースを追加する際に手直しは必要ありません。 Data Vaultは生データとビジネス派生データを別々に保存するため、ビジネスルールの変更を簡単にサポートします。

    3. 複雑さの軽減。 Data Vaultは2段階のアプローチで構築されているため、技術的なデータの再構築とビジネスルールの適用を分離し、これらの複雑な可能性のある段階を切り離すことができます。 同様に、データクリーニングはビジネスルールとみなされ、最初のデータロード作業とは別に管理することができます。 Data Vault に生データを記録することは、最初に利用可能にならなかった過去の属性をプレゼンテーション領域にバックポピュレートすることが可能であることを意味します。 データマートがビューとして実装されている場合、これは既存のビューに追加の列を追加するのと同じくらい簡単です。 時間の経過に伴う変化をエレガントにサポートする。 Kimballアプローチにおけるゆっくりと変化するディメンションと同様に、Data Vaultは時間の経過に伴う変化をエレガントにサポートします。 しかし、純粋なディメンションデザインとは異なり、Data Vaultでは、生データとビジネス派生データを分離し、ソースシステムとビジネスルールの両方から生じる変更をサポートします。

    6 リネージと監査 Data Vaultはソース・システムを特定するメタデータを含んでいるため、データのリネージを容易にサポートします。 データをロードする前にクリーニングするDimensional Designアプローチとは異なり、Data Vaultの変更は常に増分であり、結果は決して失われないため、自動的な監査証跡を提供します。 Data Vault 2.0のハッシュキーの導入により、データロードの依存性がなくなり、テラバイトからペタバイトのデータの並列ロードに加えて、ほぼリアルタイムのデータロードが可能になりました。

    8. 自動化可能。 エンティティ関係モデリングと次元設計の両方がスキルを構築するための時間と経験を必要とする一方で、Data Vaultは自動化しやすい傾向にあり、ソリューションの提供を支援するいくつかのツール(以下にリストアップ)があります。 以下がその例です。 学習曲線。 第3正規形、エンティティ関係モデリング、および次元設計が習得に時間がかかる特定のスキルであるのとまったく同じように、Data Vaultにも学習曲線があります。 データウェアハウスの改革プロジェクトには大きなリスクが伴いますが、Data Vaultを追加することで、特にチームにData Vaultの経験がない場合、リスクが高まる可能性があります。 主要な個人に対するトレーニングに加えて、専門家のアドバイスとサポートがあることを確認してください。 Data Vault の設計が不十分な場合、膨大な数のソース システムの派生テーブルが作成されますが、よく設計されたソリューションであっても、ソース テーブルの数は 2、3 倍になります。 テーブルの数、つまり結合の数は、扱いにくく、複雑な結合条件につながる可能性があります。 しかし、これは Business Vault のブリッジ テーブルを正しく使用することで対処できます。他のソリューションと同様に、見かけの複雑さと柔軟性のトレードオフです。

    Data Vault をどこで使用するか

    Data Vault には、優れた設計と Data Vault 2.0 原則に固執する厳しさが求められます。

    要約すると、小規模から中規模の分析要件があり、アーキテクト、設計者、およびエンジニアの小規模 (10 人未満) チームが、少数のシステムから取得したデータでソリューションを提供する場合、Data Vault はそのニーズに適していない可能性があるということです。

    しかし、30 以上のソース システムを持つ大規模なプロジェクトで、膨大なデータ統合の課題があり、新しい手法のスキルと厳しさを引き受ける準備ができている場合、Data Vault はプロジェクトに大きな価値を付加する可能性があります。

    Other Resources and Tools

    The following resources may help evaluation and understand the Data Vault method:

    • Kent Graziano (certified Data Vault Master) has a summary of Data Vault worth reading.
    • The Genesee Academy (Training) provides a good introduction to the main principles of Data Vault.この資料は、General Data Vaultの主な原則を説明するもので、Data Vaultの基本的な原理を説明しています。
    • UK Consultancy Data Vault Provide an informative summary of Frequently Asked Questions that addresses many of the immediate concerns.
    • Dan Linstedt has the huge number of in-depth articles on the details around Data Vault.
    • Building a Scalable Data Warehouse with Data Vault 2.0 – is the reference book by Dan Linstedt.
    • The Elephant in the Fridge – is an accessible introduction to Data Vault.
    • DataVaultの主要な原則を紹介しています。

    これらは決して推奨と見なされるべきではありませんが、Data Vaultの配信を自動化するのに役立つツールのショートリストは以下のとおりです。

    • dbtvault
    • Wherescape
    • VaultSpeed
    • Data Vault Builder
    • Joyn – A lightweight open source automation framework

    Conclusion

    As on-premise data warehouse project are moved to the cloud.The on-premise Data warehouse projectはクラウドに移行しています。 データウェアハウスをどのように構築するか、再考する企業が増えています。 複数の独立したオンプレミス データ サイロから最新のクラウド ベースのソリューションへの移行は、企業全体からのデータを単一の一貫したリポジトリに統合する、またとない機会です。

    If you found this article helpful, you may be interested in my personal blog site (absolutely zero advertising), at www.Analytics.Today.

    Disclaimer: The opinions expressed in my articles are my own and will not necessarily reflect those of my employer (past or present) or any client I have worked with.

    この記事で述べた意見は私個人のもので、私の雇用者 (過去または現在) や実際に働いたクライアントの意見を反映したものではありません。

  • Leave a Reply