AWSは最近、分析ワークロードに最適化されたマネージドApache IcebergテーブルであるS3 Tables Bucketを発表した。クラウドプロバイダーによると、この新しいオプションは、標準的なS3ストレージと比較して、Apache Icebergテーブルのクエリパフォーマンスを最大3倍高速化し、トランザクションレートを最大10倍高速化するという。
AWSのバイスプレジデント兼チーフエバンジェリストであるJeff Barr氏は、AWS Blogの最後の投稿の1つで次のように書いている。
テーブルバケットはS3バケットの3番目のタイプで、既存の汎用バケットやディレクトリバケットと並んでいます。テーブルバケットは、様々なスキーマを持つIcebergテーブルを格納できる分析倉庫と考えることができます。
もともとNetflixで開発されたApache Icebergは、大規模な分析テーブルのための高性能なオープンソースフォーマットだ。ビッグデータ用のSQLテーブルの使用を可能にし、Spark、Trino、Flink、Presto、Hiveなどのエンジンが同時に同じテーブルにアクセスして作業できる。
Databricks Delta LakeやSnowflakeの外部Icebergテーブルのようなサービスと競合するS3 Tablesは、継続的にテーブルのメンテナンスを行い、クエリの効率とストレージコストを自動的に最適化するように設計されている。さらに、AWS Glue Data Catalogと統合され、データエンジニアはAmazon Kinesis Data Firehose、Athena、Redshift、EMR、QuickSightなどの分析サービスを活用できる。
別の記事で、クラウドプロバイダーは、Amazon S3テーブルがクエリパフォーマンスを向上させるためにコンパクションをどのように使用しているかを詳しく説明している。Aliaa Abbas、Anupriti Warade、Jacob Tardieu が、次のように説明している。
顧客は、ストレージとクエリーのパフォーマンスを向上させるためにApache Parquetを選択することが多いです。さらに、顧客はApache Icebergを使用してParquetデータセットを整理し、スキーマの進化、タイムトラベル、ACIDトランザクションといったデータベースのような機能を活用しています。
自動コンパクションの利点を説明するために、チームは汎用バケット内の圧縮されていないIcebergテーブルと、最適化された新しいIcebergテーブルのクエリ性能を比較している。彼らはこう書いている。
その結果、S3 Tablesによってコンパクト化されたデータセットを使用すると、パフォーマンスが大幅に向上することがわかりました。テーブルバケットでコンパクションを有効にした場合、最大3.2倍のクエリーの高速化が確認され、(中略)全体として、8つのクエリーの総実行時間が2.26倍改善されました。
"S3はデータレイクハウスになるのか?"というのが、この新しいストレージオプションが発表された時のコミュニティの共通の感想であり、多くの開発者が興奮を表していた。アマゾンの副社長兼著名エンジニアであるアンドリュー・ウォーフィールド氏は、3つの主な利点を要約している。
第一に、テーブルはS3上のアナリティクスのための重要なプリミティブであり、第二に、S3上のデータと他のサービスを統合する方法を急速に変えつつあることです。3つ目は、もう少し微妙で推測的なものですが、ある意味もっとも興味深いものだと思います。S3テーブルがうまくいけば、Sparkのようなアナリティクス・エンジンでなくても、より一般的な基本機能になるかもしれないという考え方です。
Striim社のプロダクト&エンジニアリング・ディレクターであるJohn Kutay氏は、別の視点からこう書いている。
データプラットフォームベンダーとして、私はAWSにハイレベル(抽象化されたインターフェース)のS3テーブルAPI/カタログを作るのを止めさせ、代わりにマネージドデータレイクサービスを売るためにローレベル(より細かい制御やカスタマイズが可能なインターフェース)な便利機能を作るよう要求しています。
Tinybird.coの共同設立者であるJavi Santana氏は、価格設定に疑問を呈している。
ストレージと運用コストは通常のS3とほとんど変わりません。しかし、(中略)最大のポイントは、「処理1GBあたり0.05ドル」というコンパクションのコストです。一見大したことはないように思えますが、私たちの顧客の中には1PB程度を処理しているところもあります(中略)。つまり、高速な読み込みを望むリアルタイムワークロードには向かないということです。
不足している機能を指摘する開発者もいる。Untitled Data CompanyのオーナーでBI/データアーキテクトのフランチェスコ・ムーチョ氏はこう結論づける。
公平を期すために、AWSが中途半端な機能やツールをリリースしたのは今回が初めてではありません・・。これらのいくつかは今でもそのように残り続けています。しかし、マーケティング上のアナウンスにもかかわらず、全てのツールが万人向けではないことも事実です。
S3の機能をさらに拡張し、AWSはre:InventでS3 Metadataのプレビューを発表した。S3 Metadataは、S3上のオブジェクトメタデータを自動的に更新する新機能だ。詳細はInfoQの別の記事でも参照できる。
S3 Tables Bucketは現在、米国の3つのリージョンでのみ利用可能だ。S3 Tablesは一般的に利用可能だが、AWS Glue Data Catalogとの統合はまだプレビュー中である。