为数据仓库构建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云开发/云架构方案。

相关推荐
lhxwished2 分钟前
MySQL
数据库·mysql·adb
嘤嘤奶嘴酱3 分钟前
dedecms(四种webshell姿势)aspcms webshell漏洞复现
数据库·servlet
goTsHgo18 分钟前
Clickhouse如何完全保证数据的去重
数据库·clickhouse
Dylanioucn18 分钟前
【编程底层原理】亿级数据表查询最后10条记录limit 99999990,10性能为啥特慢,而且数据库都被查宕机了
数据库·oracle
goTsHgo19 分钟前
从底层原理上理解ClickHouse 中的稀疏索引
数据库·clickhouse
邢博士谈科教33 分钟前
比传统机器学习更先进的深度学习神经网络的二分类建模全流程教程
数据挖掘·r语言·数据可视化
不染_是非1 小时前
Django学习实战篇四(适合略有基础的新手小白学习)(从0开发项目)
数据库·后端·学习·django·web
akbar&1 小时前
计算机三级 - 数据库技术 - 第十三章 大规模数据库架构 笔记
数据库·笔记
架构师ZYL1 小时前
node.js+Koa框架+MySQL实现注册登录
前端·javascript·数据库·mysql·node.js
酷帅且洋仔1 小时前
Redis——常用数据类型List
数据库·redis·list