对于从事数据分析的小伙伴们来说,最头疼的莫过于数据处理的阶段。在我们将数据源的原始数据导入数据仓储进行分析之前,我们通常需要进行ETL流程对数据格式进行统一转换,这个流程需要分配专业数据工程师基于业务情况完成,整个过程十分耗时耗力,而且往往不能获取实时的最新数据。
在本系列的上篇文章中,我将介绍在亚马逊云科技上通过 Aurora zero-ETL 与 Amazon Redshift 的无缝集成,将数据库内的交易数据与数据仓储中的的分析功能自动结合在一起,从而简化数据库和数据仓储之间定制化 ETL 管道的搭建与管理工作。架构图如下:
方案所需基础知识
什么是 zero-ETL ?
服务之间直接集成,不需要使用额外组件完成数据 ETL 的工作。把各种各样的数据都连接到执行分析所需要的地方,实现数据平滑“无感”的流动。它可以帮助用户最大限度地减少甚至消除构建 ETL 数据管道的复杂性。zero-ETL 的主要优势包括:
- 提高敏捷性。简化了数据架构并减少了数据工程的工作量。它允许增加新的数据源,而无需重新处理大量数据。这种灵活性增强了敏捷性,支持数据驱动的决策和快速创新。
- 成本效益。利用云原生且可扩展的数据集成技术,使企业能够根据实际使用情况和数据处理需求来优化成本。组织可以减少基础设施成本、开发工作和维护费用。
- 实时洞察。传统的 ETL 流程通常涉及定期批量更新,导致数据可用性延迟。另一方面,Zero-ETL 提供实时或近实时的数据访问,确保为分析、AI/ML 和报告提供更新鲜的数据。您可以获得更准确、更及时的用例洞察,例如实时仪表板、优化的游戏体验、数据质量监控和客户行为分析。组织可以更有信心地进行数据驱动的预测,改善客户体验,并在整个企业中推广数据驱动的见解。
什么是 Amazon Redshift Serverless?
Amazon Redshift Serverless 让您可以更轻松地运行和扩展分析,而无需管理数据仓库基础设施。 借助 Amazon Redshift Serverless,数据分析师、开发人员和数据科学家现在可以使用 Amazon Redshift Serverless 在几秒钟内从数据中获取见解,方法是将数据加载到数据仓库中并从中查询记录。Amazon Redshift Serverless 会自动豫园和扩展数据仓库容量,以提供快速的性能,满足苛刻且不可预测的工作负载。你只需为使用的容量付费。你可以从这种简单性中受益,而无需更改现有的分析和商业智能应用程序。Amazon Redshift Serverless 主要优势包括:
- 在几秒内开始分析。通过快速入门并对所有数据进行实时或预测性分析,专注于获得见解,而不必担心管理数据仓库基础设施。
- 体验始终如一的高性能。支持在查询复杂性、频率、ETL (提取、转换、加载) 或控制面板使用模式等维度上智能、主动并自动扩缩动态工作负载,以提供量身定制的性能优化。
- 节省成本并控制预算。只需按每秒的使用量付费,当数据仓库处于空闲状态时不支付任何费用。调整工作负载所需的性价比目标,以保持稳定的性能并控制预算。
什么是 Amazon Aurora Serverless?
Amazon Aurora Serverless 是 Amazon Aurora 的一种按需自动扩展配置版本。Amazon Aurora Serverless 会根据应用程序的需求自动启动、关闭以及扩展或缩减容量。可在云中运行数据库,而无需管理任何数据库实例。还可以在现有或新的数据库集群中将 Aurora Serverless v2 实例与预置实例搭配使用。Amazon Aurora Serverless 其主要优势包括:
- 高度可扩展。只需不到一秒的时间,即可瞬间扩展到数十万个事务。
- 高度可用。提供所有的 Aurora 功能,包括克隆、全球数据库、多可用区部署以及只读副本等,满足业务关键型应用程序的需求。
- 经济高效。以极为精细的横向增量,确保恰好提供所需的数据库资源量,并且仅为使用的容量付费。
- 简单。不再需要进行复杂的数据库容量预置和管理。数据库将会扩展,以匹配应用程序的需求。
- 透明。立即扩展数据库容量,而不中断传入的应用程序请求。
- 持久。使用分布式、容错、自我修复的 Aurora 存储,防止数据丢失,使您的数据在一个区域的三个可用区(AZ)中持久可用。
本实践包括的内容
1. 了解亚马逊云科技上的数据库RDS和数据仓库RedShift服务
2. 为数据库RDS创建Zero-ETL无缝集成连接到RedShift中
3. 将RDS中的数据库映射到RedShift中
项目实操步骤
项目前期准备
- 我们需要提前在亚马逊云科技控制台中,进入RDS服务主页创建Amazon Aurora Serverless v2数据库
- 然后进入RedShift服务主页,创建Amazon Redshift Serverless输出仓储
创建Zero-ETL集成
- 首先我们进入到亚马逊云科技控制台,进入到RDS数据库服务
- 在左侧菜单栏选择零 ETL 集成,之后点击右侧创建零 ETL 集成:
- 为ETL集成填写名称:”zeroetl“,点击下一步
4.选择源数据库,点击”浏览数据库“
- 在弹出窗口中选择我们这次实验的源数据库zeroetl
- 其他配置保持默认,点击下一步
- 点击”浏览Redshift数据仓库“添加目标数据仓库
8.在弹出窗口中选择本次实验的目标数据仓库”redshift-dw-ns-xxxxx“
- 如果出现报错,提示”所选目标没有正确的资源策略“,我们需要点击”帮我修复“选项,让亚马逊云科技自动修复资源策略问题
10. 进入到配置浏览页,点击”创建零ETL集成“
- 创建成功后,我们就可以在零ETL页面中查看我们刚创建的零ETL集成了
在数据仓库中添加与源数据库的映射
- 在亚马逊云科技控制台中,我们点击进入RedShift界面
- 左侧菜单栏进入”无服务器控制面板“,点击数据查询按键
- 我们会进入RedShift数据仓库的查询控制台,点击我们所在的RedShift节点名,选择”Create Connection“选项
- 在发起连接前,我们配置RDS数据库的账户名和密码,再点击”Create Connection“发起连接
16.连接成功后,我们在SQL查询器中运行以下SQL命令,获取RedShift与RDS Zero-ETL集成的id
SELECT integration_id FROM SVV_INTEGRATION;
- 我们通过该集成id,通过映射在RedShift中创建一个新的数据库”zeroetl“
CREATE DATABASE zeroetl FROM INTEGRATION 'integration_id';
以上就是为亚马逊云科技上的RDS数据库创建与数据仓库RedShift Zero-ETL无缝集成方案的上篇内容。欢迎大家关注小李哥和我的亚马逊云科技AI服务深入调研系列,不要错过未来更多国际前沿的AWS云开发/云架构方案。
版权归原作者 佛州小李哥 所有, 如有侵权,请联系我们删除。