---
title: 【DeNA TechCon 2025】 Redshift Serverlessとdbtを用いた データ品質テストの高速化-
tags:  #dena techcon 2025  
author: [DeNA_Tech](https://convert.docswell.com/user/DeNA_Tech)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/LJ13RYGL7G.jpg?width=480
description: データ品質テスト（QC）は、データが期待通りであることを確認するプロセスです。誤ったデータは誤った判断や意思決定を引き起こすため、データ品質を担保する上で QC は非常に重要です。しかし、大規模なデータに対して QC を厳密に行う場合、多くの時間、コスト、および運用工数がかかる課題があります。これらは一般的にデータ量の増加と共に増大します。そこで、QC をスケーラブルにするため、システムのリプレイスを行いました。新システムでは、Amazon Redshift Serverless と dbt を主要な技術スタックとして採用しました。また、QC の結果を運用作業者に分かりやすく通知するため、dbt パイプラインの監視ツール「Elementary」を導入しました。本発表では、リプレイスの背景や技術選定の理由、そしてその結果として得られた成果について紹介します。  ◆ チャンネル登録はこちら↓ https://www.youtube.com/c/denatech?sub_confirmation=1  ◆ X(旧Twitter) https://x.com/denaxtech  ◆ DeNA Engineering https://engineering.dena.com/  ◆ DeNA Engineer Blog https://engineering.dena.com/blog/  ◆ DeNA × AI Day ‖ DeNA TechCon 2025 公式サイト https://techcon2025.dena.dev/
published: February 05, 25
canonical: https://convert.docswell.com/s/DeNA_Tech/ZP2LPE-techcon2025-olive-1600
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/LJ13RYGL7G.jpg)

Redshift Serverlessとdbtを⽤いた
データ品質テストの⾼速化
DeSCヘルスケア製品開発統括部
データプラットフォーム開発部第三開発グループ
俵
1
海⼈
© DeNA Co., Ltd.


# Page. 2

