Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データ基盤を支える技術
Search
chanyou0311
May 09, 2024
Technology
9
4.5k
データ基盤を支える技術
主にクラウドの話してます - 広島 での登壇資料です。
https://omoni-cloud.connpass.com/event/315682/
chanyou0311
May 09, 2024
Tweet
Share
More Decks by chanyou0311
See All by chanyou0311
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
10
3.8k
5分でわかるDuckDB
chanyou0311
11
4.4k
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
3
1.7k
データの信頼性を支える仕組みと技術
chanyou0311
6
2.3k
Pulumi に入門してみた
chanyou0311
1
340
What is DRE? - Road to SRE NEXT@広島
chanyou0311
3
1.2k
release-please で実現する手軽で不変な Docker イメージタグ付け方法
chanyou0311
0
490
おうちk8s入門 - すごい広島 IT初心者の会 [84]
chanyou0311
1
430
オンラインコミュニケーションの課題と、その乗り越え方
chanyou0311
0
590
Other Decks in Technology
See All in Technology
21st ACRi Webinar - Univ of Tokyo Presentation Slide (Ayumi Ohno)
nao_sumikawa
0
120
Claude Code はじめてガイド -1時間で学べるAI駆動開発の基本と実践-
oikon48
45
27k
AI 時代のデータ戦略
na0
8
3.5k
AI/MLのマルチテナント基盤を支えるコンテナ技術
pfn
PRO
5
780
あなたの知らないDateのひみつ / The Secret of "Date" You Haven't known #tqrk16
expajp
0
120
20251209_WAKECareer_生成AIを活用した設計・開発プロセス
syobochim
1
280
Microsoft Agent 365 を 30 分でなんとなく理解する
skmkzyk
1
470
【pmconf2025】PdMの「責任感」がチームを弱くする?「分業型」から全員がユーザー価値に本気で向き合う「共創型開発チーム」への変遷
toshimasa012345
0
170
ブロックテーマとこれからの WordPress サイト制作 / Toyama WordPress Meetup Vol.81
torounit
0
370
Agents IA : la nouvelle frontière des LLMs (Tech.Rocks Summit 2025)
glaforge
0
460
最近のLinux普段づかいWaylandデスクトップ元年
penguin2716
1
550
オープンデータの内製化から分かったGISデータを巡る行政の課題
naokim84
2
1.4k
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
57k
Mobile First: as difficult as doing things right
swwweet
225
10k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Documentation Writing (for coders)
carmenintech
76
5.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Optimizing for Happiness
mojombo
379
70k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Navigating Team Friction
lara
191
16k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
87
Transcript
データ基盤を⽀える技術 chanyou
Yu Nakamura - chanyou ‧ DRE ← Data Engineer ←
SWE ‧ X: @chanyou0311 ‧ GCP BigQuery ‧ Azure Databricks ‧ おうち Kubernetes クラスタ
ゴール ‧データ基盤の構成要素がわかる ‧データ基盤を構成する技術スタックがイメージできる なんかデータ分析基盤作れそう!作ってみたい 💪
注意 ‧AWS と Azure 固有のサービスは触れられてません ‧GCP に類似したサービスはあるはず… ‧だいたい Databricks で対応できます
Databricks
データ基盤の構成要素
データ基盤とは?
データを保存‧加⼯‧活⽤する システム群のこと
クラウド時代のデータ基盤は どうあるべき?
“モダンデータスタック”
https://snowplow.io/blog/modern-data-stack/
クラウドサービスの組み合わせで データ基盤が作れてしまう
データ基盤の主な構成要素を 紐解いていく
データ基盤の構成要素 ‧ストレージ ‧ELT ‧データモデリング ‧カタログ ‧データ品質保証 ‧MLOps / BI https://snowplow.io/blog/modern-data-stack/
データ基盤の構成要素 ‧ストレージ ‧ELT ‧データモデリング ‧カタログ ‧データ品質保証 ‧MLOps / BI https://snowplow.io/blog/modern-data-stack/
ストレージ
ストレージ ‧データウェアハウス ‧データレイク ‧データレイクハウス
データウェアハウス ‧構造データをサクッと取り出せるストレージ ‧BigQuery, Snowflake など
データレイク ‧構造‧⾮構造どちらも保存できるストレージ ‧S3 や GCS など ‧画像や⾳声を使ってMLモデル作りたい、に応える ‧構造データはデータウェアハウスに転送する
データレイクハウス ‧データレイクにデータウェアハウスを内包する思想 ‧構造データとして Delta Lake などを採⽤ ‧ACID トランザクションの担保 ‧実体は列指向の Parquet
ファイル ‧マネージドサービスとして Databricks Unity Catalog
ストレージ ‧データウェアハウス ‧データレイク ‧データレイクハウス
ELT
ELT ‧Extract ‧Load ‧Transform
ELT vs ETL ‧ELT: 外部データをそのままストレージにロードして後から変換する ‧ETL: 外部データを変換してからストレージにロードする 最近は ELT が主流
ストレージコストが安価、後から変換をやり直せるため
ETL 全部できるもの ‧GCP Dataflow / Apache Beam ‧Databricks Delta Live
Tables ‧trocco / Embulk / Fluentd ‧Jupyter Notebook / Spark ‧お⼿製スクリプトと任意の実⾏環境
Extract と Load 特化 ‧Fivetran ‧Airbyte Cloud / Airbyte ‧dlt
‧trocco / Embulk / Fluentd 多数のコネクタを持ち合わせている 接続したいサービスの token を渡すだけで連携できる 例: S3 に保存された⽣ログをそのまま BigQuery に転送
Fivetran が⼀強(豊富な連携先、安定性) https://classmethod.jp/partner/fivetran/
Transform 特化 ‧dbt Cloud / dbt Core ‧GCP Dataform ‧Databricks
Delta Live Tables ストレージにロード済みのデータを変換する SQL ベースで冪等に処理できるものが好まれる
dbt がデファクトスタンダード的ポジション ‧token 設定して SQL ファイル書いて実⾏するだけ ‧結果がテーブルとして書き込まれる ‧別の SQL ファイルの結果を利⽤して
SQL ファイルを書ける ‧依存関係を解決して⾃動で適切な順序でテーブルを⽣成してくれる ‧ストレージや実⾏環境にロックインされない ‧dbt は SQL のコンパイルを⾏うのがメイン ‧実際の変換処理はストレージ標準の計算リソースを利⽤する
dbt がデファクトスタンダード的ポジション ‧データエンジニアリングに SWE の⽂化を持ち込める ‧データテスト、単体テスト、ドキュメンテーション ‧オープンソースでプラグイン開発が容易 ‧Web Framework のプラグインのように
dbt ライブラリが豊富 ‧クラウド ↔ セルフホストを⾏き来できる ‧最初は dbt Cloud に頼る ‧コストが気になったら GitHub Actions で dbt Core に切替とか
dbt integration なサービスが豊富 ‧Fivetran, Airbyte, troccoなど Extruct / Load に特化したサービスで
dbt に対応 ‧Databricks Jobs などのワークフローのステップに dbt が使える https://prtimes.jp/main/html/rd/p/000000046.000039164.html
その他の要素
データ基盤の構成要素 ‧ストレージ ‧ELT ‧データモデリング ‧カタログ ‧データ品質保証 ‧MLOps / BI https://snowplow.io/blog/modern-data-stack/
データモデリング ‧ファクトテーブル、ディメンションテーブルの実装 ‧分析のための集約テーブルの実装 Transform の作り込み Notebook ベースでも実装可能だが、保守性が低い dbt ⼀択な印象
カタログ ‧テーブルやカラムのメタデータ管理ツール ‧分析時に⾏や列の意味がわからないとしんどい ‧GCP Data Catalog ‧BigQuery テーブル詳細画⾯ ‧dbt docs
データ品質保証 ‧これだけで1テーマになってしまう ‧データの品質とはなにか? ‧完全性、⼀意性、適時性、可⽤性… ‧dbt test + elementary ‧レコードに重複が発⽣したらアラートを出す ‧存在しない
FK がデータに含まれていたら(ry ‧データが反映されるべき時刻に挿⼊されてなかったら(ry
MLOps / BI ‧MLOps ‧実験環境、モデルレジストリ、モデルのサービング ‧GCP Vertex AI ‧Databricks MLFlow
‧BI ‧Tableau / PowerBI / Looker ‧Superset / Metabase
データ基盤の構成要素 ‧ストレージ ‧ELT ‧データモデリング ‧カタログ ‧データ品質保証 ‧MLOps / BI https://snowplow.io/blog/modern-data-stack/
データ基盤の構成要素のまとめ
マネージド サービス セルフ ホスト Storage Extract Load Transform DataModeling Catalog
品質 MLOps BI dbt BigQuery DuckDB Unity Catalog Airbyte Fivetran Dataform Vertex AI Superset Metabas e Looker Tableau Snowflak e Data Catalog trocco Embulk Delta Live Tables Unity Catalog Dataflow BigQuery MLFlow Dashboard
まとめ ‧パブリッククラウド以外の選択肢も豊富 ‧OSS のマネージドサービスが近年増えている ‧パブリッククラウドにロックインされず健全 ‧選択肢がありすぎて、技術選定が難しい ‧ストレージと Fivetran と dbt
があればなんとかなる
⽂献 ‧データマネジメント知識体系ガイド 第⼆版 ‧ビッグデータを⽀える技術 ‧データエンジニアリングの基礎