ゼファーネットのロゴ

Amazon Aurora MySQL のデータフィルタリングと Amazon Redshift のゼロ ETL 統合を発表 |アマゾン ウェブ サービス

日付:

組織がよりデータドリブンになり、競争上の優位性の源としてデータを使用するようになると、データの分析を実行して、売上の拡大、コストの削減、ビジネスの最適化を実現するための中核となるビジネスの推進要因をより深く理解することが必要になります。運用データの分析を実行するには、データベース、データ ウェアハウス、抽出、変換、読み込み (ETL) パイプラインを組み合わせたソリューションを構築する場合があります。 ETL は、データ エンジニアがさまざまなソースからのデータを結合するために使用するプロセスです。

トランザクションデータベースとデータウェアハウス間のETLパイプラインの構築と維持にかかる労力を軽減するために、AWSは発表した。 Amazon Aurora と Amazon Redshift のゼロ ETL 統合 at AWS re:Invent 2022 現在、一般提供 (GA) されています。 Amazon Aurora MySQL 互換エディション 3.05.0.

AWS は現在、ゼロ ETL 統合でのデータフィルタリングを発表しています。これにより、Amazon Aurora MySQL と Amazonレッドシフト。この機能を使用すると、分析ユースケースのために Redshift データ ウェアハウスにレプリケートする個々のデータベースとテーブルを選択できます。

この投稿では、この機能を使用できるユースケースの概要を示し、この機能を使用してほぼリアルタイムの運用分析を開始する方法について段階的なガイダンスを提供します。

データフィルタリングの使用例

データフィルタリングを使用すると、Amazon Aurora MySQL から Amazon Redshift にレプリケートするデータベースとテーブルを選択できます。ゼロ ETL 統合に複数のフィルターを適用して、特定のニーズに合わせてレプリケーションを調整できます。データ フィルタリングは、次のいずれかを適用します。 exclude or include フィルタ ルールを備えており、正規表現を使用して複数のデータベースとテーブルを照合できます。

このセクションでは、データ フィルタリングの一般的な使用例について説明します。

PII データを含むテーブルをレプリケーションから除外することで、データのセキュリティを向上します。

運用データベースには、個人を特定できる情報 (PII) が含まれることがよくあります。これは本質的に機密性の高い情報であり、住所、顧客確認書類、クレジット カード情報などの情報が含まれる場合があります。

厳格なセキュリティ コンプライアンス規制のため、分析のユースケースでは PII を使用したくない場合があります。データフィルタリングを使用すると、PII データを含むデータベースまたはテーブルをフィルタリングして、Amazon Redshift へのレプリケーションから除外できます。これにより、データのセキュリティと分析ワークロードのコンプライアンスが向上します。

特定のユースケースに必要なテーブルを複製することで、ストレージ コストを節約し、分析ワークロードを管理します

運用データベースには、分析には役に立たないさまざまなデータセットが含まれることがよくあります。これには、補足データ、特定のアプリケーション データ、および異なるアプリケーション用の同じデータセットの複数のコピーが含まれます。

さらに、異なる Redshift ウェアハウスで異なるユースケースを構築するのが一般的です。このアーキテクチャでは、個々のエンドポイントで異なるデータセットを使用できる必要があります。

データ フィルタリングを使用すると、ユースケースに必要なデータセットのみをレプリケートできます。これにより、使用されていないデータを保存する必要がなくなり、コストを節約できます。

既存のゼロ ETL 統合を変更して、必要に応じてより制限的なデータ レプリケーションを適用することもできます。既存の統合にデータフィルターを追加すると、Aurora は新しいフィルターを使用してレプリケートされるデータを完全に再評価します。これにより、新しくフィルタリングされたデータがターゲット Redshift エンドポイントから削除されます。

Aurora ゼロ ETL と Amazon Redshift の統合のクォータの詳細については、以下を参照してください。 割り当て量.

小規模なデータ レプリケーションから開始し、必要に応じてテーブルを段階的に追加します

Amazon Redshift で開発される分析ユースケースが増えるにつれて、個々のゼロ ETL レプリケーションにさらにテーブルを追加することが必要になる場合があります。データフィルタリングを使用すると、将来使用される可能性を満たすためにすべてのテーブルを Amazon Redshift にレプリケートするのではなく、Aurora データベースのテーブルのサブセットから小規模に開始し、必要に応じてフィルタにテーブルを段階的に追加できます。 。

ゼロ ETL 統合のデータフィルターが更新されると、Aurora は前のフィルターが存在しなかったかのようにフィルター全体を完全に再評価するため、以前にレプリケートされたテーブルを使用するワークロードは新しいテーブルの追加に影響を受けません。

