背景・目的
【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をもとに整理します。
-
Credentialは、ソースにアクセスするために使用する。
-
ソースは、DWH、データストリーム、オブジェクトストレージなどの1つのソースシステムへのコネクタ。
- DWHであれば1つのテーブル
- データストリームのトピック
- オブジェクトストレージのスキーマ
-
Windowは、ソース内のデータのサブセットに対して計算されtあメトリクスを使用してデータを検証する。下記を定義できる
- 時間間隔
- 固定サイズのバッチ
- ファイル
-
Segmentationは、セグメントごとに検証できる。
-
Validatorは、どのフィールドでどのメトリクスを検証するか。また、どのしきい値を許容できるとみなすかを指定する。定義済みのセグメンテーションとウィンドウを選択し、フィルターを構成することもできる。各ソースには1つ以上のバリデータを含めることができる。
-
Notification Rulesは、により、Slackなどの指定されたチャンネルにインシデントを送信できる。
-
Notification Channelは、同じチャンネルを複数の通知ルールに使用できる。
-
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
- BigQuery
Windows
About Windows
About Windowsを元に整理します。
- ソース内のデータセットのメトリクスを計算して検証するには、ウィンドウ (バッチ) が必要
- Validatorsを作成するに当たり、ソース上で少なくとも 1 つの Window を構成する必要
- Windowsの種別
- Fixed batch window
- 固定バッチ ウィンドウは、特定のデータ時間フィールドからの指定された数のデータポイントによって定義
- Global window
- ポーリングごとに、一連のウィンドウではなく、ソース全体に対してすべてのバリデーター メトリクスが計算
- グローバル ウィンドウは、データ ウェアハウスとクエリ エンジンでのみ使用できる。
- Tumbling window
- 固定サイズで重複しない連続した一連の時間間隔
- hourlyやweeklyなど
- 最小のサイズ
- 30分
- 10分
- File window
- ファイルやBLOBごと
- オブジェクトストレージソースタイプでのみ使用される
- Fixed batch window
Segumentation
About Segmentation
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について調べてみました。
ドキュメントが読みやすく、実際に試してみたくなりました。今後、検証しようと思います。
参考