Databricks DeltaとUnity Catalogを超えて:dotDataのFeature Factoryによるメダリオンアーキテクチャの革新

  • 特徴量
  • AutoML
  • 時系列データ
  • データ加工
  • 機械学習
  • データ分析

導入

データ分析を前提としたデータ管理のアーキテクチャは、メダリオンアーキテクチャのような革新的なフレームワークへ進化しています。このアプローチは、データパイプラインの管理とデータガバナンスの強化に対する体系的な方法を提供します。このブログでは、メダリオンアーキテクチャのコンポーネントとして、特に、Databricks Delta Lake、Unity Catalog、およびdotData Feature Factoryに焦点を当て、企業におけるデータ利活用を圧倒的に加速する、最新のアーキテクチャを紹介します。

メダリオンアーキテクチャ、Databricks Delta Lake、Unity Catalogとは

引用:メダリオンアーキテクチャとは?Databricks

メダリオンアーキテクチャは、データを論理的に整理するためのデータ設計パターンで、アーキテクチャの各層を通じてデータの構造と品質を段階的に向上させることを目的としています。レイクハウスに蓄積された未加工データを、それぞれ特定の機能を持つ3つの異なる層に分割する多層アプローチです:

  • ブロンズレイヤー: この層は、データレイクへの生データ取り込みを担当し、さまざまなソースからデータを最も細かい粒度で蓄積、保存します。
  • シルバーレイヤー: この中間層では、データクレンジングと変換プロセスが行われ、一貫性と信頼性が確保されます。この層は、データを標準化することで、特定の目的に依存しない分析の基礎となるデータを蓄積、管理します。
  • ゴールドレイヤー: 最終層は、分析用に調整されたデータに焦点を当てています。シルバーのデータに対して、さらなる変換と集約を伴い、高度な分析、レポート、および機械学習アプリケーションなど、特定の目的に最適化された精緻なデータセットを作成します。

Delta Lakeは、ACID(原子性、一貫性、独立性、永続性)トランザクションを備えたストレージ層を提供することでメダリオンアーキテクチャをサポートします。また、スキーマの適用とタイムトラベルも提供するため、ユーザーは以前のバージョンのデータにアクセスして戻すことができます。これらの機能により、Delta Lakeは信頼性が高く効率的なメダリオンアーキテクチャの構築に不可欠な要素となります。

Unity Catalogは、一元化されたデータガバナンスとセキュリティを提供し、Delta Lakeを補完します。Unity Catalogは中央集権のガバナンスを提供し、データポリシーを管理および適用するための単一のコントロールプレーンとして機能します。また、きめ細かいアクセス制御も備えており、テーブル、行、および列レベルで詳細なアクセス制御を提供し、データの系統を追跡します。

Delta LakeとUnity Catalogを統合することで、組織はシームレスで安全かつガバナンスされたデータパイプラインを構築し、データのライフサイクル全体を通じてデータの品質と整合性を維持できます。一方で、DeltaとUnity Catalogは、メダリオンアーキテクチャのためのフレームワークであり、シルバーレイヤーのデータから、目的ごとにゴールドレイヤーのデータを作成するには「特徴量エンジニアリング」を実施する必要があります。

シルバーとゴールドの橋渡し:特徴量エンジニアリングとは

メダリオンアーキテクチャからみた特徴量エンジニアリングは、シルバーレイヤーからゴールドレイヤーへのデータ変換に相当します。シルバーデータから、分析やデータ活用の目的に応じた新しい特徴量を作成するプロセスです。このプロセスは複雑で時間がかかることが多く、高品質ですぐに分析できるゴールドレイヤーのデータを作成するための重要なステップです。

特徴量エンジニアリングの重要性とその難しさ

特徴量はモデル分析に使用される入力変数であり、特徴量エンジニアリングは、ドメイン知識を使用してデータから特徴量を作成するプロセスです。これらの特徴量には、機械学習による予測モデリングや、ビジネスインテリジェンスによるデータインサイトの発見などに役立つあらゆる属性やプロパティが含まれます。

