$30 off During Our Annual Pro Sale. View Details »
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
350
What is DRE? - Road to SRE NEXT@広島
chanyou0311
3
1.2k
release-please で実現する手軽で不変な Docker イメージタグ付け方法
chanyou0311
0
500
おうちk8s入門 - すごい広島 IT初心者の会 [84]
chanyou0311
1
430
オンラインコミュニケーションの課題と、その乗り越え方
chanyou0311
0
600
Other Decks in Technology
See All in Technology
コンテキスト情報を活用し個社最適化されたAI Agentを実現する4つのポイント
kworkdev
PRO
0
1.3k
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
220
品質のための共通認識
kakehashi
PRO
3
260
非CUDAの悲哀 〜Claude Code と挑んだ image to 3D “Hunyuan3D”を EVO-X2(Ryzen AI Max+395)で動作させるチャレンジ〜
hawkymisc
2
190
JEDAI認定プログラム JEDAI Order 2026 エントリーのご案内 / JEDAI Order 2026 Entry
databricksjapan
0
100
20251209_WAKECareer_生成AIを活用した設計・開発プロセス
syobochim
7
1.6k
AIと二人三脚で育てた、個人開発アプリグロース術
zozotech
PRO
1
730
ログ管理の新たな可能性?CloudWatchの新機能をご紹介
ikumi_ono
1
760
GitHub Copilotを使いこなす 実例に学ぶAIコーディング活用術
74th
3
3.2k
寫了幾年 Code,然後呢?軟體工程師必須重新認識的 DevOps
cheng_wei_chen
1
1.4k
ガバメントクラウド利用システムのライフサイクルについて
techniczna
0
190
5分で知るMicrosoft Ignite
taiponrock
PRO
0
370
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Done Done
chrislema
186
16k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Embracing the Ebb and Flow
colly
88
4.9k
Facilitating Awesome Meetings
lara
57
6.7k
Bash Introduction
62gerente
615
210k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
What's in a price? How to price your products and services
michaelherold
246
13k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
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
があればなんとかなる
⽂献 ‧データマネジメント知識体系ガイド 第⼆版 ‧ビッグデータを⽀える技術 ‧データエンジニアリングの基礎