Amazon Redshift との Amazon RDS ゼロ ETL 統合での作業 - Amazon Relational Database Service

Amazon Redshift との Amazon RDS ゼロ ETL 統合での作業

Amazon Redshift との Amazon RDS ゼロ ETL 統合では、RDS からの数ペタバイトのトランザクションデータに対して Amazon Redshift を使用して、ほぼリアルタイムの分析と機械学習 (ML) が可能です。これは、トランザクションデータを RDS データベースに書き込んだ後に Amazon Redshift で利用できるようにするためのフルマネージドソリューションです。抽出、変換、ロード (ETL) は、複数のソースからのデータを大規模な中央のデータウェアハウスにまとめるプロセスです。

ゼロ ETL 統合では、データ更新が書き込まれてからすぐに RDS データベースのデータが Amazon Redshift でほぼリアルタイムで利用できます。データが Amazon Redshift に格納されると、機械学習、マテリアライズドビュー、データ共有、複数のデータストアやデータレイクへのフェデレーションアクセス、Amazon SageMaker、Amazon QuickSight、その他の AWS のサービス との統合といった Amazon Redshift の組み込み機能を使用して、分析、ML、AI のワークロードを強化できます。

ゼロ ETL 統合を作成するには、RDS データベースをソースとして指定し、Amazon Redshift データウェアハウスをターゲットとして指定します。統合では、ソースデータベースからターゲットデータウェアハウスにデータがレプリケートされます。

次の図は、この機能を示しています。

ゼロ ETL 統合

統合は、データパイプラインの正常性をモニタリングし、可能な場合は問題から回復します。複数の RDS データベースの から単一の Amazon Redshift 名前空間に統合を作成できるため、複数のアプリケーションにわたってインサイトを引き出すことができます。

利点

Amazon Redshift との RDS ゼロ ETL 統合には、主に次のような利点があります。

  • 複数のデータソースから総合的なインサイトを引き出すのに役立ちます。

  • 抽出、変換、ロード (ETL) 操作を実行する複雑なデータパイプラインを構築して管理する必要がなくなります。ゼロ ETL 統合は、パイプラインのプロビジョニングと管理を顧客に代わって行うことで、パイプラインの構築と管理に伴う課題を排除します。

  • 運用上の負担とコストを削減し、アプリケーションの改善に集中できます。

  • Amazon Redshift の分析機能と ML 機能を活用して、トランザクションデータやその他のデータからインサイトを引き出し、重要で時間的制約のあるイベントに効果的に対応できます。

主要なコンセプト

ゼロ ETL 統合を始める際には、以下の概念を検討してください。

Integration

RDS データベースから Amazon Redshift データウェアハウスにトランザクションデータとスキーマを自動的に複製する、フルマネージドデータパイプライン。

ソースデータベース

データがレプリケートされる RDS データベースシングル AZ またはマルチ AZ DB インスタンス、あるいはマルチ AZ DB クラスターを指定できます。

ターゲットデータウェアハウス

データがレプリケートされる Amazon Redshift データウェアハウス。データウェアハウスには、プロビジョニングされたクラスターデータウェアハウスとサーバーレスデータウェアハウスの 2 種類があります。プロビジョニングされたクラスターデータウェアハウスは、ノードと呼ばれるコンピューティングリソースのコレクションであり、クラスターと呼ばれるグループに編成されています。サーバーレスデータウェアハウスは、コンピューティングリソースを格納するワークグループと、データベースオブジェクトとユーザーを収容する名前空間で構成されています。どちらのデータウェアハウスも Amazon Redshift エンジンを実行し、1 つ以上のデータベースを含んでいます。

複数のソースデータベースの を同じターゲットに書き込むことができます。

詳細については、「Amazon Redshift デベロッパーガイド」の「データウェアハウスのシステムアーキテクチャ」を参照してください。

制限事項

Amazon Redshift との RDS ゼロ ETL 統合には、以下の制限が適用されます。

