0
0

【Data Quality Monitoring】Validioを調べてみた

Posted at

背景・目的

【ModernDataStack】Data Quality Monitoringについて調べてみたで、各製品を簡単に整理してみました。
このうち、今回は、Validioの特徴と機能を整理してみます。

まとめ

Validioは下記の特徴を有しています。

特徴 説明
概要 Validioは、データ負債を克服できるように構築されたデータトラストプラットフォーム
下記の機能を統合したプラットフォーム
・データカタログ
・データリネージ
・Data Observability
・Data Quality
他の製品との相違点 ・データストアと、メタデータの両方をValidate
・構造化データセット/半構造化形式やネストされた形式を検証する
・アルゴリズムとしきい値を使用してデータを検証する。
・自動化を第一に考えられている。
・CLIとGUIのインタフェイスを提供

概要

以前、こちらに整理しましたのでよろしければご覧ください。

Introduction

About Validio

About Validioを元に整理します。

Validio は、企業がデータと AI への投資収益率を最大化し、データと AI プロジェクトが失敗する主な理由であるデータ負債を克服できるように構築されたデータ トラスト プラットフォームです。

  • Validioは、データ負債を克服できるように構築されたデータトラストプラットフォーム

Validio は、データ カタログ、データ リネージ、詳細なデータの可観測性と品質を 1 つのプラットフォームに統合し、データ チームとビジネス関係者が共同で最もビジネスに重要なデータ資産の優先順位付け、検証、改善を行うことを可能にします。

  • Validioでは、下記を1つのプラットフォームに統合している
    • データカタログ
    • データリネージ
    • Data Observability
    • Data Quality
  • データ資産の優先順位付け、検証、改善を行うことを可能にしている
  • 他の Data Observabilityの 相違点
    • データストアと、メタデータの両方をValidateする
    • 構造化データセットだけではなく、JSON BLOBなどの半構造化形式やネストされた形式のデータも含めて、様々な形式と型のデータの検証を行う
    • アルゴリズムとしきい値を使用してデータを検証し、シーズナリティによる分布の変化などのパターンを認識する。
    • 自動化を第一に考えられている。データソースに基づいたバリデーションを推奨することに加えて、データシステムのニーズに合わせてカスタマイズできる
    • CLIとGUIの両方のインタフェイスを提供している。

Concepts and Terminology

Concepts and Terminologyをもとに整理します。

image.png
※出典:Concepts and Terminology

  1. Credentialは、ソースにアクセスするために使用する。

  2. ソースは、DWH、データストリーム、オブジェクトストレージなどの1つのソースシステムへのコネクタ。

    • DWHであれば1つのテーブル
    • データストリームのトピック
    • オブジェクトストレージのスキーマ
  3. Windowは、ソース内のデータのサブセットに対して計算されtあメトリクスを使用してデータを検証する。下記を定義できる

    • 時間間隔
    • 固定サイズのバッチ
    • ファイル
  4. Segmentationは、セグメントごとに検証できる。

  5. Validatorは、どのフィールドでどのメトリクスを検証するか。また、どのしきい値を許容できるとみなすかを指定する。定義済みのセグメンテーションとウィンドウを選択し、フィルターを構成することもできる。各ソースには1つ以上のバリデータを含めることができる。

  6. Notification Rulesは、により、Slackなどの指定されたチャンネルにインシデントを送信できる。

  7. Notification Channelは、同じチャンネルを複数の通知ルールに使用できる。

  8. Linageは、データがどのように流れるか。一部のソースではリネージはCredentialとdbtマニュフェストファイルに基づいて自動的に作成される。

Sources

About Sources

About Sourcesを元に整理します。

  • Validio は、多くのデータ ソースからの構造化データおよび半構造化データを検証できる。
  • 下記がサポートされている。
    • BigQuery
    • PostgreSQL
    • Redshift
    • Snowflake
    • Databricks
    • GCS
    • S3
    • Kafka
    • Kinesis
    • Pub/Sub
    • Pub/Sub Lite
    • Athena

Schema

  • Validio は、メタデータまたは推​​論に基づいて、すべてのソースのスキーマを定義する
  • メタデータからのスキーマ
    • Validio は、データ ウェアハウスなどのデータ ソース内のメタデータからスキーマを読み取る
  • 推論からのスキーマ
    • 事前定義されたスキーマが存在しない場合、既存のデータからスキーマを推測
    • ほとんど半構造化が該当する。

