Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Datasets for Critical Operations by Dataform
Search
kimujun
July 25, 2025
Technology
320
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Datasets for Critical Operations by Dataform
Dataform Meetup #1 の発表資料
https://dataform-jp.connpass.com/event/359348/
kimujun
July 25, 2025
More Decks by kimujun
See All by kimujun
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
1
530
小規模に始めるデータメッシュとデータガバナンスの実践
kimujun
4
1.3k
NestJS と Hasura で実現する Production GraphQL
kimujun
0
430
Hasura の Subscription と向き合う
kimujun
0
1.4k
Other Decks in Technology
See All in Technology
Driving AI Adoption Using In-House GPUs to Serve Qwen
po3rin
2
470
プロダクト思考 × 基盤思考を AIで実現する Compound Engineering
tkc66buzz
1
310
HRC_Frontend_Conference_Fukuoka_2026.pdf
ts020
0
140
Webとヘルスデータ
yukukotani
1
200
全員がプロダクトへ向き合う組織を持続成長させるために——組織づくりのフライホイールと4象限 / The Flywheel Model and Four Quadrants for Organizational Design
hiro_torii
4
940
AIで仕事のやり方を変える
matsu7874
3
1k
Bet AI Day 2026丨AIを「使う」から、AIが「働く」へ ― LayerXが進める「組織AI」の社会実装
layerx
PRO
3
2.9k
omasushiというライブラリを作った
polidog
PRO
0
170
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
230
振り返りこそエンジニアの本領
negima
0
350
作り直せるコードは迅速に 作り直せないDBは慎重に - AI時代のプロダクトエンジニアが「判断の不可逆性」で開発速度を変える話
kinosuke01
0
280
10分で知る最近のOmarchy
komagata
0
190
Featured
See All Featured
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
370
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Being A Developer After 40
akosma
91
590k
HDC tutorial
michielstock
2
860
Faster Mobile Websites
deanohume
310
32k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Transcript
Datasets for Critical Operations by Dataform Dinii inc. Junya Kimura
Dataform Meetup #1
自己紹介 名前: Junya Kimura (kimujun) 所属: 株式会社ダイニー ロール: Application Development,
Data Engineering 全般の Tech Lead
今日の話の流れ 1. Background: Dataset for Critical Operation 2. Problem: 堅牢性より大事なもの、ある?
3. Solutions: 堅牢性担保のアプローチ 4. Summary: アプリケーション設計の重要性
Background: Dataset for Critical Operation What アプリケーション上の重要なオペレーションに直接関わるデータセット ビジネスプロセスに組み込まれている 例えば… 09:00AMに顧客へのメール配信
12:00PMにLINE配信 月次決算用データ
Architecture すべて Google Cloud 上で完結 E は Datastream, TL は
Dataform
Problem: 堅牢性より大事なもの、ある? データの不具合がビジネスに直結する 堅牢性への投資が最も重要 ポイント 1. 高可用性 - 壊れにくいシステム 2.
データ品質 - データが正しい 3. 適時性 - 必要な時に必要なデータがある
1. 高可用性 - スキーマ安全性の担保 高可用性のためにやること スキーマ安全性を仕組みで担保する バックエンドサーバーとの整合性を守る ダイニーのスキーマ管理 1. dataform
run で生成したデータセットのスキーマをファイルに抽出 2. バックエンドと Symbolic Link 等で共有 3. テスト前にスキーマ情報をもとに空のデータセットを生成 4. BigQuery に向けてバックエンドに定義された dry run テストを実行
1. 高可用性 - スキーマ安全性の担保 重要なポイント スキーマが変わりうるタイミングで必ずスキーマファイルを更新する CI で各ステップの正確性を必ずチェックする
2. データ品質の担保 品質テスト 品質テストツールは色々あるが、自由度に不満がある AI Coding 時代なので必要な分を必要なだけ作るのが良さそう ということで自前で品質テスト機構を実装している 他のアプローチ -
Dataplex Data Quality Google Cloud 内で完結する嬉しさはあるが… コード管理がしにくい テーブル/データセットをまたいだ検証が定義しにくい あたりのデメリットも。 今後の機能拡張に期待しています 💪
const emailConfigTestConfig: DataQualityTestConfig = { datasetName: "operation_mart", tableName: "emailConfig", nonNullColumns:
["id", "price", "quantity"], rangeConfigs: [{ columnName: "score", min: 0, max: 100 }], uniqueColumns: [tableKeys.email.primaryKey], // NOTE: RDB のユニークキーをそのまま参照している // NOTE: テーブル単体で担保できないドメイン制約を表現する customConfigs: [ { query: ` SELECT COUNT(emailTarget.id) AS emailTargetCount FROM operation_mart.emailConfig LEFT JOIN operation_mart.emailTarget ON emailConfig.id = emailTarget.emailConfigId GROUP BY emailConfig.id HAVING emailTargetCount < 1000 `, description: "email delivery target count should be over 1000", },
3. 適時性の担保 適時性とは? 特定のタイミングに必要なデータが用意されていること 例: メール配信システム 朝 09:00 に顧客にメール配信するユースケース 09:00
に必ず配信用のデータが存在している必要がある データが遅延するとビジネスに直結
3. 適時性の担保 品質テストのタイミング制御 定義したタイミングで品質テストを実行する e.g. 08:00 にメール配信データの品質テストを実行する インフラ監視のシステムに統合し、オンコール体制を作る 心構え -
パイプラインは必ずいつか壊れる!!!!! 絶対にいつかパイプラインは壊れる (大事なことなので2回目) アプリケーション実装を安心設計にしておくべき 冪等な API 実装をする、データ無い時はそもそも実装せずアラートをすぐに飛ばすな ど、やれることはたくさんある
まとめ: 堅牢性担保の観点 1. 高可用性: スキーマ安全性の仕組み化 スキーマ管理を仕組み化する CI での自動チェックさせる 2. データ品質:
自前テスト機構の実装 3. 適時性: タイミング制御と監視 定義したタイミングでの品質テスト実行 パイプラインは必ず壊れる!!!!! (3回目)
今後の展望を書きたかった 書く時間がありませんでした (土下座)
Thank you! このスライドは slidev と Claude Code によって作成されました