オープンテーブルフォーマットを使ってトランザクションをサポートするデータレイクを構築しよう #ANT328 #reinvent

2022.12.04

データアナリティクス事業本部の鈴木です。

AWS re:Invent 2022にて、セッション番号ANT328の『Build transactional data lakes using open-table formats in Amazon Athena』を聴講したのでレポートです。

セッションについて

登壇者

  • Zhaoqin Ye, Sr. Software Engineer, Amazon Web Services
  • Vijay Jain, Sr Product Manager, Amazon

Session level

300 - Advanced

Session type

Chalk Talk

セッション概要

Amazon Athenaを使ってどのようにTransactional data lakesを構築するかを学ぶことができるセッションです。 Transactional data lakesはCDCやGDPRに沿った個人情報の管理を伴う新しいユースケースにも対応が可能なモダンなデータ基盤で徐々に人気になりつつあります。Amazon AthenaではApache IcebergとApache Hudiのオープンテーブルフォーマットをサポートしており、ユーザーがS3に対してトランザクションを使うことができるようになります。このセッションではApache Icebergの機能を例に、どのようなことが可能で、どういう仕組みになっているのか学ぶことができました。

レポート

問題提起

データレイクでのデータ管理は、非常に時間がかかり大変な作業ですが、Athenaを使うことでそのコストを削減できます。

Icebergの機能を使うことにより、以下のようなことができるようになります。「一時テーブルに一時的なデータを作成する」「一元管理なデータガバナンスが行える」といったニーズに答えることを目的としているそうです。

お客様からの声

ビジネス上のニーズ

Athenaには以下の特徴があり、データ管理の面で扱いやすいです。

Athenaの特徴

AthenaとIcebergを使うことで、GDPRやCCPA(General Data Protection RegulationやCalifornia Consumer Privacy Act)に沿ったデータ管理にも有効です。

GDPR/CCPA

Icebergテーブルを使ったアプローチ

AWSでのAthenaを使ったIcebergの利用はGlue Data CatalogおよびS3にデータが登録されます。

Icebergテーブルを使った構成

例えばCTASでtable_typeを指定することで、Icebergフォーマットのテーブルを作成することができます。

Icebergフォーマットでのデータ読み込み

最近ではMERGEもサポートしており、重複するデータセットをマージする場合は特に、データ複製が少なくて済むというメリットがあるそうです。

変更ログ

Icebergテーブルの仕組み

Icebergテーブルでどのようにデータが保持されているのかについても図を用いて説明頂きました。

なお、図の読み方についてはIcebergのドキュメントに同様の図があるので、こちらを読むと分かりやすいかもしれません。

Icebergのフォーマットについて1

以下について紹介頂きました。

  • INSERTトランザクション
  • DELETEトランザクション
  • UPDATEトランザクション
  • タイムトラベル
  • スキーマ変更
  • OPTIMIZE
  • VACUUM

INSERTトランザクション

Icebergのフォーマットについて2

DELETEトランザクション

Icebergのフォーマットについて3

UPDATEトランザクション

Icebergのフォーマットについて4

タイムトラベル

Icebergのフォーマットについて5

スキーマ変更

Icebergのフォーマットについて6

OPTIMIZE

Icebergのフォーマットについて7

VACUUM

Icebergのフォーマットについて8

おわりに

ANT328の『Build transactional data lakes using open-table formats in Amazon Athena』のレポートでした。

まだIcebergフォーマットの導入を様子見されている方も多いかもしれませんが、こういったセッションをre:Inventで聞けたのはとてもよかったです。

詳細について気になる方は、ぜひ開発者ドキュメントをご確認頂ければと思います。

また、AWS workshop studioでAmazon Athena Workshop :: Hands on Labsが公開されているので、実際使い心地を知りたい方はこちらにもチャレンジしてみてください。