特徴量エンジニアリングには、次のようなさまざまな課題があります。

  • 欠損データ: 不完全なデータエントリ。欠損値を適切に処理しないと、分析結果に偏りがである可能性があります。
  • データスケーリング: 分析目的に合わせた形にデータを変換すること。数値の正規化やMin-Maxスケーリングなどが含まれます。
  • データリーケージ: 予測時には利用できない情報を特徴量に利用すること。目的変数や、未来のデータに関する情報が含まれるなどがあります。
  • カテゴリエンコーディング: 質的変数を分析しやすい量的変数に変換するために、カテゴリデータを数値形式に変換すること。

特徴量エンジニアリングの具体例

特徴量エンジニアリングの例として、scikit-learnのBike Sharing Demandデータセットを使用して、その重要性と影響を説明します。

例: 自転車シェアリングの需要データ

Bike Sharing Demandデータセットには、気象条件やタイムスタンプに関する情報など、自転車レンタルに関するタイムスタンプ付きデータが含まれています。各時間帯にレンタルされる自転車の総数を予測すると仮定します。この例では、特徴量エンジニアリングを、特徴量抽出、特徴量変換、および特徴量選択に分けて説明します。以下の例は、データをより意味のある特徴量に変換し、機械学習モデルの予測力を向上させるプロセスで、メダリオンアーキテクチャにおけるシルバーレイヤーとゴールドレイヤーを繋ぐステップとなっています。

1. 特徴量抽出

特徴量抽出のステップでは、モデルの入力となる特徴量をデータから作成ます。時系列データの文脈では、タイムスタンプからデータの時間要素を抽出することを意味します。

この例では、datetime列から時間、曜日、月を抽出し、時間に関連するパターンを捉えるための新しい特徴量を作成しています。

2. 特徴量変換

特徴量変換は、既存の特徴量をさらに変換したり、または複数の特徴量を組み合わせたりして新しい特徴量を作成します。特徴量変換では、ドメイン知識に基づいて、データの挙動をうまく表現できる特徴量の変換規則を見つけ出すことがよく行わなれます。

この例では、時間データの周期性をよりよく捉えるために、「時間」のカラムから周期的な特徴量を作成しています。

3. 特徴量選択

特徴量選択は、目的と関連性の高い特徴量を選び、モデルをシンプルにし、かつ過学習を防止してパフォーマンスを向上させます。

この例では、目的変数「count」との相関が最も高い上位3つの特徴量を選択しています。

この例は、生データをより意味のある特徴量に変換し、機械学習モデルの予測力を向上させる方法を示しており、メダリオンアーキテクチャにおけるシルバーレイヤーとゴールドレイヤーの橋渡しを実現します。

dotData Feature Factoryによる特徴量自動設計

上記で述べた特徴量を作成における特徴量の加工に加えて、どのような特徴量を作成すべきかを知ること、つまり特徴量の発見や発想が課題として挙げられます。特徴量の発見は、ドメインに対する深い、或いは広い理解を必要とし、多くのケースでは、手作業による反復作業が必要となります。dotDataのFeature Factoryは、このプロセスを簡易化する新しいパラダイムを提供します。

dotData Feature Factoryは、異なるデータソースに対するデータセットの管理を簡素化し、アナリスト、データサイエンティスト、データエンジニアなど、さまざまな背景を持つユーザーの実施する、データ加工に関するワークフローを簡略化します。

dotData Feature Factoryは、結合、フィルタ、集約など、複数表の組み合わせを通じて特徴量発見プロセスを自動化し、大規模かつ複雑なデータに適用可能です。また、時間的結合を自動的に処理することでデータリーケージを防止し、広大な特徴量空間を効率的に管理します。このように、dotData Feature Factoryは、最適な特徴量を体系的に探索および選択するツールを提供し、ユーザーは特徴量の重要性と関連性に基づいて評価し、モデルを正確かつ容易に調整できます。

