【アップデート】Amazon Redshift の新機能「Federated Query」でRDSとAuroraのPostgreSQLに直接クエリを実行できるようになりました #reinvent

こんにちは!DA事業本部の石川です!

re:Invent2019の12/3のキーノートでAmazon Redshiftが新たにAmazon Redshift 「Federated Query」をサポートしました。今回はキーノートの内容を中心にご紹介します。

Federated Queryとは?

RDSとAurora PostgreSQLのテーブルにRedshiftから直接アクセスできるようになりました。所謂、RedshiftからPostgreSQLに対してデータベースリンクする機能です。

この構文を使用して、RDSまたはAurora PostgreSQLデータベースからRedshiftクラスターに外部スキーマを追加できます。リンクはスキーマ毎に設定します。

CREATE EXTERNAL SCHEMA IF NOT EXISTS online_system
FROM POSTGRES
DATABASE 'online_sales_db' SCHEMA 'online_system'
URI ‘my-hostname' port 5432
IAM_ROLE 'iam-role-arn'
SECRET_ARN 'ssm-secret-arn';

ユースケース

この機能を用いることで、Redshiftから直接PostgreSQLのテーブルに接続してETL/ELTを処理するクエリを実行できるようになります。

Redshiftは、高度な最適化機能を活用して、計算の多くをPostgreSQLに直接プッシュダウンして垂直分散し、ネットワーク上を移動するデータ量を最小限に抑えます。

まとめ

これまでPostgreSQLからRedshiftへのデータベースリンクが可能でしたので、新機能「Federated Query」で双方向でデータベースリンクが可能になりました。RedshiftはRedshiftのSpectrumレイヤでS3データレイクにアクセスできるので、Redshiftを中心に様々なデータソースに接続して、ETL/ELTを処理するクエリを実行できるようになることはメリットが大きいでしょう。