Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

● 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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

https://www.moderndatastack.xyz/

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

● メトリック ○ 対象の属性や状態を数値化したもの ● これまではメトリックの定義・計算は変換レイ ヤーや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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

データインテグレーション ● データ活用領域が増え企業が使う 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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

余談: 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

Slide 29

Slide 29 text

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/

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

メタデータカタログ / データディスカバリー ● データ活用が進むと、データガバナンスが問題になってくる ● メタデータカタログ ○ 分散したデータのメタデータを一元的に管理し、データの発見・理解を容易にするツール ● この分野の製品は古くから存在するが、エンタープライズ向けであり、使い勝手がいまいち のものも多かった ○ 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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

メタデータカタログ / データディスカバリー ● 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

Slide 34

Slide 34 text

データオブザーバビリティ / クオリティモニタリング 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)

Slide 35

Slide 35 text

データオブザーバビリティ / クオリティモニタリング 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

Slide 36

Slide 36 text

● 世界的にデータを取り扱う際のルール や規制が増え、組織的にガバナンス強 化に取り組む場面が増えている (GDPR, CCPA etc…) ● Immuta, Satori ○ データアクセスコントロールプラットフォー ム ○ 属性ベースアクセスコントロール、 Dynamic Data Masking、データクラス管 理、モニタリング https://documentation.immuta.com/SaaS/prologue/data-flow/ データアクセスコントロール / プライバシーデータコントロール

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

Thank you for your listening!