Amazon S3 Tables とテーブルバケットの使用 - Amazon Simple Storage Service

Amazon S3 Tables とテーブルバケットの使用

Amazon S3 Tables は、分析ワークロード用に最適化された S3 ストレージを提供し、クエリのパフォーマンスを継続的に向上させ、テーブルのストレージコストを削減するように設計された機能を備えています。S3 テーブルは、毎日の購入トランザクション、ストリーミングセンサーデータ、広告インプレッションなどの表形式データを保存するために専用に構築されています。表形式データは、データベーステーブルのように列と行のデータを表します。

S3 Tables のデータは、新しいバケットタイプ、つまりテーブルをサブリソースとして保存するテーブルバケットに保存されます。テーブルバケットは、Apache Iceberg 形式のテーブルの保存をサポートしています。標準 SQL ステートメントを使用すると、Amazon Athena、Amazon Redshift、Apache Spark などの Iceberg をサポートするクエリエンジンを使用してテーブルをクエリできます。

S3 Tables の機能

テーブルの専用ストレージ

S3 テーブルバケットは、テーブル用に特別に設計されています。テーブルバケットは、S3 汎用バケットのセルフマネージドテーブルと比較して、1 秒あたりのトランザクション (TPS) が高く、クエリスループットが向上します。テーブルバケットは、他の Amazon S3 バケットタイプと同じ耐久性、可用性、スケーラビリティを提供します。

Apache Iceberg の組み込みサポート

テーブルバケット内のテーブルは Apache Iceberg 形式で保存されます。Iceberg をサポートするクエリエンジンで標準 SQL を使用してこれらのテーブルをクエリできます。Iceberg には、スキーマ進化やパーティション進化など、クエリパフォーマンスを最適化するためのさまざまな機能があります。

Iceberg を使用すると、クエリを再作成したり、データ構造を再構築したりすることなく、時間の経過とともに進化できるようにデータの整理方法を変更できます。Iceberg は、トランザクションのサポートを通じてデータの一貫性と信頼性を確保するように設計されています。問題を修正したり、タイムトラベルクエリを実行したりするのに役立つように、時間の経過とともにデータがどのように変化するかを追跡し、履歴バージョンにロールバックできます。

自動テーブル最適化

クエリ用テーブルを最適化するために、S3 は圧縮、スナップショット管理、参照されていないファイルの削除などの自動メンテナンスオペレーションを継続的に実行します。これらのオペレーションは、小さなオブジェクトを少数の大きなファイルに圧縮することで、テーブルのパフォーマンスを向上させます。また、メンテナンスオペレーションでは、未使用のオブジェクトをクリーンアップすることでストレージコストを削減できます。この自動メンテナンスにより、手動のテーブルメンテナンスの必要性が減ることで、大規模なデータレイクの運用が効率化されます。テーブルとテーブルバケットごとに、メンテナンス設定をカスタマイズできます。

アクセス管理とセキュリティ

AWS Organizations の AWS Identity and Access Management (IAM) とサービスコントロールポリシーを使用して、テーブルバケットと個々のテーブルの両方のアクセスを管理できます。S3 Tables は、Amazon S3 とは異なるサービス名前空間、つまり s3tables 名前空間を使用します。したがって、S3 Tables サービスとそのリソース専用のポリシーを設計できます。個々のテーブル、テーブル名前空間内のすべてのテーブル、またはテーブルバケット全体へのアクセスを許可するポリシーを設計できます。すべての Amazon S3 ブロックパブリックアクセス設定は、テーブルバケットに対して常に有効になっており、無効にすることはできません。

AWS 分析サービスとの統合

S3 コンソールを使用して、Amazon S3 テーブルバケットが Amazon SageMaker Lakehouse に自動的に統合されるように設定できます。この統合により、AWS 分析サービスが AWS Glue Data Catalog を通じてテーブルデータを自動的に検出してアクセスできるようになります。統合後は、Amazon Athena、Amazon Redshift、QuickSight などの分析サービスを使用して、テーブルを操作できます。統合の動作方法の詳細については、「AWS 分析サービスで Amazon S3 Tables を使用する」を参照してください。

関連サービス

特定の分析アプリケーションをサポートするには、S3 Tables で次の AWS のサービスを使用できます。

  • Amazon Athena – Athena はインタラクティブなクエリサービスで、Amazon S3 内のデータを標準 SQL を使用して直接分析できます。また、Athena を使用すると、リソースの計画、設定、管理を必要とせずに Apache Spark を使用してデータ分析をインタラクティブに実行することもできます。Athena で Apache Spark アプリケーションを実行する場合は、処理用の Spark コードを送信して、結果を直接受け取ります。

  • AWS Glue – AWS Glue は、複数のソースからのデータを検出、準備、移動、統合できるようにするサーバーレスのデータ統合サービスです。分析用の AWS Glue は、分析、機械学習 (ML)、アプリケーション開発に使用できます。AWS Glue には、ジョブの作成、実行、ビジネスワークフローの実装のための生産性向上ツールとデータ運用ツールも追加されています。

  • Amazon EMR – Amazon EMR は、Apache Hadoop や Apache Spark などのビッグデータフレームワークを AWS で簡単に実行して、膨大な量のデータを処理および分析できるマネージドクラスタープラットフォームです。

  • Amazon Redshift – Amazon Redshift は、クラウド内でのペタバイト規模のデータウェアハウスサービスです。Amazon Redshift Serverless を使用して、プロビジョニングされたデータウェアハウスをすべて設定しなくても、データにアクセスして分析することができます。リソースは自動的にプロビジョニングされて、データウェアハウス容量はインテリジェントにスケーリングされ、要求が厳しく、予測不可能なワークロードであっても高速なパフォーマンスを実現します。データウェアハウスがアイドル状態のときには課金されず、使用した分のみ支払います。Amazon Redshift クエリエディタ v2 またはお好みのビジネスインテリジェンス (BI) ツールで、データをロードしてクエリを直ちに開始することができます。

  • QuickSight – QuickSight は、視覚化の構築、アドホック分析の実行、データからのビジネスインサイトの迅速な取得に使用できるビジネス分析サービスです。QuickSight は、QuickSight の超高速、並列、インメモリ、計算エンジン (SPICE) を使用して、AWS データソースをシームレスに検出し、高速で応答性の高いクエリパフォーマンスを提供します。

  • AWS Lake Formation – Lake Formation は、データレイクのセットアップ、保護、管理のプロセスを合理化するマネージドサービスです。Lake Formation では、データソースを検出し、そのデータをカタログ化、クレンジング、変換できます。Lake Formation では、Amazon S3 上のデータレイクデータと AWS Glue Data Catalog の関連メタデータに対するきめ細かなアクセスコントロールを管理できます。