产品展示

亚马逊Aurora PostgreSQL与亚马逊DynamoDB与亚马逊Redshift的零ETL集

Amazon Aurora PostgreSQL 和 Amazon DynamoDB 的零ETL集成现已普遍可用

作者:Esra Kayabali 于 2024 年 10 月 15 日

关键要点

Amazon Aurora PostgreSQL 和 Amazon DynamoDB 的零ETL集成与 Amazon Redshift 现在正式可用。零ETL集成可无缝连接事务性或操作性数据,以便在 Amazon Redshift 中进行分析和机器学习。无需构建复杂的数据管道,自动化源数据的复制过程。适用于多种 AWS 区域,包含详细的入门指南。

今天,我很高兴地宣布,Amazon Aurora PostgreSQL 兼容版本 和 Amazon DynamoDB 的零ETL集成现已与 Amazon Redshift 正式推出。零ETL集成能够将事务性或操作性数据无缝提供给 Amazon Redshift,消除了构建和管理复杂数据管道的需要,这些管道通常负责进行提取、转换和加载ETL操作。这种集成自动复制源数据到 Amazon Redshift,并实时更新源数据,以便在分析和机器学习ML中获取及时的洞察,迅速回应重要且紧急的事件。

通过这些新的零ETL集成,用户可以对来自不同应用的数据进行统一分析,而无需构建和管理针对多个关系型和非关系型数据源的不同数据管道。在接下来的文章中,我将逐步介绍如何开始使用 Amazon Aurora PostgreSQL 和 Amazon DynamoDB 与 Amazon Redshift 的零ETL集成。

要创建零ETL集成,您需指定一个源和 Amazon Redshift 作为目标。该集成将数据从源复制到目标数据仓库,在 Amazon Redshift 中无缝可用,并监控管道的健康状态。

接下来,让我们探讨这些新集成的工作原理。您将学习如何创建零ETL集成,以将数据从不同的源数据库Aurora PostgreSQL 和 DynamoDB复制到同一个 Amazon Redshift 集群。您还将了解如何选择多个表或数据库,从 Aurora PostgreSQL 源数据库中将数据复制到同一个 Amazon Redshift 集群。您将看到零ETL集成如何提供灵活性,而无需承担构建和管理多个 ETL 管道的运营负担。

开始使用 Aurora PostgreSQL 零ETL 集成 Amazon Redshift

在创建数据库之前,我需要先创建一个自定义集群参数组,因为 Aurora PostgreSQL 零ETL 集成与 Amazon Redshift 需要特定的 Aurora DB 集群参数。在 Amazon RDS 控制台 中,我在导航窗格中找到 参数组,选择 创建参数组。

我为 参数组名称 输入 custompgaurorapostgreszeroetl,并为 描述 输入相同内容。我选择 Aurora PostgreSQL 作为 引擎类型,选择 aurorapostgresql16 作为 参数组家族零ETL集成支持 PostgreSQL 164 或更高版本。最后,我选择 DB 集群参数组 作为 类型,然后点击 创建。

接下来,我选择新创建的集群参数组进行编辑。在 参数组 页面上,我选择它,点击 操作,然后选择 编辑。我设置以下集群参数:

rdslogicalreplication=1auroraenhancedlogicalreplication=1auroralogicalreplicationbackup=0auroralogicalreplicationglobaldb=0

确保选择 保存更改。

接下来,我创建一个 Aurora PostgreSQL 数据库。在创建数据库时,您可以根据需求设置配置。请记得在 可用版本 中选择 Aurora PostgreSQL兼容 PostgreSQL 164 或更高版本,在 附加配置 部分选择自定义集群参数组在本例中为 custompgaurorapostgreszeroetl。

数据库可用后,我连接到 Aurora PostgreSQL 集群,创建一个名为 books 的数据库,并在该数据库的默认模式中创建一个名为 bookcatalog 的表,插入样本数据以用于零ETL集成。

要开始使用零ETL集成,我使用现有的 Amazon Redshift 数据仓库。要创建和管理 Amazon Redshift 资源,请访问 Amazon Redshift 入门指南。

在 Amazon RDS 控制台中,我转到导航窗格中的 零ETL集成 标签,并选择 创建零ETL集成。我为 集成标识符 输入 postgresredshiftzeroetl,为 集成描述 输入 Amazon Aurora零ETL集成与 Amazon Redshift,然后点击 下一步。

在下一页,我选择 浏览RDS数据库 来选择源数据库。在 数据过滤选项 中,我使用 databaseschematable 模式。我的表 bookcatalog 位于 Aurora PostgreSQL books 数据库中。过滤器中的 会复制 books 数据库中所有模式内的所有 bookcatalog 表。我选择 包括 作为过滤类型,并在 过滤表达式 字段中输入 booksbookcatalog。然后,我点击 下一步。

在下一页,我选择 浏览Redshift数据仓库 选择现有的 Amazon Redshift 数据仓库作为目标。我需要在目标上指定授权主体和集成源,以便使 Amazon Aurora 能够复制数据到数据仓库并启用大小写敏感。Amazon RDS 可以在设置过程中为我完成这些步骤,或者我也可以在 Amazon Redshift 中手动配置。在这个演示中,我选择 为我修复,然后点击 下一步。

在修复了大小写敏感的参数和数据仓库的资源策略后,我在 添加标签和加密 页面选择 下一步。在审查配置后,我点击 创建零ETL集成。

集成成功后,我选择集成名称以检查详情。

现在,我需要通过集成创建数据库以完成设置。在 Amazon Redshift 控制台 中,我选择 零ETL集成 中刚创建的 Aurora PostgreSQL 集成,并点击 从集成创建数据库。

