为数据仓库构建Zero-ETL无缝集成数据分析方案(上篇)

对于从事数据分析的小伙伴们来说,最头疼的莫过于数据处理的阶段。在我们将数据源的原始数据导入数据仓储进行分析之前,我们通常需要进行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中

项目实操步骤

项目前期准备

  1. 我们需要提前在亚马逊云科技控制台中,进入RDS服务主页创建Amazon Aurora Serverless v2数据库
  1. 然后进入RedShift服务主页,创建Amazon Redshift Serverless输出仓储

创建Zero-ETL集成

  1. 首先我们进入到亚马逊云科技控制台,进入到RDS数据库服务
  1. 在左侧菜单栏选择零 ETL 集成 ,之后点击右侧创建零 ETL 集成
  1. 为ETL集成填写名称:"zeroetl",点击下一步

4.选择源数据库,点击"浏览数据库"

  1. 在弹出窗口中选择我们这次实验的源数据库zeroetl
  1. 其他配置保持默认,点击下一步
  1. 点击"浏览Redshift数据仓库"添加目标数据仓库

8.在弹出窗口中选择本次实验的目标数据仓库"redshift-dw-ns-xxxxx"

  1. 如果出现报错,提示"所选目标没有正确的资源策略",我们需要点击"帮我修复"选项,让亚马逊云科技自动修复资源策略问题

10. 进入到配置浏览页,点击"创建零ETL集成"

  1. 创建成功后,我们就可以在零ETL页面中查看我们刚创建的零ETL集成了

在数据仓库中添加与源数据库的映射

  1. 在亚马逊云科技控制台中,我们点击进入RedShift界面
  1. 左侧菜单栏进入"无服务器控制面板",点击数据查询按键
  1. 我们会进入RedShift数据仓库的查询控制台,点击我们所在的RedShift节点名,选择"Create Connection"选项
  1. 在发起连接前,我们配置RDS数据库的账户名和密码,再点击"Create Connection"发起连接

16.连接成功后,我们在SQL查询器中运行以下SQL命令,获取RedShift与RDS Zero-ETL集成的id

sql 复制代码
SELECT integration_id FROM SVV_INTEGRATION;
  1. 我们通过该集成id,通过映射在RedShift中创建一个新的数据库"zeroetl"
sql 复制代码
CREATE DATABASE zeroetl FROM INTEGRATION 'integration_id';

以上就是为亚马逊云科技上的RDS数据库创建与数据仓库RedShift Zero-ETL无缝集成方案的上篇内容。欢迎大家关注小李哥和我的亚马逊云科技AI服务深入调研系列,不要错过未来更多国际前沿的AWS云开发/云架构方案。

相关推荐
百度智能云技术站2 分钟前
广告投放系统成本降低 70%+,基于 Redis 容量型数据库 PegaDB 的方案设计和业务实践
数据库·redis·oracle
装不满的克莱因瓶5 分钟前
【Redis经典面试题六】Redis的持久化机制是怎样的?
java·数据库·redis·持久化·aof·rdb
梦想平凡2 小时前
PHP 微信棋牌开发全解析:高级教程
android·数据库·oracle
TianyaOAO2 小时前
mysql的事务控制和数据库的备份和恢复
数据库·mysql
Ewen Seong2 小时前
mysql系列5—Innodb的缓存
数据库·mysql·缓存
码农老起3 小时前
企业如何通过TDSQL实现高效数据库迁移与性能优化
数据库·性能优化
csding113 小时前
写入hive metastore报问题Permission denied: user=hadoop,inode=“/user/hive”
数据仓库·hive·hadoop
夏木~4 小时前
Oracle 中什么情况下 可以使用 EXISTS 替代 IN 提高查询效率
数据库·oracle
W21554 小时前
Liunx下MySQL:表的约束
数据库·mysql
黄名富4 小时前
Redis 附加功能(二)— 自动过期、流水线与事务及Lua脚本
java·数据库·redis·lua