dotData Feature Factoryは、Widgetまたはプログラム上から、ユーザーが自身のニーズに合わせて柔軟に特徴量空間をカスタマイズできるように設計されています。これによって、ドメインに特有の要件にしたがう新しい特徴量を探索に含めることができます。dotData Feature Factoryで定義された、データ前処理から特徴量エンジニアリングまでの全ての処理は、「特徴量パイプライン」に変換されます。特徴量パイプラインは、効率と一貫性を重視して設計されており、機械学習モデルやその他のアプリケーションに直接統合することができます。

dotData Feature Factoryは、特徴量エンジニアリングの試行錯誤を再利用可能なアセットへと変換し、従来の手作業かつ属人性の高いプロセスから脱却します。これによって、特徴量エンジニアリングは、アドホックな使い捨ての作業ではなく、データドリブンな意思決定を強化するためのアセットを蓄積する重要なプロセスとなります。

要するに、Feature Factoryは特徴量発見と特徴量エンジニアリングのすべての課題を一挙に処理します。これは、入力されたデータから新しい特徴量を発見し、これらの特徴量を機械学習対応の特徴量テーブルに生成するアイデアエンジンです。独自のアルゴリズムにより、膨大な特徴空間から最適な特徴量を見つけ出し、ユーザーが数十万もの新しい特徴量を精査できるようにします。Feature Factoryは、Databricksを含むさまざまなプラットフォームと容易に統合できます。

Unity Catalogを使用したリネージ追跡

Unity Catalogのリネージ追跡機能は、Databricks環境内でのデータのライフサイクル全体を可視化します。この機能は、データの透明性を高め、データの問題を発見、修正し、データ使用状況を監査し、データパイプラインでエラーが生じた際に根本的な原因を分析することができます。

リネージ追跡の主な機能

  • 透明性と可視性: データワークフローの透明性と可視性を提供し、データライフサイクル全体でデータの出所や変換過程を追跡します。これにより、データの信頼性と品質を確保し、データ活用の効果を最大化します。
  • デバッグとエラー解決: データパイプラインでエラーが発生した際に、ソースに遡って追跡し根本的な原因の分析に役立ちます。これにより、問題の発見と修正が迅速に行えます。
  • 監査とコンプライアンス: データの使用状況や変換が詳細に記録され簡単に追跡できることで、内部監査はもちろん、GDPRやHIPPAのようなコンプライアンス規制に準拠することを保証します。

実践ガイド

以下に、Unity Catalogのリネージ追跡機能の活用方法を説明します。

  1. データの書き込み: Unity Catalogにデータを書き込み、安全に保存および管理されていることを確認します。 
  2. dotDataによるデータ変換: dotDataを使用して変換を適用し、すぐに分析可能なデータセットへと強化します。 
  3. 結果の読み書き: Unity Catalogから変換されたデータを読み取り、リネージ追跡を利用して各ステップを確認しながら結果を書き戻します。

ロバストで透明性の高いデータ管理システムを維持するために、Unity Catalogのリネージ追跡が実際にどのように適用されるのか、具体的な操作をご紹介します。

これらの手順に従うことで、Unity Catalogのリネージ追跡を利用して、ロバストで透明性の高いデータ管理システムを維持できます。データの読み取りから変換、そして書き込みまでの各操作が追跡されるため、データの流れが明確になり、データの整合性とコンプライアンスが確保されます。

詳細については、Unity Catalog とそのリネージ追跡機能に関するこちらのDatabricksの公式ドキュメントを参照してください。

Databricks Delta LakeとUnity CatalogにdotData Feature Factory を統合

Databricks Delta LakeUnity CatalogdotData Feature Factoryを組み合わせることで、強力なシナジーが生まれます。

