Amazon RDS ゼロ ETL 統合
Amazon Redshift および Amazon SageMaker AI との Amazon RDS ゼロ ETL 統合では、RDS からのデータを使用して、ほぼリアルタイムの分析と機械学習 (ML) が可能です。これは、トランザクションデータを RDS データベースに書き込んだ後に分析送信先で利用できるようにするためのフルマネージドソリューションです。抽出、変換、ロード (ETL) は、複数のソースからのデータを大規模な中央のデータウェアハウスにまとめるプロセスです。
ゼロ ETL 統合では、RDS データベースのデータが Amazon Redshift または Amazon SageMaker AI Lakehouse でほぼリアルタイムで利用できます。データがターゲットデータウェアハウスまたはデータレイクに格納されると、機械学習、マテリアライズドビュー、データ共有、複数のデータストアやデータレイクへのフェデレーションアクセス、および Amazon SageMaker AI、Quick Suite、その他の AWS のサービスとの統合といった組み込み機能を使用して、分析、ML、AI のワークロードを強化できます。
ゼロ ETL 統合を作成するには、RDS データベースをソースとして指定し、サポートされたデータウェアハウスやレイクハウスをターゲットとして指定します。統合では、ソースデータベースからターゲットデータウェアハウスやレイクハウスにデータがレプリケートされます。
次の図は、Amazon Redshift とのゼロ ETL 統合のこの機能を示しています。
次の図は、Amazon SageMaker AI Lakehouse とのゼロ ETL 統合のこの機能を示しています。
統合では、データパイプラインの状態をモニタリングし、可能な場合は問題から回復します。複数の RDS データベースから単一のターゲットデータウェアハウスまたはレイクハウスに統合を作成できるため、複数のアプリケーションにわたってインサイトを引き出すことができます。
トピック
利点
RDS ゼロ ETL 統合には、主に次のような利点があります。
-
複数のデータソースから総合的なインサイトを引き出すのに役立ちます。
-
抽出、変換、ロード (ETL) 操作を実行する複雑なデータパイプラインを構築して管理する必要がなくなります。ゼロ ETL 統合は、パイプラインのプロビジョニングと管理を顧客に代わって行うことで、パイプラインの構築と管理に伴う課題を排除します。
-
運用上の負担とコストを削減し、アプリケーションの改善に集中できます。
-
ターゲット送信先の分析機能と ML 機能を活用して、トランザクションデータやその他のデータからインサイトを引き出し、重要で時間的制約のあるイベントに効果的に対応できます。
主要なコンセプト
ゼロ ETL 統合を始める際には、以下の概念を検討してください。
- 統合
-
RDS データベースからデータウェアハウスまたはカタログにトランザクションデータとスキーマを自動的に複製する、フルマネージドデータパイプライン。
- ソースデータベース
-
データがレプリケートされる RDS データベース。シングル AZ またはマルチ AZ DB インスタンス、あるいはマルチ AZ DB クラスター (RDS for MySQL のみ) を指定できます。
- ターゲット
-
データがレプリケートされるデータウェアハウスまたはレイクハウス。データウェアハウスには、プロビジョニングされたクラスターデータウェアハウスとサーバーレスデータウェアハウスの 2 種類があります。プロビジョニングされたクラスターデータウェアハウスは、ノードと呼ばれるコンピューティングリソースのコレクションであり、クラスターと呼ばれるグループに編成されています。サーバーレスデータウェアハウスは、コンピューティングリソースを格納するワークグループと、データベースオブジェクトとユーザーを収容する名前空間で構成されています。どちらのデータウェアハウスも分析エンジンを実行し、1 つ以上のデータベースを含んでいます。
ターゲットレイクハウスは、カタログ、データベース、テーブル、ビューで構成されます。レイクハウスアーキテクチャの詳細については、「Amazon SageMaker AI Unified Studio ユーザーガイド」の「SageMaker Lakehouse components」を参照してください。
複数のソースデータベースの を同じターゲットに書き込むことができます。
詳細については、「Amazon Redshift デベロッパーガイド」の「データウェアハウスのシステムアーキテクチャ」を参照してください。
制限
RDS ゼロ ETL 統合には、以下の制限が適用されます。
トピック
一般的な制限事項
-
ソースデータベースは、ターゲットと同じリージョンにある必要があります。
-
クラスターに既存の統合がある場合、データベースやそのインスタンスの名前を変更することはできません。
-
同じソースデータベースとターゲットデータベースの間に複数の統合を作成することはできません。
-
既存の統合があるデータベースは削除できません。まず、関連する統合をすべて削除する必要があります。
-
ソースデータベースを停止すると、データベースを再開するまで、最後のいくつかのトランザクションがターゲットにレプリケートされない場合があります。
-
ソースデータベースが停止している場合、統合を削除することはできません。
-
データベースがブルー/グリーンデプロイのソースである場合、ブルー環境とグリーン環境の切り替え中に既存のゼロ ETL 統合を置くことはできません。最初に統合を削除してから切り替えて、再作成する必要があります。
-
統合を作成中のソースデータベースで別の統合を作成することはできません。
-
初めて統合を作成するとき、またはテーブルを再同期するとき、ソースデータベースのサイズによっては、ソースからターゲットへのデータシードに 20 ~ 25 分以上かかる場合があります。この遅延により、レプリカラグが長くなる可能性があります。
-
一部のデータ型はサポートされていません。詳細については、「RDS データベースと Amazon Redshift データベースのデータタイプの違い」を参照してください。
-
システムテーブル、一時テーブル、ビューはターゲットウェアハウスにレプリケートされません。
-
ソーステーブルで DDL コマンド (
ALTER TABLEなど) を実行すると、テーブルの再同期がトリガーされ、再同期中はテーブルをクエリできなくなる場合があります。詳細については、「1 つ以上の Amazon Redshift テーブルを再同期する必要がある」を参照してください。
RDS for MySQL の制限事項
-
ソースデータベースは、サポートされているバージョンの RDS for MySQL を実行している必要があります。サポートされているバージョンのリストについては、「」を参照してくださいAmazon RDS ゼロ ETL 統合でサポートされているリージョンと DB エンジン
-
ゼロ ETL 統合は、同じ AWS リージョンのプライマリインスタンスとリードレプリカインスタンスの両方ではサポートされません。
-
ゼロ ETL 統合では、MySQL バイナリロギング (binlog) を利用して継続的なデータ変更をキャプチャします。バイナリログベースのデータフィルタリングは使用しないでください。ソースとターゲットのデータベース間でデータの不整合が生じる可能性があります。
-
ゼロ ETL 統合は、InnoDB ストレージエンジンを使用するように設定されたデータベースでのみサポートされています。
-
定義済みのテーブル更新を伴う外部キー参照はサポートされていません。具体的には、
ON DELETEおよびON UPDATEルールは、CASCADE、SET NULL、およびSET DEFAULTアクションではサポートされていません。別のテーブルへの参照を含むテーブルを作成または更新しようとすると、テーブルは失敗状態になります。 -
マグネティックストレージを使用するソースデータベースの統合を作成することはできません。
RDS for PostgreSQL の制限事項
-
ソースデータベースは、バージョン 15.7 以降、16.3 以降、または 17.1 以降を実行している RDS for PostgreSQL インスタンスである必要があります。以前のバージョンはサポートされていません。
-
RDS for PostgreSQL ゼロ ETL 統合は、ソースデータベースとしてマルチ AZ DB クラスターをサポートしていません。
-
RDS for PostgreSQL リードレプリカインスタンスからゼロ ETL 統合を作成することはできません。
-
PostgreSQL のログに記録されていないテーブルとマテリアライズドビューは Amazon Redshift にレプリケートされません。
-
Amazon Redshift の制限により、ジオメトリデータタイプ
や 64KB を超えるデータなど、特定の PostgreSQL データタイプのレプリケーションはサポートされていません。RDS for PostgreSQL と Amazon Redshift のデータタイプの違いの詳細については、「データタイプの相違点」セクションの「」を参照してください。 -
アクティブなゼロ ETL 統合があるソース RDS for PostgreSQL インスタンスでは、メジャーバージョンアップグレードを実行できません。ソースインスタンスをアップグレードするには、まず既存のゼロ ETL 統合をすべて削除する必要があります。メジャーバージョンアップグレードが完了したら、ゼロ ETL 統合を再作成できます。
-
ソース DB インスタンスで宣言的パーティショニング
トランザクションを実行すると、影響を受けるすべてのテーブルが失敗状態になり、アクセスできなくなります。
RDS for Oracle の制限事項
-
ソースデータベースは、バージョン 19c の Enterprise Edition または Standard Edition 2 (2019 年 7 月リリースアップデート以降) を実行している RDS for Oracle インスタンスである必要があります。以前のバージョンはサポートされていません。
-
RDS for Oracle リードレプリカインスタンスからゼロ ETL 統合を作成することはできません。
-
テナントデータベースにゼロ ETL 統合がある場合、このテナントデータベースの名前を変更することはできません。
-
テナントデータベースは 1 つのゼロ ETL 統合のみを持つことができます。
-
RDS for Oracle と Amazon Redshift のデータタイプ間には、いくつかの違いがあります。詳細については、「データタイプの相違点」セクションの「」を参照してください。
Amazon Redshift の制限事項
ゼロ ETL 統合に関連する Amazon Redshift の制限の一覧については、「Amazon Redshift 管理ガイド」の「Amazon Redshift とのゼロ ETL 統合を使用する際の考慮事項」を参照してください。
Amazon SageMaker AI Lakehouse の制限事項
以下は、Amazon SageMaker AI Lakehouse のゼロ ETL 統合の制限です。
-
カタログ名の長さは 19 文字に制限されています。
クォータ
お客様のアカウントには、RDS ゼロ ETL 統合に関連する以下のクォータが設定されています。特に指定がない限り、各クォータはリージョンあたりです。
| Name | デフォルト | 説明 |
|---|---|---|
| 統合 | 100 | AWS アカウント 内の統合の総数。 |
| ターゲットあたりの統合 | 50 | 1 つのターゲットデータウェアハウスまたはレイクハウスにデータを送信する統合の数。 |
| ソースインスタンスごとの統合 | 5 | 単一のソース DB インスタンスからデータを送信する統合の数。 |
さらに、ターゲットウェアハウスは、各 DB インスタンスまたはクラスターノードで使用できるテーブルの数に一定の制限を設けています。Amazon Redshift のクォータと制限の詳細については、「Amazon Redshift 管理ガイド」の「Amazon Redshift のクォータと制限」を参照してください。
サポート対象のリージョン
RDS ゼロ ETL 統合は、AWS リージョンのサブセットで利用できます。サポートされているリージョンのリストについては「Amazon RDS ゼロ ETL 統合でサポートされているリージョンと DB エンジン」を参照してください。