スキーマ変更の検出

  • データ ウェアハウスの構造化データ型とオブジェクト ストレージのファイルのスキーマ変更を自動的に検証する
  • スキーマ チェックは 1 時間ごとに実行される
  • 検出されたスキーマ変更はすべてインシデントとして報告される

Semi-structured data

  • 構造化データに加えて、Validio は半構造化データ型やその他の複雑なデータ型もサポートされる。
  • Validio は JSONPath を使用してデータ構造を表わす。
  • 2024/1/31 現在、Validio は配列内のデータ検証をサポートしていない。
  • サポートされているソースとデータ型は下記の通り。
    • BigQuery
      • JSON, ARRAY, STRUCT
    • PostgreSQL
      • JSON, JSONB, array types
    • Redshift
      • SUPER
    • Snowflake ARRAY
      • OBJECT, VARIANT
    • GCS
      • Parquet
    • S3
      • Parquet
    • Kafka
      • JSON, protobuf, Avro
    • Kinesis
      • JSON, protobuf, Avro
    • Pub/Sub
      • JSON, protobuf, Avro
    • Pub/Sub Lite
      • JSON, protobuf, Avro
    • Athena
      • ARRAY, MAP, STRUCT

Windows

About Windows

About Windowsを元に整理します。

  • ソース内のデータセットのメトリクスを計算して検証するには、ウィンドウ (バッチ) が必要
  • Validatorsを作成するに当たり、ソース上で少なくとも 1 つの Window を構成する必要
  • Windowsの種別
    • Fixed batch window
      • 固定バッチ ウィンドウは、特定のデータ時間フィールドからの指定された数のデータポイントによって定義
    • Global window
      • ポーリングごとに、一連のウィンドウではなく、ソース全体に対してすべてのバリデーター メトリクスが計算
      • グローバル ウィンドウは、データ ウェアハウスとクエリ エンジンでのみ使用できる。
    • Tumbling window
      • 固定サイズで重複しない連続した一連の時間間隔
      • hourlyやweeklyなど
      • 最小のサイズ
        • 30分
        • 10分
    • File window
      • ファイルやBLOBごと
      • オブジェクトストレージソースタイプでのみ使用される

Segumentation

About Segmentation

About Segmentationを元に整理します。

  • セグメントごとにデータを検証し、データの奥深くにある問題を検出して解決する。
  • データのセグメントのメトリクスを検証するように構成できる
  • 下記にイメージを記す。

image.png
※出典:About Segmentation

Multi filed segmentation

  • 複数のフィールドにセグメンテーションを作成できる
  • Validio には数千のセグメントを使用する顧客がおり、サポートされるセグメントの数は継続的に増加する。

Why should I use Segmentation?

データを集約するときに情報損失が発生します。逆に、データをセグメント化すると、より詳細な分析を実行できる。

セグメンテーションの例

小売組織は、製品の価格が適切であることを確認するために、価格データを検証したいと考えています。検証の目的で、フィールドと を使用したいと考えています。通貨の違いにより、価格は桁違いに異なります。つまり、列のデータポイントを検証するだけではほとんど意味がありません。データ品質検証を実行して異常がないことを確認する前に、データを通貨に基づいてセグメント化する必要があります。

Validator

About Validator

About Validatorを元に整理します。

  • バリデーターは、ソース内のデータを検証する役割を担うコンポーネント
  • Validator は常にSourceにアタッチされ、検証はデータのWindow上で行われる。
  • フィルターを使用して検証からデータを除外したり、セグメンテーションを使用して検証を 1 つまたは複数のディメンション で分割できる。

What does a Validator monitor?

  • バリデーターは、ウィンドウ上で 1 つ以上のフィールドを使用して計算されたメトリックを監視できる。例えば下記のものが挙げられる。
    • フィールドの平均値
    • フィールドの一意の値
    • テーブル内のレコード数
  • バリデーターは、参照メトリック (統計) を追跡することもできる。参照メトリクスは、2 つの異なるデータセットのフィールドを比較することによって生成される。例えば下記のものが挙げられる。
    • 2 つの平均間の比率
    • 相対エントロピー

Validator recommendations

  • Freshness
  • Mean of X
  • Count
  • Unique count
  • Percentage where X is null

考察

Data Quality Monitoringの製品の一つである、Validioについて調べてみました。
ドキュメントが読みやすく、実際に試してみたくなりました。今後、検証しようと思います。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0