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

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

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

Eea30a4dd0c47b143eb3b55bb40f6a3e?s=128

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
  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
  3. • The Modern Data Stack? • トピック詳細 ◦ データ基盤のクラウド化とサービス化 ◦

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

    データトランスフォーメーション ◦ データインテグレーション ◦ データガバナンス ◦ BI・データアプリケーション • さいごに Agenda
  5. • 「データ活用・管理領域における現代 の環境に合うような設計の新しい サービス・ソフトウェア群」 • システムの進化、ニーズの急増、 データ活用領域の拡大によるトレンド の変化を指すバズワード The Modern

    Data Stack? https://twitter.com/valentinumbach/status/1418242294952644611
  6. https://www.moderndatastack.xyz/

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

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

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

  13. • The Modern Data Stack? • トピック詳細 ◦ データ基盤のクラウド化とサービス化 ◦

    データトランスフォーメーション ◦ データインテグレーション ◦ データガバナンス ◦ BI・データアプリケーション • さいごに Agenda
  14. データ基盤のクラウド化とサービス化 https://www.validio.io/blog/5-data-trends-in-2022

  15. データ基盤のクラウド化とサービス化 • 開発・運用コストが激減 ◦ not Big Data ユーザーへの広がり、様々なニー ズに対応できるよう進化 ◦

    データ活用・管理についての方法論の議論が進 み、特定ドメインに特化した SaaSが増える • スケーラブル ◦ ETL -> ELT ▪ データに近いところで一括で処理をしま しょう • データエンジニアの役割の変化 ◦ データ分析用コードの開発・運用のニーズ ↑ ▪ (new role!) Analytics Engineer https://www.getdbt.com/what-is-analytics-engineering/
  16. • The Modern Data Stack? • トピック詳細 ◦ データ基盤のクラウド化とサービス化 ◦

    データトランスフォーメーション ◦ データインテグレーション ◦ データガバナンス ◦ BI・データアプリケーション • さいごに Agenda
  17. • データを使いやすいように変換する処理 (ELTのT) • 実装の変化 ◦ MapReduce, Spark ▪ コードを書ける人は少ない

    ◦ SQL (Hive, SparkSQL, Presto etc…) ▪ 比較的書ける人が多い ▪ クラウドデータウェアハウスが普及してきた • 基礎的な変換はSQL、特別な実装が必要な場合は別でコードを書く ◦ 最近はSQLでも UDF (User Defined Function) が自由に作れたり、ML が出来るようになってきて いる ▪ e.g. BigQuery ML データトランスフォーメーション
  18. データトランスフォーメーション • SQLによるデータ変換の記述と管理 ◦ 宣言的なSQLはデータ定義を記述しやすい ◦ CI/CDも容易 • dbt の登場と発展

    ◦ SQLによるデータ変換のためのフレームワーク ▪ 1. テンプレート化された SQL を実行可能な SQL に変換する compiler ▪ 2. SQLを実行しデータ変換をする runner ◦ OSS、プラガブル、データリネージやドキュメン テーションもサポート ▪ エコシステムを形作っている https://docs.getdbt.com/tutorial/learning-more/using-jinja
  19. データ記述言語 • テンプレート化されたSQLを 使ったデータ定義方法は今の ところ上手くいっているが、ウェ ブサイト開発における HTML+PHPの先の展開みた いなものがあるかもしれない • Malloy

    ◦ LookML の開発者による実験的 に開発されたデータ記述言語 • 将来的にトランスパイラ的なも のが発展する余地がある...?
  20. • 対象のデータの種類を限定した、データの計算・取り扱いのためのフレームワーク ・サービスが生まれ、特定処理の抽象化が模索されている ◦ メトリックフレームワーク ◦ フィーチャーストア ◦ カスタマーデータプラットフォーム( CDP)

    ◦ etc… ドメイン特化のデータトランスフォーメーション
  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
  22. メトリックフレームワーク • dbt も v1.0.0 から実験的にメトリック定 義機能をサポート ◦ API Layer

    はない • dbt による YAML を使ったメトリックの定 義例 ◦ メトリックを定義すると、 lineage に含めたり、 その upstream を一度に build できたり、 downstream で利用できたりする ◦ トランスフォームレイヤーが担うべきかどうか https://docs.getdbt.com/docs/building-a-dbt-project/metrics
  23. • Metriql ◦ バックエンドにdbtを採用している • Weld ◦ APIではなく各種サービスとのインテグレーショ ンをサポート •

    Metlo ◦ ストリームデータを使った計算をサポート • Cube ◦ Headless BI、モデル定義やキャッシュ • Supergrain ◦ Headless BI を謳ってローンチしていたが customer engagement platform に pivot した メトリックフレームワーク https://metriql.com/ https://cube.dev/docs/introduction
  24. • The Modern Data Stack? • トピック詳細 ◦ データ基盤のクラウド化とサービス化 ◦

    データトランスフォーメーション ◦ データインテグレーション ◦ データガバナンス ◦ BI・データアプリケーション • さいごに Agenda
  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
  26. Reverse ETL -> Data Activation? https://twitter.com/AstasiaMyers/status/1514994994490318865 https://twitter.com/kashgupta_/status/1514702392175988744

  27. Reverse ETL -> Data Activation? https://hightouch.io/blog/the-data-activation-company/ • Reverse ETLを謳っていたHightouchは Data

    Activation Companyと自身をリブ ランディングした ◦ Reverse ETL はただのデータの複製を想起さ せてしまう ◦ データを使って、意志決定のためのデータ分 析だけでなく、アクションを取ることにより フォーカス
  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

  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/
  30. • The Modern Data Stack? • トピック詳細 ◦ データ基盤のクラウド化とサービス化 ◦

    データトランスフォーメーション ◦ データインテグレーション ◦ データガバナンス ◦ BI・データアプリケーション • さいごに Agenda
  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
  32. メタデータカタログ / データディスカバリー • OpenMetadata ◦ OSS ◦ 機能追加の速度が凄い •

    機能 ◦ 検索(キーワード検索、関連性タグ) ◦ アクティビティフィード ◦ Webhook によるイベント通知 ◦ OwnerやTierの管理 ◦ Role Based Access Control (RBAC) ◦ データリネージ ◦ dbt インテグレーション ◦ データプロファイル • デモサイトもあるのでメタデータカタログっ てものがどんなものか触ってみたいとき には見てみると良いかも
  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
  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)
  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
  36. • 世界的にデータを取り扱う際のルール や規制が増え、組織的にガバナンス強 化に取り組む場面が増えている (GDPR, CCPA etc…) • Immuta, Satori

    ◦ データアクセスコントロールプラットフォー ム ◦ 属性ベースアクセスコントロール、 Dynamic Data Masking、データクラス管 理、モニタリング https://documentation.immuta.com/SaaS/prologue/data-flow/ データアクセスコントロール / プライバシーデータコントロール
  37. • Ketch ◦ プライバシーデータコントロールプラット フォーム ◦ 国や地域ごとのコンセントマネジメント、 データ削除ワークフローなど https://www.ketch.com/features/the-platform データアクセスコントロール

    / プライバシーデータコントロール
  38. • The Modern Data Stack? • トピック詳細 ◦ データ基盤のクラウド化とサービス化 ◦

    データトランスフォーメーション ◦ データインテグレーション ◦ データガバナンス ◦ BI・データアプリケーション • さいごに Agenda
  39. • 様々なソフトウェア・サービスの登場に より、BIツールに求められる役割も変化 している ◦ e.g. 今後LookMLがTableauから使えるよう になることが発表された ▪ “The

    Universal Semantic Layer. More Important than Ever.” BI https://benn.substack.com/p/is-bi-dead
  40. • クラウドベースでインテグレーショ ン、アクティベーション、コラボレー ションを重視したBIが増えている • Lightdash ◦ OSS、dbt をバックエンドに据えた BI

    BI https://www.lightdash.com/
  41. • Hyperquery, Hex ◦ ノートブック型BI ◦ SQLとその実行結果をドキュメントとして 共有できる • Sigma,

    Actiondesk ◦ スプレッドシート型BI ◦ インテグレーションの豊富なデータ探索 しやすい BI https://www.hyperquery.ai/ https://www.sigmacomputing.com/product/features/
  42. • データを扱うアプリケーションのため の実装に特化したツール群 ◦ データを利用したアプリケーション実装 のニーズが増えてきた ◦ データの視覚化、UIコンポーネント、 ユーザー入力などの ready-madeな要

    素を提供し、実装を簡素化 • Streamlit ◦ Python を使ってインタラクティブなアプ リケーションを作れる ◦ Snowflake に買収された • Plotly • TopCoat ◦ Snyk に買収されクローズ データアプリケーション https://share.streamlit.io/streamlit/example-app-ab-testing/main
  43. • The Modern Data Stack? • トピック詳細 ◦ データ基盤のクラウド化とサービス化 ◦

    データトランスフォーメーション ◦ データインテグレーション ◦ データガバナンス ◦ BI・データアプリケーション • さいごに Agenda
  44. • トレンドを追いかけるのは楽しい ◦ 自分の思いつかないアイディアが色々存在する ◦ そのツールが解決する課題とそれをどう解決しているかに注目すること • 新しいツールを使えばそれで良いわけではない ◦ 解決したい課題に対して適切なツールを適切なタイミングで適切に導入する

    ▪ どうやって人のオペレーションに組み込むかは腕の見せ所 ▪ 導入や自社のレガシーをリプレイスするにはコストがかかる ▪ 生まれるビジネス上の価値を意識する さいごに
  45. Thank you for your listening!