2022/10/15 –, pyconjp_5
言語: 日本語
統計解析や機械学習によるデータ需要の高まりによって、データの加工・利用のプロセスは複雑化する傾向にあります。近年、そうした複雑さに対抗する手段として、データの生成や利用の流れを把握する「データリネージ (Data Lineage)」が注目されています。
このデータリネージを手軽にはじめられるように、Python 製 OSS Stairlight を開発しました。SQL クエリ解析によって、データの生成から利用者によるデータ取得へ至る全体像を把握する “End-to-End(E2E) Data Lineage” の実現を目指しています。
このトークでは、データリネージの概要や問題意識を共有した後、Stairlight のアプローチと、導入によって期待される効果をご紹介します。
プロポーザルの詳細
最初に、テーマである「データリネージ」の一般的な定義や、背景にあるデータエンジニアリングで発生しうる問題を共有します。そのうえで、データリネージ手法の分類を試みます。
一般に、データリネージの対象となるデータ群は複数の場所に別れて保存されており、それぞれの管理者やアクセスレベルは異なっています。そのため、データリネージのしくみを導入するにあたっては、ネットワークやセキュリティ、データガバナンスなどの調整が求められます。また、Web アプリケーションとして提供されることが多いため、サーバーの管理と運用も必要になります。
これらのハードルをなくし、データリネージをはじめやすくすることを目標に、Python 製の OSS である Stairlight を開発しました。SQL の SELECT 文を解析し、グラフノードとエッジに分解することでその依存関係を明らかにします。そうしたコンセプトや機能、運用イメージをご紹介します。
また、その中で Stairlight をなぜ Python で実装したのか、各機能について Python を用いてどのように実装しているのかも合わせてお話しします。最後に、他のソフトウェアやサービスと組み合わせることで期待される効果について、ユースケースとともに解説します。
想定するオーディエンス
- データリネージという単語を初めて聞いた、という方
- 長大な SELECT 文を読み込むのがつらくなってきた方
- データリネージをやりたいが、大変そう… という方
ゴール
- データリネージの概要や登場した背景を知ってもらう
- データリネージを試してみようかな、と思ってもらう
- グラフデータ構造を扱う Python 実装に興味をもってもらう
構成とタイムライン (計 30 min)
データリネージの概要 (7 min)
- データリネージとは
- データリネージが解決したい課題
- データリネージ手法の分類
導入のハードルを下げるために (3 min)
- プロトコルを SQL の SELECT 文に統一
- 目的を「リネージ情報の抽出と統合」に絞る
- 抽出工程をできるかぎり簡単にする
Python 製 OSS: Stairlight (10 min)
- コンセプト
- なぜ Python を選んだのか?
- データソース サポート対象
- リネージ情報の構造
- リネージ情報の抽出と統合
- その他機能と Python 実装の紹介
他のソフトウェアと組み合わせる (7 min)
- Git
- Shell
- CI サービス
- Streamlit