レプリケーションプロセスの負荷分散により、個々のワークロードのパフォーマンスを向上させます。

大規模なトランザクション データベースの場合、個々の Redshift エンドポイントのコンピューティング要件を軽減し、ワークロードを複数のエンドポイントに分割できるようにするために、レプリケーションとダウンストリーム処理を複数の Redshift クラスターに負荷分散する必要がある場合があります。複数の Redshift エンドポイント間でワークロードを負荷分散することで、エンドポイントが個々のワークロードに適切なサイズになるデータ メッシュ アーキテクチャを効果的に作成できます。これにより、パフォーマンスが向上し、全体的なコストが削減されます。

データ フィルタリングを使用すると、さまざまなデータベースやテーブルを別の Redshift エンドポイントにレプリケートできます。

次の図は、ゼロ ETL 統合でデータフィルターを使用して、Aurora の異なるデータベースを別々の Redshift エンドポイントに分割する方法を示しています。

ユースケースの例

考慮する チケット データベース。 TICKIT サンプル データベースには、ユーザーがさまざまなイベントのチケットを売買できる架空の会社からのデータが含まれています。同社のビジネス アナリストは、Aurora MySQL データベースに保存されているデータを使用してさまざまなメトリクスを生成し、この分析をほぼリアルタイムで実行したいと考えています。このため、同社はゼロ ETL を潜在的なソリューションとして特定しました。

必要なデータセットの調査を通じて、同社のアナリストは、ユーザー テーブルに分析要件には役に立たない顧客のユーザー情報に関する個人情報が含まれていることを指摘しました。したがって、ユーザー テーブルを除くすべてのデータをレプリケートする必要があり、そのためにゼロ ETL のデータ フィルタリングを使用します。

まずは次の手順に従ってください。 Amazon Aurora と Amazon Redshift のゼロ ETL 統合を使用した、ほぼリアルタイムの運用分析のためのスタートガイド 新しい Aurora MySQL データベースを作成するには、 AmazonRedshiftサーバーレス エンドポイントとゼロETL統合。次に、Redshift クエリ エディター v2 を開き、次のクエリを実行して、users テーブルのデータが正常にレプリケートされたことを確認します。

select * from aurora_zeroetl.demodb.users;

データフィルター

データ フィルターは、ゼロ ETL 統合に直接適用されます。 Amazon リレーショナル データベース サービス (アマゾンRDS)。単一の統合に対して複数のフィルターを定義でき、各フィルターは次のいずれかとして定義されます。 Include or Exclude フィルタータイプ。データ フィルターは、既存および将来のデータベース テーブルにパターンを適用して、どのフィルターを適用するかを決定します。

データフィルターを適用する

フィルタを適用して削除するには users ゼロ ETL 統合からテーブルを作成するには、次の手順を実行します。

  1. Amazon RDS コンソールで、 ゼロETL統合 ナビゲーションペインに表示されます。
  2. フィルターを追加するゼロ ETL 統合を選択します。

デフォルトのフィルタには、 include:*.* フィルタ。

  1. 選択する 修正します.
  2. 選択する フィルターを追加 セクションに ソース のセクションから無料でダウンロードできます。
  3. フィルターの種類を選択してください、選択する 除外する.
  4. フィルター式、式を入力します demodb.users.

フィルター式の順序は重要です。フィルターは左から右、上から下に評価され、後続のフィルターは前のフィルターをオーバーライドします。この例では、Aurora はすべてのテーブルを含める必要がある (フィルター 1) ことを評価し、次に、 demodb.users テーブルは除外する必要があります (フィルター 2)。したがって、除外フィルターは包含フィルターの後にあるため、包含フィルターをオーバーライドします。

  1. 選択する Continue.
  2. 変更を確認してフィルターの順序が正しいことを確認し、選択します。 変更を保存します.

統合が追加され、 変更 変更が適用されるまでの状態。これには最大 30 分かかる場合があります。変更の適用が完了したかどうかを確認するには、ゼロ ETL 統合を選択し、そのステータスを確認します。と表示されている場合 アクティブ、変更が適用されました。

変更を確認する

ゼロ ETL 統合が更新されたことを確認するには、次の手順を実行します。

  1. Redshift クエリ エディター v2 で、Redshift クラスターに接続します。
  2. を選択 (右クリック) aurora-zeroetl 作成して選択したデータベース Refresh.
  3. 詳細 demodb & Tables.

  users テーブルはレプリケーションから削除されたため、使用できなくなりました。他のテーブルはすべて引き続きご利用いただけます。

  1. 前と同じ SELECT ステートメントを実行すると、オブジェクトがデータベースに存在しないことを示すエラーが表示されます。
    select * from aurora_zeroetl.demodb.users;