一般的な制限事項

  • ソースデータベースは、ターゲット Amazon Redshift データウェアハウスと同じリージョンにある必要があります。

  • クラスターに既存の統合がある場合、データベースやそのインスタンスの名前を変更することはできません。

  • 同じソースデータベースとターゲットデータベースの間に複数の統合を作成することはできません。

  • 既存の統合があるデータベースは削除できません。まず、関連する統合をすべて削除する必要があります。

  • ソースデータベースを停止すると、データベースを再開するまで、最後のいくつかのトランザクションがターゲットデータウェアハウスにレプリケートされない場合があります。

  • ソースデータベースが停止している場合、統合を削除することはできません。

  • データベースがブルー/グリーンデプロイのソースである場合、ブルー環境とグリーン環境の切り替え中に既存のゼロ ETL 統合を置くことはできません。最初に統合を削除してから切り替えて、再作成する必要があります。

  • 統合を作成中のソースデータベースで別の統合を作成することはできません。

  • 初めて統合を作成するとき、またはテーブルを再同期するとき、ソースデータベースのサイズによっては、ソースからターゲットへのデータシードに 20 ~ 25 分以上かかる場合があります。この遅延により、レプリカラグが長くなる可能性があります。

  • 一部のデータ型はサポートされていません。詳細については、「RDS データベースと Amazon Redshift データベースのデータタイプの違い」を参照してください。

  • XA トランザクションはサポートされていません。

  • オブジェクト識別子 (データベース名、テーブル名、列名などを含む) には、英数字、数字、$、_ (アンダースコア) のみを使用できます。

  • システムテーブル、一時テーブル、ビューは Amazon Redshift にレプリケートされません。

RDS for MySQL の制限事項

  • ソースデータベースは、サポートされているバージョンの RDS for MySQL を実行している必要があります。サポートされているバージョンのリストについては、「Amazon RDS と Amazon Redshift のゼロ ETL 統合でサポートされているリージョンと DB エンジン」を参照してください。

  • ゼロ ETL 統合では、MySQL バイナリロギング (binlog) を利用して継続的なデータ変更をキャプチャします。バイナリログベースのデータフィルタリングは使用しないでください。ソースとターゲットのデータベース間でデータの不整合が生じる可能性があります。

  • ゼロ ETL 統合は、InnoDB ストレージエンジンを使用するように設定されたデータベースでのみサポートされています。

  • 定義済みのテーブル更新を伴う外部キー参照はサポートされていません。具体的には、ON DELETE および ON UPDATE ルールは、CASCADESET NULL、および SET DEFAULT アクションではサポートされていません。別のテーブルへの参照を含むテーブルを作成または更新しようとすると、テーブルは失敗状態になります。

  • ALTER TABLE パーティション操作では、RDS から Amazon Redshift にデータをリロードするためにテーブルが再同期されます。再同期中は、テーブルをクエリすることはできません。詳細については、「1 つ以上の Amazon Redshift テーブルを再同期する必要がある」を参照してください。

Amazon Redshift の制限事項

ゼロ ETL 統合に関連する Amazon Redshift の制限の一覧については、「Amazon Redshift 管理ガイド」の「考慮事項」を参照してください。

クォータ

お客様のアカウントには、Amazon Redshift との RDS ゼロ ETL 統合に関連する以下のクォータが設定されています。特に指定がない限り、各クォータはリージョンあたりです。

名前 デフォルト 説明
統合 100 AWS アカウント 内の統合の総数。
ターゲットデータウェアハウスあたりの統合数 50 1 つのターゲット Amazon Redshift データウェアハウスにデータを送信する統合の数。
ソースインスタンスごとの統合 5 単一のソース DB インスタンスからデータを送信する統合の数。

さらに、Amazon Redshift は、各 DB インスタンスまたはクラスターノードで使用できるテーブルの数に一定の制限を設けています。詳細については、「Amazon Redshift 管理ガイド」の「Amazon Redshift のクォータと制限」を参照してください。

サポートされるリージョン

Amazon Redshift との RDS ゼロ ETL 統合は、AWS リージョン のサブセットで利用できます。サポートされているリージョンのリストについては「Amazon RDS と Amazon Redshift のゼロ ETL 統合でサポートされているリージョンと DB エンジン」を参照してください。