Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DynamoDBからS3(Icebergテーブル)へのZeroETLを行う
Search
afooooil
October 30, 2025
1
92
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
700
退屈なことはAI_Agentにやらせよう
afooooil
0
190
Amazon Qとのより良い付き合い方を考える
afooooil
0
220
ZeroETLで始めるDynamoDBとS3の連携
afooooil
0
270
Featured
See All Featured
Google's AI Overviews - The New Search
badams
0
900
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
110
Design in an AI World
tapps
0
140
Navigating Weather and Climate Data
rabernat
0
98
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
110
Producing Creativity
orderedlist
PRO
348
40k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.6k
Scaling GitHub
holman
464
140k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Site-Speed That Sticks
csswizardry
13
1.1k
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分間 隔での連携および自動的なスキーマ追従が可能