本文へスキップ
MameTechNews
バックエンド

Amazon Redshift、Apache Iceberg v3テーブルの読み書きに対応

## POINTS

  • Iceberg v3の列デフォルト・行系譜・deletion vectorsをRedshiftから直接扱えるようになった
  • CDCや高頻度削除テーブルはv3昇格でI/O特性が変わるため、移行前に負荷試験が望ましい
  • 既存v2をインプレース昇格できるため、表単位の段階ロールアウトを計画しやすくなった

Amazon Redshiftは、データレイク上のApache Iceberg v3テーブルに対する読み取りと書き込みをサポートした。Iceberg v3の機能として、値が未指定のときに初期値を適用するデフォルト列値、行の同一性と最終更新シーケンスを追うrow lineage、位置削除ファイルを圧縮ビットマップへ置き換えるdeletion vectorsを利用できる。

これにより、列追加時のスキーマ進化、変更行だけを処理するCDCパイプライン、コンプライアンス削除のような高頻度更新/削除の読み書き性能改善が狙いどころになる。CREATE TABLE ... USING ICEBERG TABLE PROPERTIES ('format-version' = '3')で作成するか、既存v2をALTER TABLE SET TABLE PROPERTIES ('format-version' = '3')でインプレース昇格できる。GravitonベースのプロビジョンドおよびServerlessクラスタが対象だ。

実務への影響

  • Glue 6.0など周辺のIceberg v3対応と揃え、レイクハウスの表形式をv3前提で設計しやすくなった
  • CDCや削除が多いテーブルは、deletion vectors効果をベンチで確認する価値がある
  • 既存v2を昇格できるため、全面作り直しなしに段階移行を計画できる