翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
最新のデータレイク
最新のデータレイクにおける高度なユースケース
データレイクは、コスト、スケーラビリティ、柔軟性の観点からデータを保存するための最適なオプションの 1 つです。データレイクを使用して、大量の構造化データと非構造化データを低コストで保持し、ビジネスインテリジェンスレポートからビッグデータ処理、リアルタイム分析、機械学習、生成人工知能 (AI) まで、さまざまなタイプの分析ワークロードにこのデータを使用して、より良い意思決定に役立てることができます。
これらの利点にもかかわらず、データレイクは当初、データベースのような機能を使用して設計されていませんでした。データレイクは、アトミック性、一貫性、分離性、耐久性 (ACID) 処理セマンティクスをサポートしていません。これは、多数の異なるテクノロジーを使用して、数百人または数千人のユーザー間でデータを大規模に効果的に最適化および管理するために必要になる場合があります。データレイクは、以下の機能をネイティブにサポートしていません。
-
ビジネスでのデータ変更に伴う効率的なレコードレベルの更新と削除の実行
-
数百万のファイルと数十万のパーティションへのテーブルの増加に伴うクエリパフォーマンスの管理
-
複数の同時ライターとリーダー間でのデータ整合性の確保
-
オペレーションの途中で書き込みオペレーションが失敗した場合のデータ破損の防止
-
データセットを (部分的に) 書き換えることなく、時間の経過とともにテーブルスキーマを進化させる
これらの課題は、変更データキャプチャ (CDC) の処理や、プライバシー、データの削除、ストリーミングデータ取り込みに関するユースケースなど、ユースケースで特に一般的になっており、最適ではないテーブルが発生する可能性があります。
従来の Hive 形式のテーブルを使用するデータレイクは、ファイル全体の書き込みオペレーションのみをサポートします。これにより、更新と削除の実装が難しく、時間がかかり、コストがかかります。さらに、データの整合性と一貫性を確保するためには、ACID 準拠システムで提供される同時実行制御と保証が必要です。
これらの課題を克服するために、Apache Iceberg は、Amazon Simple Storage Service (Amazon S3)
Apache Iceberg の概要
Apache Iceberg は、これまでデータベースまたはデータウェアハウスでのみ使用されていたデータレイクテーブルの機能を提供するオープンソースのテーブル形式です。スケールとパフォーマンスを考慮して設計されており、数百ギガバイトを超えるテーブルの管理に適しています。Iceberg テーブルの主な機能は次のとおりです。
-
削除、更新、マージ。 Iceberg は、データレイクテーブルで使用するデータウェアハウスの標準 SQL コマンドをサポートしています。
-
高速スキャン計画と高度なフィルタリング。Iceberg は、クエリの計画と実行を高速化するためにエンジンで使用できるパーティションや列レベルの統計などのメタデータを保存します。
-
完全なスキーマの進化。Iceberg は、副作用のない列の追加、削除、更新、名前変更をサポートしています。
-
パーティションの進化。データボリュームまたはクエリパターンの変化に応じて、テーブルのパーティションレイアウトを更新できます。Iceberg は、テーブルがパーティション分割されている列の変更、複合パーティションへの列の追加、複合パーティションからの列の削除をサポートしています。
-
非表示のパーティショニング。 この機能は、不要なパーティションを自動的に読み取るのを防ぎます。これにより、ユーザーがテーブルのパーティショニングの詳細を理解したり、クエリにフィルターを追加したりする必要がなくなります。
-
バージョンのロールバック。ユーザーは、トランザクション前状態に戻すことで問題をすばやく修正できます。
-
タイムトラベル。ユーザーは、特定の以前のバージョンのテーブルをクエリできます。
-
シリアル化可能な分離。テーブルの変更はアトミックであるため、読者には部分的またはコミットされていない変更が表示されません。
-
同時ライター。Iceberg は楽観的な同時実行を使用して、複数のトランザクションを成功させます。競合が発生した場合、ライターの 1 人がトランザクションを再試行する必要があります。
-
ファイル形式を開きます。Iceberg は、Apache Parquet
、Apache Avro 、Apache ORC など、複数のオープンソースファイル形式をサポートしています。
要約すると、Iceberg 形式を使用するデータレイクは、トランザクションの一貫性、速度、スケール、スキーマの進化からメリットを得られます。これらの機能と Iceberg のその他の機能の詳細については、Apache Iceberg のドキュメント
AWS Apache Iceberg のサポート
Apache Iceberg は、一般的なオープンソースデータ処理フレームワーク、および Amazon EMR

