Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Overview of The Modern Data Stack / モダンデータスタック概論

Overview of The Modern Data Stack / モダンデータスタック概論

satoshihirose

June 07, 2022
Tweet

More Decks by satoshihirose

Other Decks in Programming

Transcript

  1. Overview of
    The Modern Data Stack /
    モダンデータスタック概論
    2022-06-08 Data Engineering Study #14
    Satoshi Hirose

    View Slide

  2. ● Satoshi Hirose
    ○ https://twitter.com/satoshihirose
    ○ https://meety.net/matches/UDPxozaylQEa
    ○ https://menta.work/user/48511
    ● Customer Reliability Engineer @ Treasure Data
    ○ prev: Data Engineer @ SmartNews
    ○ prev: Technical Support Engineer @ AWS Japan
    ○ prev: Backend Engineer @ a few startups
    ● ブログ記事
    ○ モダンデータスタックというトレンドについて
    ■ https://satoshihirose.hateblo.jp/entry/2021/11/20/160548
    Self Introduction

    View Slide

  3. ● The Modern Data Stack?
    ● トピック詳細
    ○ データ基盤のクラウド化とサービス化
    ○ データトランスフォーメーション
    ○ データインテグレーション
    ○ データガバナンス
    ○ BI・データアプリケーション
    ● さいごに
    Agenda

    View Slide

  4. ● The Modern Data Stack?
    ● トピック詳細
    ○ データ基盤のクラウド化とサービス化
    ○ データトランスフォーメーション
    ○ データインテグレーション
    ○ データガバナンス
    ○ BI・データアプリケーション
    ● さいごに
    Agenda

    View Slide

  5. ● 「データ活用・管理領域における現代
    の環境に合うような設計の新しい
    サービス・ソフトウェア群」
    ● システムの進化、ニーズの急増、
    データ活用領域の拡大によるトレンド
    の変化を指すバズワード
    The Modern Data Stack?
    https://twitter.com/valentinumbach/status/1418242294952644611

    View Slide

  6. https://www.moderndatastack.xyz/

    View Slide

  7. View Slide

  8. View Slide

  9. View Slide

  10. Data50: The World’s Top Data Startups - a16z
    https://future.a16z.com/data50/

    View Slide

  11. Data50: The World’s Top Data Startups - a16z
    https://future.a16z.com/data50/

    View Slide

  12. “Emerging Architectures for Modern Data
    Infrastructure” - a16z
    https://future.a16z.com/emerging-architectures-modern-data-infrastructure/

    View Slide

  13. ● The Modern Data Stack?
    ● トピック詳細
    ○ データ基盤のクラウド化とサービス化
    ○ データトランスフォーメーション
    ○ データインテグレーション
    ○ データガバナンス
    ○ BI・データアプリケーション
    ● さいごに
    Agenda

    View Slide

  14. データ基盤のクラウド化とサービス化
    https://www.validio.io/blog/5-data-trends-in-2022

    View Slide

  15. データ基盤のクラウド化とサービス化
    ● 開発・運用コストが激減
    ○ not Big Data ユーザーへの広がり、様々なニー
    ズに対応できるよう進化
    ○ データ活用・管理についての方法論の議論が進
    み、特定ドメインに特化した SaaSが増える
    ● スケーラブル
    ○ ETL -> ELT
    ■ データに近いところで一括で処理をしま
    しょう
    ● データエンジニアの役割の変化
    ○ データ分析用コードの開発・運用のニーズ ↑
    ■ (new role!) Analytics Engineer
    https://www.getdbt.com/what-is-analytics-engineering/

    View Slide

  16. ● The Modern Data Stack?
    ● トピック詳細
    ○ データ基盤のクラウド化とサービス化
    ○ データトランスフォーメーション
    ○ データインテグレーション
    ○ データガバナンス
    ○ BI・データアプリケーション
    ● さいごに
    Agenda

    View Slide

  17. ● データを使いやすいように変換する処理 (ELTのT)
    ● 実装の変化
    ○ MapReduce, Spark
    ■ コードを書ける人は少ない
    ○ SQL (Hive, SparkSQL, Presto etc…)
    ■ 比較的書ける人が多い
    ■ クラウドデータウェアハウスが普及してきた
    ● 基礎的な変換はSQL、特別な実装が必要な場合は別でコードを書く
    ○ 最近はSQLでも UDF (User Defined Function) が自由に作れたり、ML が出来るようになってきて
    いる
    ■ e.g. BigQuery ML
    データトランスフォーメーション

    View Slide

  18. データトランスフォーメーション
    ● SQLによるデータ変換の記述と管理
    ○ 宣言的なSQLはデータ定義を記述しやすい
    ○ CI/CDも容易
    ● dbt の登場と発展
    ○ SQLによるデータ変換のためのフレームワーク
    ■ 1. テンプレート化された SQL を実行可能な
    SQL に変換する compiler
    ■ 2. SQLを実行しデータ変換をする runner
    ○ OSS、プラガブル、データリネージやドキュメン
    テーションもサポート
    ■ エコシステムを形作っている
    https://docs.getdbt.com/tutorial/learning-more/using-jinja

    View Slide

  19. データ記述言語
    ● テンプレート化されたSQLを
    使ったデータ定義方法は今の
    ところ上手くいっているが、ウェ
    ブサイト開発における
    HTML+PHPの先の展開みた
    いなものがあるかもしれない
    ● Malloy
    ○ LookML の開発者による実験的
    に開発されたデータ記述言語
    ● 将来的にトランスパイラ的なも
    のが発展する余地がある...?

    View Slide

  20. ● 対象のデータの種類を限定した、データの計算・取り扱いのためのフレームワーク
    ・サービスが生まれ、特定処理の抽象化が模索されている
    ○ メトリックフレームワーク
    ○ フィーチャーストア
    ○ カスタマーデータプラットフォーム( CDP)
    ○ etc…
    ドメイン特化のデータトランスフォーメーション

    View Slide

  21. ● メトリック
    ○ 対象の属性や状態を数値化したもの
    ● これまではメトリックの定義・計算は変換レイ
    ヤーやBIなど複数の場所に分散していて重複
    管理されており問題の元だった
    ○ BI上に実装すると、BIを超えて再利用できない
    ○ データマートとして用意すると集計単位をあらかじめ
    決定して計算しておかないといけない
    ● そこでメトリックを集中管理し API 経由などで提
    供し再利用しましょうというもの
    ○ Headless BI や Metric Store というキーワードも同
    様な考え
    ● AirBnb の社内システム Minerva
    ○ スピンアウトしたスタートアップ
    ■ Transform: https://transform.co/
    ■ OSS: MetricFlow
    メトリックフレームワーク
    https://medium.com/airbnb-engineering/how-airbnb-achieved-metric-consistency-at-scale-f23cc53dea70
    https://benn.substack.com/p/metrics-layer

    View Slide

  22. メトリックフレームワーク
    ● dbt も v1.0.0 から実験的にメトリック定
    義機能をサポート
    ○ API Layer はない
    ● dbt による YAML を使ったメトリックの定
    義例
    ○ メトリックを定義すると、 lineage に含めたり、
    その upstream を一度に build できたり、
    downstream で利用できたりする
    ○ トランスフォームレイヤーが担うべきかどうか
    https://docs.getdbt.com/docs/building-a-dbt-project/metrics

    View Slide

  23. ● Metriql
    ○ バックエンドにdbtを採用している
    ● Weld
    ○ APIではなく各種サービスとのインテグレーショ
    ンをサポート
    ● Metlo
    ○ ストリームデータを使った計算をサポート
    ● Cube
    ○ Headless BI、モデル定義やキャッシュ
    ● Supergrain
    ○ Headless BI を謳ってローンチしていたが
    customer engagement platform に pivot した
    メトリックフレームワーク
    https://metriql.com/
    https://cube.dev/docs/introduction

    View Slide

  24. ● The Modern Data Stack?
    ● トピック詳細
    ○ データ基盤のクラウド化とサービス化
    ○ データトランスフォーメーション
    ○ データインテグレーション
    ○ データガバナンス
    ○ BI・データアプリケーション
    ● さいごに
    Agenda

    View Slide

  25. データインテグレーション
    ● データ活用領域が増え企業が使う
    SaaSの数が増えるなどにつれ、ETL
    処理の実装と管理が大変に
    ● ETL サービス
    ○ データソースからDWHへのデータのロー
    ドと変換
    ○ e.g. Airbyte
    ● Reverse ETL サービス
    ○ DWHから各種 SaaS(データを活用する
    先のサービス) へのデータのロード
    ○ e.g. Hightouch
    https://medium.com/memory-leak/reverse-etl-a-primer-4e6694dcc7fb
    https://twitter.com/mengxilu/status/1265786665898881024

    View Slide

  26. Reverse ETL -> Data Activation?
    https://twitter.com/AstasiaMyers/status/1514994994490318865 https://twitter.com/kashgupta_/status/1514702392175988744

    View Slide

  27. Reverse ETL -> Data Activation?
    https://hightouch.io/blog/the-data-activation-company/
    ● Reverse ETLを謳っていたHightouchは
    Data Activation Companyと自身をリブ
    ランディングした
    ○ Reverse ETL はただのデータの複製を想起さ
    せてしまう
    ○ データを使って、意志決定のためのデータ分
    析だけでなく、アクションを取ることにより
    フォーカス

    View Slide

  28. 余談: Octopus 系サービス
    https://medium.com/experience-stack/wow-customer-data-platforms-youve-sure-c
    ome-up-with-a-unique-way-to-visualize-what-you-do-60a10a83a4c0

    View Slide

  29. Change Data Capture (CDC)
    ● サービスで使われる RDB上のテーブル情報を分析
    に使いたい
    ○ e.g. 登録ユーザー数のカウントを取りたい
    ● ナイーブな方法
    ○ テーブルの全データ(もしくは差分だけ)を定期的に取得し履歴
    テーブルをDWH上に作成する
    ● CDC: 変更ログをストリーミングして構築する方法
    ○ リアルタイム
    ○ すべての変更が追える
    ● Meroxa
    ○ マネージド CDC サービス
    ○ 最近 OpenCDC という CDC 連携の標準化を進めようともし
    ている
    ■ 現状は、変更ログを取得した後、そのログを各種アプ
    リケーションに反映させるためには何らかの実装が必

    ● Fivetran、Airbyte のようなETLサービスも一部 CDC
    をサポートし始めている https://engineering.mercari.com/blog/entry/20220420-5d89f9d9c7/

    View Slide

  30. ● The Modern Data Stack?
    ● トピック詳細
    ○ データ基盤のクラウド化とサービス化
    ○ データトランスフォーメーション
    ○ データインテグレーション
    ○ データガバナンス
    ○ BI・データアプリケーション
    ● さいごに
    Agenda

    View Slide

  31. メタデータカタログ / データディスカバリー
    ● データ活用が進むと、データガバナンスが問題になってくる
    ● メタデータカタログ
    ○ 分散したデータのメタデータを一元的に管理し、データの発見・理解を容易にするツール
    ● この分野の製品は古くから存在するが、エンタープライズ向けであり、使い勝手がいまいち
    のものも多かった
    ○ A senior data leader at a large company called these data catalogs “expensive shelfware”, or software
    that sits on the shelf and never gets used.
    ● スタートアップ各社は自社システムを作り運用する状況が生まれていた
    ○ LinkedIn: DataHub
    ■ スピンアウトサービス: Acryl Data
    ○ Lyft: Amundsen
    ■ スピンアウトサービス: Stemma
    ○ WeWork: Marquez
    ○ Airbnb: Dataportal
    ○ Spotify: Lexikon
    ○ Netflix: Metacat
    ○ Uber: Databook

    View Slide

  32. メタデータカタログ / データディスカバリー
    ● OpenMetadata
    ○ OSS
    ○ 機能追加の速度が凄い
    ● 機能
    ○ 検索(キーワード検索、関連性タグ)
    ○ アクティビティフィード
    ○ Webhook によるイベント通知
    ○ OwnerやTierの管理
    ○ Role Based Access Control (RBAC)
    ○ データリネージ
    ○ dbt インテグレーション
    ○ データプロファイル
    ● デモサイトもあるのでメタデータカタログっ
    てものがどんなものか触ってみたいとき
    には見てみると良いかも

    View Slide

  33. メタデータカタログ / データディスカバリー
    ● Active Metadata?
    ○ ガートナー社は、MagicQuadrant™ の Metadata
    Management Solutions 領域を 2020/11 に廃止し、代わ
    りに 2021/10 に Active Metadata Management と定義
    し直した
    ■ 従来のメタデータカタログシステムは外部とのイン
    テグレーションが十分なく、手動入力が必要で継続
    的利用が大変だった( Not Active)
    ○ 外部システムからメタデータを継続的に収集、更新
    ○ カタログとして機能するだけではなく、知見を提供しアク
    ションを促す
    ○ 外部 API と連携し、シームレスな体験を提供する https://towardsdatascience.com/the-future-of-data-catalogs-868ffbe7354d

    View Slide

  34. データオブザーバビリティ / クオリティモニタリング
    https://www.getdbt.com/product/data-testing/
    ● データオブザーバビリティ
    ○ データの状態が観測できる状態になってい
    ること
    ■ e.g. Freshness, Distribution,
    Volume, Schema, Lineage
    ○ データの健全性を監視しながらデータ品質
    を向上させデータのダウンタイムを削減する
    ○ ref: Data Reliability
    ● dbt
    ○ YAML定義によるschema test
    ○ SQLによるdata test
    ○ data profiler
    ○ run external library (e.g. great
    expectation)

    View Slide

  35. データオブザーバビリティ / クオリティモニタリング
    https://www.datafold.com/data-diff
    ● Datafold
    ○ Data Reliability platform
    ■ Data Diff
    ■ Column Level Lineage
    ■ Data Monitoring (alert by SQL)
    ■ Data Catalog
    ■ Pull Request Impact Analysis
    ● Monte Carlo
    ○ Data Observability platform
    ■ Anomaly Detection
    ■ Column Level Lineage (Impact
    radius assessment)
    ■ Data Cleanup Suggestions

    View Slide

  36. ● 世界的にデータを取り扱う際のルール
    や規制が増え、組織的にガバナンス強
    化に取り組む場面が増えている
    (GDPR, CCPA etc…)
    ● Immuta, Satori
    ○ データアクセスコントロールプラットフォー

    ○ 属性ベースアクセスコントロール、
    Dynamic Data Masking、データクラス管
    理、モニタリング
    https://documentation.immuta.com/SaaS/prologue/data-flow/
    データアクセスコントロール /
    プライバシーデータコントロール

    View Slide

  37. ● Ketch
    ○ プライバシーデータコントロールプラット
    フォーム
    ○ 国や地域ごとのコンセントマネジメント、
    データ削除ワークフローなど
    https://www.ketch.com/features/the-platform
    データアクセスコントロール /
    プライバシーデータコントロール

    View Slide

  38. ● The Modern Data Stack?
    ● トピック詳細
    ○ データ基盤のクラウド化とサービス化
    ○ データトランスフォーメーション
    ○ データインテグレーション
    ○ データガバナンス
    ○ BI・データアプリケーション
    ● さいごに
    Agenda

    View Slide

  39. ● 様々なソフトウェア・サービスの登場に
    より、BIツールに求められる役割も変化
    している
    ○ e.g. 今後LookMLがTableauから使えるよう
    になることが発表された
    ■ “The Universal Semantic Layer.
    More Important than Ever.”
    BI
    https://benn.substack.com/p/is-bi-dead

    View Slide

  40. ● クラウドベースでインテグレーショ
    ン、アクティベーション、コラボレー
    ションを重視したBIが増えている
    ● Lightdash
    ○ OSS、dbt をバックエンドに据えた BI
    BI
    https://www.lightdash.com/

    View Slide

  41. ● Hyperquery, Hex
    ○ ノートブック型BI
    ○ SQLとその実行結果をドキュメントとして
    共有できる
    ● Sigma, Actiondesk
    ○ スプレッドシート型BI
    ○ インテグレーションの豊富なデータ探索
    しやすい
    BI
    https://www.hyperquery.ai/
    https://www.sigmacomputing.com/product/features/

    View Slide

  42. ● データを扱うアプリケーションのため
    の実装に特化したツール群
    ○ データを利用したアプリケーション実装
    のニーズが増えてきた
    ○ データの視覚化、UIコンポーネント、
    ユーザー入力などの ready-madeな要
    素を提供し、実装を簡素化
    ● Streamlit
    ○ Python を使ってインタラクティブなアプ
    リケーションを作れる
    ○ Snowflake に買収された
    ● Plotly
    ● TopCoat
    ○ Snyk に買収されクローズ
    データアプリケーション
    https://share.streamlit.io/streamlit/example-app-ab-testing/main

    View Slide

  43. ● The Modern Data Stack?
    ● トピック詳細
    ○ データ基盤のクラウド化とサービス化
    ○ データトランスフォーメーション
    ○ データインテグレーション
    ○ データガバナンス
    ○ BI・データアプリケーション
    ● さいごに
    Agenda

    View Slide

  44. ● トレンドを追いかけるのは楽しい
    ○ 自分の思いつかないアイディアが色々存在する
    ○ そのツールが解決する課題とそれをどう解決しているかに注目すること
    ● 新しいツールを使えばそれで良いわけではない
    ○ 解決したい課題に対して適切なツールを適切なタイミングで適切に導入する
    ■ どうやって人のオペレーションに組み込むかは腕の見せ所
    ■ 導入や自社のレガシーをリプレイスするにはコストがかかる
    ■ 生まれるビジネス上の価値を意識する
    さいごに

    View Slide

  45. Thank you for your listening!

    View Slide