Delta Lakeは、ACIDトランザクション、スキーマの適用、およびタイムトラベルなどの機能を通じて、信頼性の高いデータストレージと一貫性のあるデータ処理を実現します。これらの機能は、データの整合性を維持し、バッチ処理とストリーミング処理をシームレスに行うことができます。

Unity Catalogは、詳細なアクセス制御でセキュリティとコンプライアンスを確保し、データリネージ追跡でデータの出所と変換過程を追跡します。また、データディスカバリー機能によりデータを簡単に検索・共有し、効率的なコラボレーションを促進します。

dotData Feature Factoryは、複雑で時間のかかる特徴量エンジニアリングのプロセスを自動化します。特徴量の作成、発見、管理を簡素化することで、データからすぐに分析できるデータセットへの移行を加速させます。

これらの技術を組み合わせることで、データライフサイクル全体を強化し、メダリオンアーキテクチャのシルバーレイヤーからゴールドレイヤーへの移行が飛躍的に効率化され、高品質で豊かなレイヤーを実装できます。

dotData
dotData

dotData独自の技術である特徴量自動設計は、データサイエンスおよびAI開発工程の最も難しい部分である特徴量設計と事業適用化を自動化します。それにより、企業のAI・機械学習プロジェクトにかかる時間を短縮させ、より高いビジネス価値を生み出します。詳細はdotdata.com、Twitter、LinkedInからご確認いただけます。

dotDataのAIプラットフォーム

dotData Enterprise データサイエンスのプロセス全体を自動化

dotData Enterpriseは、事業部門やデータ分析部門が、ノーコードで予測AI開発を行うことができるAIプラットフォームです。特徴量自動設計と機械学習自動化(AutoML)によって、AIの専門知識やコーディングなしで、業務データから特徴量の抽出、そして機械学習による予測モデルの構築まで、ワンストップでAIを開発することができます。dotData Enterpriseを使用すると、通常は数か月かかる予測分析を、たった数日で実施でき、素早くビジネスでAIを活用でき、将来の予測やデータからの洞察が得られます。

dotData Feature Factory 特徴量をアセット化し全てのAI/BIを強化

dotData Feature Factoryは、データサイエンティストやIT部門が、企業がキュレーションされたデータ(すなわち特徴量)を開発するために、データ加工に関するノウハウを再利用可能なアセットとして蓄積する仕組みを提供します。データ中心に構築される特徴量空間から、アルゴリズムによってデータに隠れたパターン(特徴量)を発見し、特徴量発見のスピードと効率、再利用性と再現性、専門家間の連携、品質と透明性を向上させます。dotData Feature Factoryは、機械学習モデルによる予測、ビジネスインテリジェンス(BI)によるデータ可視化、或いはマーケティングオートメーションのような、全てのデータアプリケーションを強化します。

dotData Ops 特徴量・モデルの本番運用を簡易化・自動化

dotData Opsは、データ、特徴量、予測パイプラインを、分析チームがセルフサービスでデプロイ、実ビジネスで運用するための環境を提供します。データ分析のビジネス価値を業務で試行し素早く検証することで、意思決定者からの信頼を高め、本番運用への投資判断を加速します。dotDataの特徴量自動設計によって、ビジネス価値の検証、特徴量ドリフトの診断、予測精度の改善など、MLOpsを革新します。

dotData Cloud フルマネージド、SaaSでビジネスの成果に注力

dotData Cloudは、dotDataの各AIプラットフォームを、dotDataがフルマネージドでSaaS提供します。データ分析を行う環境のための大規模なインフラ構築や管理が必要なく、TOC(Total Cost of Ownership: 総保有コスト)を最小化するとともに、AI開発をすぐに試行し、重要な課題に集中して取り組むことができます。dotData Cloudのアーキテクチャは、AWS技術パートナーの最高位である「コンピテンシーパートナー」として認定を受けており、また、データセキュリティを高めるために、日本リージョンでシングルテナント方式を採用しています。