![Page Image](https://bcdn.docswell.com/page/GJWP1GKQ72.jpg)

⾃⼰紹介
俵
海⼈
出⾝：広島
居住：名古屋
役割：データエンジニア
取り組んでいること：ヘルスケアデー
タプラットフォームの改善
趣味：将棋
2
© DeNA Co., Ltd.


# Page. 3

![Page Image](https://bcdn.docswell.com/page/4EZKPLZ3E3.jpg)

はじめに
● 本発表のきっかけ
○ 先⽇DeNA ENGINEERINGに投稿
したブログ記事
○ https://engineering.dena.com/b
log/2024/08/data-quality-testin
g-using-redshift-serverless-anddbt/
3
© DeNA Co., Ltd.


# Page. 4

![Page Image](https://bcdn.docswell.com/page/Y76QMWZZ7V.jpg)

Redshift Serverlessとdbtを⽤いた
データ品質テストの⾼速化
4
© DeNA Co., Ltd.


# Page. 5

![Page Image](https://bcdn.docswell.com/page/G75RZMW9E4.jpg)

データ品質テスト（QC）
● データ品質テスト
○ データが期待通りであることを確認するプロセス
○ データ品質を担保する上で⾮常に重要
○ 以降はQC（Quality Checkの略）とよぶ
● QCの具体例
○ データ項⽬が未定義でない（NOT NULL）
○ データ項⽬が⼀意である（UNIQUE）
○ データ項⽬が整数である
○ etc.
5
© DeNA Co., Ltd.


# Page. 6

![Page Image](https://bcdn.docswell.com/page/9J2DR9Q5JR.jpg)

データパイプラインにおけるQC
ソース
QC
変換
QC
…
QC
利活⽤
データパイプラインの概念図
● データ変換の正しさを確認するためQCを複数回実施
● 今回あるQC業務を改善した
6
© DeNA Co., Ltd.


# Page. 7

![Page Image](https://bcdn.docswell.com/page/DEY2D4W6EM.jpg)

QCの運⽤業務フロー
QCの運⽤業務フロー図
● QCシステムを新システムに移⾏した
7
© DeNA Co., Ltd.


# Page. 8

![Page Image](https://bcdn.docswell.com/page/VJN86YP178.jpg)

システム移⾏の背景
8
© DeNA Co., Ltd.


# Page. 9

![Page Image](https://bcdn.docswell.com/page/YE9KLP3YE3.jpg)

システム移⾏の背景① - 旧システムの構成
● 旧システムはCSVをPython (Pandas)で読み込むモノリス構成
EC2インスタンス
CSV
Python
旧システムの構成
9
© DeNA Co., Ltd.


# Page. 10

![Page Image](https://bcdn.docswell.com/page/GE8RXDMKJD.jpg)

システム移⾏の背景② - 旧システムの課題
● 実⾏速度
○ 約2.6TBのデータセットに対し170時間（7⽇）！！
■ データ取得から利活⽤のリードタイム増加→データ鮮度低下
■ 再実⾏の負担が⼤きく、⻑いバッファの確保が必要
● クラウドコスト
○ 巨⼤なスペックのEC2インスタンスに対し膨⼤な課⾦
■ 処理実⾏時以外も課⾦ → コスト効率が低い
● 保守性
○ 各QC項⽬がPythonで独⾃実装
■ 保守の負荷が⾼い＆⾮効率な処理が⾒られる
10
© DeNA Co., Ltd.


# Page. 11

![Page Image](https://bcdn.docswell.com/page/LELK8M3PJR.jpg)

システム移⾏の背景③ - 対応⽅針
対応⽅針の⽐較
● 今後のデータ増加で課題が顕著化
● 旧システム課題への対応⽅針
○ 既存のプログラム改修(並列化)
○ 新システムへの移⾏
● 両⽅針をチーム内で⽐較検討
● 新システムのPoC結果も踏まえ、
システム移⾏のメリットが⼤きい
→ システム移⾏を決定
11
プログラム改修
システム移行
速度向上
⚪
◎
コスト削減
✖
◎
保守性向上
△
◎
© DeNA Co., Ltd.


# Page. 12

![Page Image](https://bcdn.docswell.com/page/4JM26YD2JW.jpg)

新システムの構成
12
© DeNA Co., Ltd.


# Page. 13

![Page Image](https://bcdn.docswell.com/page/PJRMP945E9.jpg)

新システムの構成① - アーキテクチャ
1. QC対象のCSVをS3にアップロード
2. 1をトリガーにStep Functionsが起
動し、QCをオーケストレーション
3. S3上のCSVをRedshift Serverless
にロード
4. dbtの実⾏コンテナが起動
（ECS on Fargate）
5. dbtによりQCを実⾏
新システムの簡易構成図
13
© DeNA Co., Ltd.


# Page. 14

![Page Image](https://bcdn.docswell.com/page/PEXV3Q2X7X.jpg)

新システムの構成② - Redshift Serverless
●
●
●
●
●
14
AWSが提供するサーバーレスDWH（GCPのBQに相当）
2022年7⽉GAの⽐較的新しいサービス
超並列処理と列指向ストレージによる⾼いクエリ性能
RPUを増減することでデータ量に対してスケール
サーバーレス
○ クエリ実⾏時のみ課⾦のためコスト効率が⾼い
○ クラスターやノードの設定‧管理が不要
© DeNA Co., Ltd.


# Page. 15

![Page Image](https://bcdn.docswell.com/page/3EKQY9M9ED.jpg)

新システムの構成③ - dbt
● dbt（data build tool）はデータのモデリング（変換）やテスト、ド
キュメント作成を⾏うOSSのツール
● SQLとJinjaテンプレートを組み合わせて上記を効率化
● SQLを使うため学習コストが低い
● Redshiftなどの主要なDWHとネイティブに連携可能
15
© DeNA Co., Ltd.


# Page. 16

![Page Image](https://bcdn.docswell.com/page/L73P9WY9E5.jpg)

新システムの構成④ - dbt test
version: 2
models:
- name: orders
columns:
- name: order_id
tests:
- unique
- not_null
- name: status
tests:
- accepted_values:
values: [&#039;placed&#039;, &#039;shipped&#039;]
- name: customer_id
tests:
- relationships:
to: ref(&#039;customers&#039;)
ﬁeld: id
16
● dbt testはdbtプロジェクト内のリソースに
対してQCを実⾏する機能
● not nullやuniqueなどの基本的なテストは
テンプレート（generic test）が⽤意
→ YAML（左記）の記述のみで実⾏可能
● 複雑なテストもテンプレート
を⾃作（custom generic test）
することで実⾏可能
© DeNA Co., Ltd.


# Page. 17

![Page Image](https://bcdn.docswell.com/page/87DLGK58EG.jpg)

新システムの構成⑤ - 技術選定の理由1
● QCのフレームワークとして運⽤実績のあるdbt test
○ generic test利⽤により独⾃実装削減 → 保守性向上
● 実⾏基盤は他システムとのデータ連携性を考慮しAWS
○ クエリ性能が⾼くdbtとの親和性も⾼いRedshift
■ コスト効率が⾼くクラスタ管理が不要なRedshift Serverless
● システム構成はAWSの担当者を含めて何度も検討
17
© DeNA Co., Ltd.


# Page. 18

![Page Image](https://bcdn.docswell.com/page/VJP23KGWJ8.jpg)

新システムの構成⑥ - 技術選定の理由2
● Redshift Serverlessとdbtを⽤いたPoCを実施
● 旧システムの課題解決を確認
○ 実⾏速度
■ Redshift Serverlessの⾼いクエリ性能により⾼速化
■ RPU増減によりデータ量に対して柔軟にスケール
○ クラウドコスト
■ Redshift Serverlessのクエリ実⾏時課⾦により
コスト削減
システム移⾏に向けて順調と思われたが‧‧‧
18
© DeNA Co., Ltd.


# Page. 19

![Page Image](https://bcdn.docswell.com/page/2EVD4V69EQ.jpg)

QC結果の通知
19
© DeNA Co., Ltd.


# Page. 20

![Page Image](https://bcdn.docswell.com/page/57GY1LN47L.jpg)

QC結果の通知① - dbt test結果の分かり⾟さ
dbt testの結果出⼒
● dbt testは結果をテキストで出⼒する（上記）
○ どのテーブル‧カラムに対して何のテストが失敗し
ているか分かり⾟い → 運⽤作業者の負担増加
● システムが効率化しても運⽤業務全体が⾮効率であれば
本末転倒 → 解決すべき重要な課題
20
© DeNA Co., Ltd.


# Page. 21

![Page Image](https://bcdn.docswell.com/page/4EQMDYQRJP.jpg)

QC結果の通知② - Elementary
● Elementaryはdbtのデータパイプライン監視ツール
○ データの異常検知
○ dbt test結果をHTML形式でレポーティング（可視化）
○ レポートのAWS S3送信機能
21
© DeNA Co., Ltd.


# Page. 22

![Page Image](https://bcdn.docswell.com/page/KJ4VZWNQE1.jpg)

QC結果の通知③ - Elementaryのレポート
テーブル名
説明
22
カラム名
テスト名
結果詳細
© DeNA Co., Ltd.


# Page. 23

![Page Image](https://bcdn.docswell.com/page/LE13RY5LJG.jpg)

QC結果の通知④ - Elementaryによる運⽤効率化
● レポートからQC結果の詳細を確認可能
● レポートをS3に送信し、そのリンクをSlackで通知し運⽤効率化
23
QC失敗時のSlack通知
© DeNA Co., Ltd.


# Page. 24

![Page Image](https://bcdn.docswell.com/page/GEWP1G5QJ2.jpg)

システム移⾏の成果
● 定量的な成果
○ 実⾏速度の増加
■ 2.6TBのデータに対し170時間→ 1.5時間（約100倍⾼速化）
○ クラウドコストの圧縮
■ 約1/10に圧縮
● 定性的な成果
○ データ量の増加に対して柔軟にスケール
○ コード‧インフラ保守性の向上
24
© DeNA Co., Ltd.


# Page. 25

![Page Image](https://bcdn.docswell.com/page/47ZKPLN373.jpg)

新システムを運⽤して得た学び
● サーバーレスアーキテクチャを採⽤
○ 良かった点
■ インスタンス管理が不要になり、システム運⽤コストが０に
■ システムが疎結合になり、各モジュールが変更しやすい
■ デプロイがTerraformとGitHub Actionsで完結し保守性向上
○ 課題点
■ 問題が発⽣した際の原因調査が複雑
■ 予期しないクラウドコストの発⽣
● サービスやコストの適切な監視‧制限が必要
25
© DeNA Co., Ltd.


# Page. 26

![Page Image](https://bcdn.docswell.com/page/YJ6QMW8ZJV.jpg)

まとめと今後の展望
● データ品質テスト（QC）はデータが期待通りであることを確認する
プロセス
● 旧QCシステムは実⾏速度やクラウドコスト、保守性に課題があった
● 旧システムの課題を解決するため、新システムに移⾏した
○ Redshift Serverlessとdbtを採⽤した
○ ElementaryでQC結果を可視化した
○ 実⾏速度とコスト効率、運⽤‧保守性を向上できた
● 本取り組みで得た学びを⽣かして、
引き続きデータプラットフォームの改善に取り組む
26
© DeNA Co., Ltd.


# Page. 27

![Page Image](https://bcdn.docswell.com/page/GJ5RZM9974.jpg)

27
© DeNA Co., Ltd.


