[アップデート] Amazon Redshift Apache Iceberg テーブルの読み取り専用アクセスが一般提供開始(GA)になりました #AWSreInvent

2023.11.30

データアナリティクス事業本部のコンサルティングチームの石川です。

本日より、Amazon Redshiftは、Apache Iceberg テーブルのクエリが一般提供開始(GA)になりました。データ レイク上の Apache Iceberg テーブルにアクセスし、シームレスにデータ ウェアハウス内のデータと結合できるようになりました。

Apache Icebergとは

Apache Icebergは、Netflixで開発された大規模なデータ処理のためのOTF(Open Table Format)の一つです。Hiveのシステムの制限を改善するために設計されており、構造化されたデータの効率的でスケーラブルな管理を提供します。ACIDトランザクション、スキーマ進化、効率的なメタデータの取り扱い、分離されたメタデータレイヤー、様々なデータ形式とストレージシステムのサポートなどの特長があります。

Apache Icebergサポートがもたらすベネフィット

Icebergはテーブルのメタデータを実際のデータから分離するため、より効率的なメタデータ操作が可能となり、パフォーマンスが向上します。複数のファイル形式やストレージシステムをサポートしており、Amazon Athena、AWS Glue、Amazon EMRなどのさまざまなビッグデータサービスでも利用可能です。つまり、これらのサービス間でデータの共有が可能になります。

また、Icebergの設計はスケーラビリティに重点を置いており、ペタバイト規模のデータを高性能で低レイテンシで扱えます。一貫性と信頼性に重点を置いた設計から、分散環境で大量のデータを扱うデータ分析のテーブルフォーマットとして採用を進んでいます。

本日、一般提供開始(GA)になり、Amazon Redshiftにおいても本番環境に積極的に利用できるようになりました。

特長

Amazon Redshiftは、自動マウントされたデータカタログに最近導入された Iceberg サポートにより、追加の作業なしでAWS Glueデータカタログ内の既存のIceberg テーブルにアクセスできます。

このリリースでは、Parquet データファイルと Apache Iceberg テーブルを使用した Zstandard 圧縮のサポートも導入され、より高い圧縮率と改善された圧縮/解凍パフォーマンスが提供されます。

制限事項

  • クエリのみ
    • Amazon Redshift は、Apache Iceberg テーブルへの読み取り専用アクセスのみサポートします
  • Iceberg データを Amazon Redshift に取り込み
    • INSERT INTO または CREATE TABLE AS コマンドを使用して、Iceberg テーブルからローカルの Amazon Redshift テーブルにデータをインポートできます
  • マテリアライズド ビューの増分更新
    • データレイク テーブルでの増分更新、自動更新、自動クエリ書き換え、および自動 MV は現在サポートされていません
  • データ共有
    • Apache Iceberg テーブルを含むデータ レイク テーブルをサポートしていません。
  • タイム トラベル クエリ
    • 未サポート

最後に

Apache Icebergテーブルを使用すると、Amazon EMR、Amazon Athena、AWS GlueなどのACID準拠のサービスを使用してデータを書き込みながら、トランザクション的に一貫したデータレイクをAmazon Redshiftへシームレスに共有できるようになりました。

今後は、Icebergフォーマットへの書き込みもできるようになるのが楽しみです。