Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DynamoDBからS3(Icebergテーブル)へのZeroETLを行う
Search
afooooil
October 30, 2025
1
88
DynamoDBからS3(Icebergテーブル)へのZeroETLを行う
【AWS】AWS10分LT会 - vol.7 (
https://aws-likers.connpass.com/event/370773/
) で発表させていただいた内容です
afooooil
October 30, 2025
Tweet
Share
More Decks by afooooil
See All by afooooil
AWSで始めるサーバーレスなデータ分析基盤
afooooil
0
460
退屈なことはAI_Agentにやらせよう
afooooil
0
180
Amazon Qとのより良い付き合い方を考える
afooooil
0
210
ZeroETLで始めるDynamoDBとS3の連携
afooooil
0
240
Featured
See All Featured
Side Projects
sachag
455
43k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Making Projects Easy
brettharned
120
6.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Designing for humans not robots
tammielis
254
26k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
A Tale of Four Properties
chriscoyier
162
23k
Done Done
chrislema
186
16k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Transcript
DynamoDBからS3(Icebergテーブル)への ZeroETLを行う 株式会社モリサワ 岡田 晃 AWS10分LT会 - vol.7
自己紹介 岡田 晃 / @afooooil 所属: 株式会社モリサワ ポジション: データエンジニア /
データサイエンティスト 好きなAWSサービス: CloudFormation / Athena
• データの抽出(Extract) • データの変換(Transform) • データの格納(Load) を行う一連のデータパイプライン。マグロの出荷に例えると... ETLとは? 収集 加工
格納
具体的にETLとは? DynamoDBの半構造化データを抽出(Extract)し、扱いやすい表形式へと変換 (Transform)しS3へと配置(Load)する。このような一連の操作をETLという。 ETL
なぜETLを行う必要? - 本番DBに直接、重たい分析クエリは投げられない - DynamoDBはテーブルのJoinなど分析に必要な操作が容易で ない - 他のデータソース(ログ)などと突き合わせて分析したい - 表形式のデータにSQLを用いて簡単にアクセスしたい
本番環境から分離し、データを変換して、分析用DBに格納する
これまでのDynamoDBからのS3へのETL • DynamoDBのPITRをLambdaでS3へコピー • RAWデータをGlue/Athenaなどを用いて変換して加工 後のデータをS3へ格納する
これまでのETLのパイプラインの課題 • DBのスキーマ更新に合わせてパイプラインも改修が必要だった • 差分更新のためには、工夫が必要だった • データを処理するためのロジックを書く必要があった
ZeroETLとは? ZeroETLとは、ETLを行うためのデータパイプラインをユー ザー側で構築を行わずに、マネージドなパイプラインを用いて ETLを行うこと サーバーレスと似たような概念だと思えばわかりやすい? - サーバーの管理をユーザーが行わなくてよいのがサーバーレス - ETLのパイプラインの管理を行わなくて良いのがZeroETL 2024/12にDynamoDBからSageMaker
Lakehouse(S3上へ のIcebergテーブル)へのZeroETLが可能になった。
ZeroETLを用いた場合 • DynamoDBからS3(Icebergテーブル)までのパイプラインの全てがマネー ジドに • マネコン or CLIから設定するだけ(CFnは未対応) パイプラインの構築、保守が不要に!
Icebergテーブルへの連携 • DynamoDBのデータはIcebergテーブルに連携されてAthenaでアクセス 可能 • 半構造データから表形式に変換された形でデータ連携される
ZeroETLのログもIcebergテーブルに ZeroETLを設定すると自動で zetl_integration_table_state というテーブル ができる。 ここではステータスや、実行履歴、レコードの変更数なども管理される。
Apache Icebergとは? Apache IcebergとはOpen Table Formatのひとつ。 - 個々のファイルの集合をあたかも一つのテーブルのように扱える。 - 従来のデータレイクにある課題を解決する次世代のフォーマットとして注目されてい
る。 ZeroETLの観点からの、嬉しい特徴として以下の2つがある - レコードの追加、更新、削除を容易に効率的に行う - スキーマの変更が容易 ここでは紹介しませんが、Icebergには他にも様々な魅力的な機能があります。
Icebergで何が嬉しい? レコードの追加、更新、削除を容易に効率的に行う - レコードの差分更新(Insert, Update, Delete)が容易 - ZeroETLでは15分間隔でDynamoDBのデータの連携が可能になる スキーマの変更が容易 -
カラムの追加など(alter table change column…)が容易 - ZeroETLではDynamoDBに新しいAttributeが追加されると、自動 的にIcebergに新しいカラムが追加される
まとめ • データを抽出、変換、格納して扱いやすい形にすることを ETLという • ZeroETLを用いることで従来必要であったパイプライン構 築や保守のコストが低減される • データの連携先はS3のIcebergテーブルであり、15分間 隔での連携および自動的なスキーマ追従が可能