我选择 books 作为 源命名数据库,并将 目标数据库名称 输入为 zeroetlaurorapg,然后点击 创建数据库。

数据库创建后,我返回到 Aurora PostgreSQL 集成页面。此时,我选择 查询数据 以连接到 Amazon Redshift 数据仓库,观察数据是否被复制。当我在 zeroetlaurorapg 数据库中运行选择查询时,可以看到 bookcatalog 表中的数据成功复制到了 Amazon Redshift。

正如我开头所说,您可以从 Aurora PostgreSQL 源数据库中选择多个表或数据库,将数据复制到同一个 Amazon Redshift 集群。要将另一个数据库添加到相同的零ETL集成中,只需在 数据过滤选项 中添加另一个过滤器,形式为 databaseschematable,将数据库部分替换为想要复制的数据库名称。在这个演示中,我将选择多个表复制到同一个数据仓库中。我在 Aurora PostgreSQL 集群中创建另一个名为 publisher 的表,并插入样本数据。

我编辑 数据过滤选项 以包括 publisher 表。为此,我在 postgresredshiftzeroetl 的详情页面选择 修改。我在 过滤表达式 字段中使用逗号附加 bookspublisher。然后点击 继续,审查更改并选择 保存更改。我观察到,该集成详情页面的 过滤数据表 部分现在包含两个表进行复制。

切换到 Amazon Redshift 查询编辑器并刷新表格后,我看到新的 publisher 表及其记录已复制到数据仓库。

开始使用 DynamoDB 零ETL 集成 Amazon Redshift

在这一部分,我将使用现有的 Amazon DynamoDB 表 BookCatalog 创建一个 Amazon DynamoDB 零ETL 集成。该表包含 2 条条目:

我转到 Amazon Redshift 控制台,在导航窗格中选择 零ETL集成。然后,我点击 创建零ETL集成 的箭头,选择 创建DynamoDB集成。我输入 dynamodbredshiftzeroetl 作为 集成名称,并将 描述 填写为 Amazon DynamoDB零ETL集成与 Amazon Redshift,然后点击 下一步。

在下一页,我选择 浏览DynamoDB表 并选中 BookCatalog 表。为创建集成,我必须指定带有授权主体和集成源的资源策略,并在源表上启用时间点恢复PITR。Amazon DynamoDB 可以为我完成这项工作,或者我也可以手动更改配置。在这里,我选择 为我修复,自动应用所需的资源策略并启用 DynamoDB 表上的 PITR,继续点击 下一步。

飞鸟加速器软件特点

接下来,我选择我现有的 Amazon Redshift Serverless 数据仓库作为目标,并点击 下一步。

在 添加标签和加密 页面再次点击 下一步,在 审查和创建页面 中选择 创建DynamoDB集成。

现在,我和之前的 Aurora PostgreSQL 零ETL 集成一样,需要创建一个来自集成的数据库以完成设置。在 Amazon Redshift 控制台中,我选择创建的 DynamoDB 集成,然后选择 从集成创建数据库。在弹出窗口中,我输入 zeroetldynamodb 作为 目标数据库名称,然后点击 创建数据库。

数据库创建后,我返回 Amazon Redshift 的 零ETL集成 页面,选择我创建的 DynamoDB 集成。在此页面中,我选择 查询数据 以连接 Amazon Redshift 数据仓库,观察是否从 DynamoDB 的 BookCatalog 表中复制了数据。当我在 zeroetldynamodb 数据库中运行选择查询时,可以看到数据成功复制到 Amazon Redshift。注意,来自 DynamoDB 的数据以 SUPER 数据类型 列的形式复制,并可以使用 PartiQL 查询语言 进行访问。

我在 DynamoDB 的 BookCatalog 表中插入了另一条记录。

切换到 Amazon Redshift 查询编辑器并刷新选择查询后,我可以看到新记录成功复制到数据仓库。

亚马逊Aurora PostgreSQL与亚马逊DynamoDB与亚马逊Redshift的零ETL集

总结

Amazon Aurora PostgreSQL 和 DynamoDB 与 Amazon Redshift 之间的零ETL集成帮助统一来自多个数据库集群的数据,从而在数据仓库中解锁洞察。Amazon Redshift 允许跨数据库查询和基于多个表的物化视图,使您能够整合和简化分析资产,提高运营效率并优化成本。您不再需要担心设置和管理复杂的 ETL 管道。

现已可用

Aurora PostgreSQL 零ETL集成与 Amazon Redshift 现在在美国东部北维吉尼亚、美国东部俄亥俄州、美国西部俄勒冈州、亚太地区香港、亚太地区孟买、亚太地区新加坡、亚太地区悉尼、亚太地区东京、欧洲法兰克福、欧洲爱尔兰和欧洲斯德哥尔摩AWS 区域内可用。

Amazon DynamoDB 零ETL集成与 Amazon Redshift 现已在所有商业、中国和 GovCloud AWS 区域中可用。

有关定价信息,请访问 Amazon Aurora 和 Amazon DynamoDB 的定价页面。

要开始使用此功能,请访问 使用 Aurora 零ETL 集成与 Amazon Redshift 和 Amazon Redshift 零ETL 集成 文档。

Esra

Esra Kayabali

Esra Kayabali 是 AWS 的高级解决方案架构师,专注于分析,包括数据仓库、数据湖、大数据分析、批处理和实时数据流以及数据集成。她拥有超过十年的软件开发和解决方案架构经验。她热爱协作学习、知识分享,并在云技术旅程中引导社区。