最新のデータレイク - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

最新のデータレイク

最新のデータレイクにおける高度なユースケース

データレイクは、コスト、スケーラビリティ、柔軟性の観点からデータを保存するための最適なオプションの 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 ParquetApache Avro、Apache ORC など、複数のオープンソースファイル形式をサポートしています。

要約すると、Iceberg 形式を使用するデータレイクは、トランザクションの一貫性、速度、スケール、スキーマの進化の恩恵を受けます。これらの機能と他の Iceberg 機能の詳細については、Apache Iceberg ドキュメント を参照してください。

AWS Apache Iceberg のサポート

Apache Iceberg は、一般的なオープンソースデータ処理フレームワーク、および Amazon EMR、Amazon AthenaAmazon Redshift、 AWS サービス などの でサポートされていますAWS Glue。次の図は、Iceberg に基づくデータレイクの簡略化されたリファレンスアーキテクチャを示しています。

トランザクションデータレイクアーキテクチャ

ネイティブ Iceberg 統合を以下 AWS サービス に示します。間接的 AWS サービス に、または Iceberg ライブラリをパッケージ化することで、Iceberg とやり取りできる が他にもあります。

  • 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 CatalogIceberg テーブルをサポートする Hive メタストア互換データカタログサービスを提供します。

  • AWS Glue クローラーは、 に Iceberg テーブルを登録するための自動化を提供します AWS Glue Data Catalog。

  • Amazon は、Iceberg 形式を使用して Amazon Feature Store の機能セットのストレージ SageMakerをサポートしています。 SageMaker

  • AWS Lake Formationは、Athena または Amazon Redshift によって消費される Iceberg テーブルなど、データにアクセスするための粗くきめ細かなアクセスコントロール許可を提供します。Iceberg テーブルのアクセス許可のサポートの詳細については、Lake Formation ドキュメント を参照してください。

AWS には Iceberg をサポートするさまざまなサービスがありますが、これらのサービスをすべてカバーすることは、このガイドの範囲外です。以下のセクションでは、Amazon EMR および の Spark (バッチおよび構造化ストリーミング) と AWS Glue Amazon Athena SQL について説明します。次のセクションでは、Athena SQL での Iceberg サポートを簡単に説明します。