以下は AWS のサービス 、Iceberg のネイティブ統合を提供します。間接的に、または Iceberg ライブラリをパッケージ化することによって、Iceberg とやり取り AWS のサービス できる追加の があります。
-
Amazon S3 は、耐久性、可用性、スケーラビリティ、セキュリティ、コンプライアンス、監査機能を備えているため、データレイクを構築するのに最適な場所です。Iceberg は Amazon S3 とシームレスにやり取りするように設計および構築されており、Iceberg ドキュメント
に記載されている多くの Amazon S3 機能をサポートしています。 -
Amazon EMR は、Apache Spark、Flink、Trino、Hive などのオープンソースフレームワークを使用して、ペタバイト規模のデータ処理、インタラクティブ分析、機械学習のためのビッグデータソリューションです。Amazon EMR は、カスタマイズされた Amazon Elastic Compute Cloud (Amazon EC2) クラスター、Amazon Elastic Kubernetes Service (Amazon EKS) AWS Outposts、または Amazon EMR Serverless で実行できます。
-
Amazon Athena は、オープンソースフレームワーク上に構築されたサーバーレスでインタラクティブな分析サービスです。オープンテーブル形式とファイル形式をサポートし、ペタバイト単位のデータを分析するためのシンプルで柔軟な方法を提供します。Athena は Iceberg の読み取り、タイムトラベル、書き込み、DDL クエリをネイティブにサポートし、Iceberg メタストア AWS Glue Data Catalog に を使用します。
-
Amazon Redshift は、クラスターベースとサーバーレスの両方のデプロイオプションをサポートするペタバイト規模のクラウドデータウェアハウスです。Amazon Redshift Spectrum は、 に登録 AWS Glue Data Catalog されAmazon S3に保存されている外部テーブルをクエリできます。Redshift Spectrum は Iceberg ストレージ形式もサポートしています。
-
AWS Glueは、分析、機械学習 (ML)、アプリケーション開発用の複数のソースからのデータを簡単に検出、準備、移動、統合できるサーバーレスデータ統合サービスです。 AWS Glue 3.0 以降のバージョンでは、データレイクの Iceberg フレームワークがサポートされています。 AWS Glue を使用して、Amazon S3 の Iceberg テーブルに対して読み取りおよび書き込みオペレーションを実行したり、 を使用して Iceberg テーブルを操作したりすることができます AWS Glue Data Catalog。挿入、更新、Spark クエリ、Spark 書き込みなどの追加のオペレーションもサポートされています。
-
AWS Glue Data Catalogは、Iceberg テーブルをサポートする Hive メタストア互換データカタログサービスを提供します。
-
AWS Glue クローラーは、Iceberg テーブルを に登録する自動化を提供します AWS Glue Data Catalog。
-
Amazon Data Firehose は、Amazon S3、Amazon Redshift、Amazon OpenSearch Service、Amazon OpenSearch Serverless、Splunk、Apache Iceberg テーブルなどの送信先、および Datadog、Dynatrace、LogicMonitor、MongoDB、New Relic、Coralogix、Elastic など、サポートされているサードパーティーサービスプロバイダーが所有するカスタム HTTP または HTTP エンドポイントにリアルタイムストリーミングデータを配信するためのフルマネージドサービスです。Firehose では、アプリケーションを記述したり、リソースを管理したりする必要はありません。Firehose にデータを送信するデータプロデューサーを作成すると、それにより、指定した送信先にデータが自動配信されます。データを配信前に変換するように、Firehose を設定することもできます。
-
Amazon SageMaker AI は、Iceberg 形式を使用して Amazon SageMaker AI Feature Store の機能セットのストレージをサポートします。
-
AWS Lake Formationは、Athena または Amazon Redshift によって消費される Iceberg テーブルなど、データにアクセスするための粗くきめ細かなアクセスコントロール許可を提供します。Iceberg テーブルのアクセス許可のサポートの詳細については、Lake Formation ドキュメントを参照してください。
AWS には Iceberg をサポートするさまざまなサービスがありますが、これらのサービスをすべてカバーすることは、このガイドの範囲外です。以下のセクションでは、Amazon EMR および での Spark (バッチおよび構造化ストリーミング) AWS Glue、および Amazon Athena SQL について説明します。次のセクションでは、Athena SQL での Iceberg サポートについて簡単に説明します。