AWS CLI を使用してデータフィルターを適用する

同社のビジネス アナリストは、Aurora MySQL データベースにさらに多くのデータベースが追加されており、必要なのは、 demodb データベースは Redshift クラスターにレプリケートされます。この目的を達成するために、彼らはゼロ ETL 統合のフィルターを更新したいと考えています。 AWSコマンドラインインターフェイス (AWS CLI)。

AWS CLI を使用してゼロ ETL 統合にデータフィルターを追加するには、 統合の変更 指示。統合識別子に加えて、 --data-filter パラメータをコンマ区切りのリストで指定します。 include & exclude フィルタ

ゼロ ETL 統合のフィルターを変更するには、次の手順を実行します。

  1. AWS CLI がインストールされているターミナルを開きます。
  2. 次のコマンドを入力して、利用可能なすべての統合を一覧表示します。
    aws rds describe-integrations

  3. 更新する統合を見つけて、統合識別子をコピーします。

統合識別子は、統合 ARN の末尾にある英数字の文字列です。

  1. 次のコマンドを実行して更新します 前のステップからコピーした識別子を使用します。
    aws rds modify-integration --integration-identifier "<integration identifier>" --data-filter 'exclude: *.*, include: demodb.*, exclude: demodb.users'

Aurora がこのフィルターを評価するとき、デフォルトですべてが除外され、次に、 demodb データベースを除きます。 demodb.users 列で番号の横にあるXをクリックします。

データ フィルターは、データベースとテーブルの正規表現を実装できます。たとえば、次で始まるテーブルをフィルタリングして除外したい場合、 user、次を実行できます。

aws rds modify-integration --integration-identifier "<integration identifier>" --data-filter 'exclude: *.*, include: demodb.*, exclude *./^user/'

前回のフィルター変更と同様に、統合が追加され、 変更 変更が適用されるまでの状態。これには最大 30 分かかる場合があります。次のように表示される場合 アクティブ、変更が適用されました。

クリーンアップ

ゼロ ETL 統合に追加されたフィルターを削除するには、次の手順を実行します。

  1. Amazon RDS コンソールで、 ゼロETL統合 ナビゲーションペインに表示されます。
  2. ゼロ ETL 統合を選択します。
  3. 選択する 修正します.
  4. 選択する 削除します 削除するフィルターの横にある
  5. を変更することもできます 除外する フィルターの種類を 含める.

あるいは、AWS CLI を使用して以下を実行することもできます。

aws rds modify-integration --integration-identifier "<integration identifier>" --data-filter 'include: *.*'

  1. 選択する Continue.
  2. 選択する 変更を保存します.

データ フィルターに変更が適用されるまでに最大 30 分かかります。データフィルターを削除すると、Aurora は、削除されたフィルターが存在しなかったかのように、残りのフィルターを再評価します。以前はフィルタリング基準に一致しなかったが、現在は一致するデータはすべて、ターゲットの Redshift データ ウェアハウスにレプリケートされます。

まとめ

この投稿では、Amazon Aurora MySQL から Amazon Redshift への Aurora ゼロ ETL 統合でデータフィルタリングを設定する方法を説明しました。これにより、必要なデータのみをレプリケートしながら、トランザクション データと運用データに対してほぼリアルタイムの分析を行うことができます。

データフィルタリングを使用すると、ワークロードを個別の Redshift エンドポイントに分割し、プライベートまたは機密データセットのレプリケーションを制限し、必要なデータセットのみをレプリケートすることでワークロードのパフォーマンスを向上させることができます。

Aurora のゼロ ETL と Amazon Redshift の統合の詳細については、を参照してください。 Amazon Redshift との Aurora ゼロ ETL 統合の使用 & ゼロ ETL 統合の使用.


著者について

ジョティ・アガルワル は、AW​​S ゼロ ETL の製品管理リードです。彼女は、パフォーマンス、顧客エクスペリエンス、セキュリティに関する取り組みの推進など、製品およびビジネス戦略を主導しています。彼女は、クラウド コンピューティング、データ パイプライン、分析、人工知能 (AI)、およびデータベース、データ ウェアハウス、データ レイクなどのデータ サービスに関する専門知識をもたらします。


ショーン・ビース
アマゾン ウェブ サービスの分析ソリューション アーキテクトです。彼は、AWS のサービスを使用したデータ プラットフォームの最新化の配信ライフサイクル全体の経験があり、顧客と協力して AWS での分析価値の向上を支援しています。

ゴクル・サダララジャン AWS の主任エンジニアであり、トロント大学で博士号を取得しており、ストレージ、データベース、分析の分野で働いています。

スポット画像

最新のインテリジェンス

スポット画像