Amazon Web Services ブログ

Amazon RDS for MySQL と Amazon Redshift のゼロ ETL 統合が一般公開され、ほぼリアルタイムの分析が可能に

ゼロ ETL 統合では、複数のアプリケーションやデータソースにわたるデータを統合し、総体的なインサイトを取得してデータサイロを解消することができます。完全マネージド型でノーコードのほぼリアルタイムのソリューションが実現し、データが Amazon Relational Database Service (Amazon RDS) for MySQL に書き込まれてから数秒以内に Amazon Redshift でペタバイト規模のトランザクションデータを利用できるようになります。独自の ETL ジョブを作成する必要がなくなるのでデータインジェストが簡素化され、運用上のオーバーヘッドが削減されます。また、全体的なデータ処理コストが削減される可能性もあります。2023年、Amazon Aurora MySQL 互換エディションと Amazon Redshift のゼロ ETL 統合の一般提供に加えて、Aurora PostgreSQL 互換エディション、Amazon DynamoDB、RDS for MySQL でのプレビュー機能が発表されました。

ここで Amazon Redshift と Amazon RDS for MySQL のゼロ ETL 統合の一般提供が開始されたことをお伝えできることを嬉しく思います。このリリースには、データフィルタリング、複数の統合のサポート、AWS CloudFormation テンプレートでゼロ ETL 統合を設定する機能などの新機能も含まれています。

この投稿では、データフィルタリングと複数のデータベースとデータウェアハウスにわたるデータの統合を開始する方法を紹介します。ゼロ ETL 統合の設定のステップごとのウォークスルーについては、セットアップが非常に類似しているので、このブログ投稿で Aurora MySQL-Compatible Edition のセットアップ方法を参照してください。

データフィルタリング
規模に関係なく、ほとんどの企業では、ETL ジョブにフィルタリングを追加することでメリットが得られます。一般的なユースケースは、本番データベースから複製する必要のあるデータのサブセットのみを選択することで、データ処理とストレージのコストを削減することです。もう 1 つのユースケースは、レポートのデータセットから個人を特定できる情報 (PII) を除外することです。例えば、医療業界の企業では、最近の患者の症例を分析する集計レポートを作成するためにデータをレプリケートする際に、機密性の高い患者情報を除外することが望ましい場合があります。同様に、e コマースストアでは、顧客の支出パターンをマーケティング部門に公開する際に PII を除外する場合があります。逆に、推論を作成するためにほぼリアルタイムですべてのデータを必要とする不正検知チームがデータを利用できるようにする場合など、フィルタリングを使用することが望ましくない場合もあります。これはほんの一例に過ぎないので、自分の組織に当てはまる可能性のあるさまざまなユースケースを試してみることをお勧めします。

ゼロ ETL 統合でフィルタリングを有効にするには、統合を初めて作成するときに行うか、既存の統合を変更することによって行うという 2 つの方法があります。どちらの場合でも、このオプションはゼロ ETL 作成ウィザードの「ソース」ステップにあります。

データフィルタリング式を追加してデータベースまたはテーブルの追加や除外を行うためのインターフェイス。

フィルターを適用するには、データセットに対して database*.table* の形式でデータベースまたはテーブルの追加または除外を行うフィルター式を入力します。複数の式を追加することが可能です。式は左から右の順に評価されます。

既存の統合を変更する場合、変更を確認した時点から新しいフィルタリングルールが適用され、Amazon Redshift はフィルターに含まれなくなったテーブルを削除します。

さらに詳しく知りたい場合は、ステップと概念が非常に似ている Amazon Aurora ゼロ ETL 統合のデータフィルターをセットアップする方法について解説したブログを参照することをお勧めします。

1 つのデータベースから複数のゼロ ETL 統合を作成する
また、単一の RDS for MySQL データベースから最大 5 つの Amazon Redshift データウェアハウスへの統合を設定できるようになりました。唯一の要件は、最初の統合が正常にセットアップを完了するまで待ってから、他の統合を追加する必要があることです。

これにより、特定のユースケースに合わせて各チームに独自のデータウェアハウスの所有権を与えながら、トランザクションデータをさまざまなチームと共有することができます。例えば、これをデータフィルタリングと組み合わせて使用して、同じ Amazon RDS 本番データベースから開発、ステージング、本番環境の Amazon Redshift クラスターに別々のデータセットをファンアウトすることもできます。

これが本当に役立つもう 1 つの興味深いシナリオは、ゼロ ETL を使用してさまざまなウェアハウスにレプリケートすることで複数の Amazon Redshift クラスターを統合することです。また、Amazon Redshift のマテリアライズドビューを使用して、データの調査、Amazon Quicksight ダッシュボードの強化、データの共有、Amazon SageMaker でのジョブのトレーニングなどを行うこともできます。

まとめ
Amazon Redshift との RDS for MySQL ゼロ ETL 統合では、ほぼリアルタイムの分析を目的としたデータのレプリケートを行うことができます。複雑なデータパイプラインの構築や管理を行う必要はありません。現在、これは、レプリケートされたデータセットに対してデータベースとテーブルの追加や除外を行うフィルター式を追加する機能とともに一般提供されています。また、同じソース RDS for MySQL データベースから複数の異なる Amazon Redshift ウェアハウスへの複数の統合を設定することや、複数の異なるソースから統合を作成してデータを 1 つのデータウェアハウスに統合することができるようになりました。

このゼロ ETL 統合は、サポートされている AWS リージョンの RDS for MySQL バージョン 8.0.32 以降、Amazon Redshift Serverless、Amazon Redshift RA3 インスタンスタイプで利用できます。

ゼロ ETL 統合のセットアップは、AWS マネジメントコンソールの使用に加えて、AWS コマンドラインインターフェイス (AWS CLI) から行うことや、公式 AWS SDK for Python である boto3 などの AWS SDK を使用して行うこともできます。

ゼロ ETL 統合の操作の詳細については、該当するドキュメントを参照してください。

Matheus Guimaraes

原文はこちらです。