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

news2024/11/25 15:48:37

对于从事数据分析的小伙伴们来说,最头疼的莫过于数据处理的阶段。在我们将数据源的原始数据导入数据仓储进行分析之前,我们通常需要进行ETL流程对数据格式进行统一转换,这个流程需要分配专业数据工程师基于业务情况完成,整个过程十分耗时耗力,而且往往不能获取实时的最新数据。

在本系列的上篇文章中,我们已经介绍可在亚马逊云科技上通过 Aurora zero-ETL 与 Amazon Redshift 的无缝集成的解决方案,将数据库内的交易数据与数据仓储中的的分析功能自动结合在一起,从而简化数据库和数据仓储之间定制化 ETL 管道的搭建与管理工作。架构图如下:

在下篇中我们将介绍利用MySQL客户端对RDS数据中的修改,并在RedShift数据仓库中查看从RDS数据库中经过ETL导入到数据仓库的数据,并对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. 通过MySQL客户端连接MySQL服务器,并执行数据/表更新DDL、DML操作

2. 在RedShift数据仓库中,查看从MySQL经过ETL导入的数据信息,验证一致性

3. 通过云端控制台监控ETL任务指标、运行状态

项目实操步骤

项目前期准备

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

2. 然后进入RedShift服务主页,创建Amazon Redshift Serverless输出仓储

 

通过 Amazon EC2 控制台创建 EC2 并安装 MySQL 客户端 

3. 通过亚马逊云科技控制台,进入EC2服务主页

4.点击左侧菜单栏的实例选项,点击右侧启动新实例

 5. 我们进入实例创建页面,我们根据图中所示选择OS类型、CPU架构类型

6. 选择实例大小类型”t2.micro“, 选择SSH登录秘钥,以及配置网络环境

7. 在网络配置选项中,我们选择VPC、子网、为EC2开启公网IP,选择安全组,并为服务器配置磁盘

8. 实例创建成功后,我们点击连接,通过SSH进入服务器的Shell,命令行

9.  在服务器Shell中,我们通过以下命令安装MySQL客户端

 sudo yum upgrade
 sudo yum install -y mariadb105.x86_64

 10. 我们首先获取RDS数据库的读写URL节点

11. 再通过MySQL客户端连接MySQL数据库,需要把"[mysql endpoint here!]"替换成RDS读写URL节点

mysql -h [mysql endpoint here!] -P 3306 -u awsuser -p 

在MySQL中更新表/数据并检查下游数据 

12. 我们利用MySQL客户端执行如下DDL和DML操作,分别创建数据库”zeroetl“,创建新表”timeseries“和插入一条数据”abcd“

create database zeroetl;
use zeroetl;

CREATE TABLE timeseries (
        id BIGINT AUTO_INCREMENT PRIMARY KEY,
        timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        random_chars CHAR(5)
);
INSERT INTO timeseries (random_chars) VALUES ('abcd');

13. 接下来我们进入RedShift的查询控制台,执行SQL查询语句

14. 我们运行以下SQL命令查询从MySQL中通过ETL同步到RedShift的数据

    set search_path to zeroetl;
    select *, (CURRENT_TIMESTAMP - timestamp) as latency_secs from timeseries order by timestamp desc;

15. 我们再通过其他的DML/DDL操作在MySQL中对数据进行修改

    use zeroetl;

    create table schema_evolution(
        id BIGINT AUTO_INCREMENT PRIMARY KEY, 
        timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 
        i integer, 
        c char(5)
    );

    insert into schema_evolution(i, c) values(1, 'abcde');
    insert into schema_evolution(i, c) values(2, 'abcde');

16. 通过以下命令验证ETL数据同步的一致性,可以看到数据/表已经变成我们刚刚修改的内容了

    set search_path to zeroetl;

    select * from schema_evolution;

 17. 数据从MySQL到RedShift的同步会有一些延迟,可通过下述 SQL 查看系统表集成同步过程,确定同步是否完成

select * from SVV_INTEGRATION_TABLE_STATE where table_name = 'schema_evolution';

通过控制台监控查看ETL任务健康指标和运行状态

18. 在RedShift主页的控制台中,我们在左侧进入” 零ETL集成“功能界面,点击我们在本系列上篇中创建的Zero-ETL任务

19. 进入到任务页面中,我们就可以看到零ETL任务的各项具体参数信息,以及下方的监控指标、运行状态了

 

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2123594.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java解决Jira单点登录、登出思路介绍

说明: 当前环境的Jira是容器部署的,所以方案中的整个流程是在docker环境下进行分析。且方案为解决思路或者说解决方式的一种,仅供参考,不喜勿喷。当然依然存在个别问题,没能完全优化完,想了解的可以直接看最…

【小中大 / 1】

题目 、 代码 #include <bits/stdc.h> using namespace std; const double eps 1e-8; const int N 1e510; int a[N]; int main() {int n;cin >> n;for(int i 1; i < n; i){cin >> a[i];}sort(a1, an1);int maxx a[n], minn a[1];double midd;if((1…

Mac OS14外接显示器字体过小和放大字体模糊问题的简单解决

文章目录 问题简述解决方法 问题简述 使用Mac mini外接2K 显示器时&#xff0c;默认分辨率是25601440&#xff0c;字体较小&#xff0c;如果切换成19201080&#xff0c;字体又变大模糊。 解决方法 使用HiDP I&#xff08;一种显示技术&#xff0c;使用多个物理像素显示1个像…

一款好用的电子样本册转换器

在数字化时代&#xff0c;电子样本册已成为各行各业必备的工具。一款好用的电子样本册转换器&#xff0c;可以让你在繁杂的资料管理中轻松解脱。今天&#xff0c;就为大家推荐一款实用的电子样本册转换神器&#xff0c;让你的工作效率翻倍&#xff01; 工具推荐&#xff1a;FLB…

做好职业规划,绘制璀璨蓝图!

我们来聊一聊如何做好职业规划&#xff0c;建立自己奋斗的目标和计划。 1、使用 SWOT 模型分析自己的现状 SWOT 分析通过对自己的优势、劣势、机会和威胁加以综合评估&#xff0c;做一个合理的自我分析&#xff0c;帮助我们更清楚地分析自己的现状&#xff0c;发现自身的优势和…

GenAI 客户支持 — 第 3 部分:为人类设计聊天机器人的聊天界面

作者&#xff1a;Ian Moersen 本博客系列揭示了我们的现场工程团队如何使用 Elastic stack 和生成式 AI 开发出一款可爱而高效的客户支持聊天机器人。如果你错过了本系列的其他文章&#xff0c;请务必查看第一部分、第二部分和第四部分。 通过 Web 应用聊天的想法已经存在了很长…

[AHK]ListBox的增删改移等操作示范

ahk v1 中对ListBox的操作&#xff1a;增、删、改、上移、下移等操作。 #singleinstance forcetitle ListBox 例子gui,add,listbox,xm ym w100 r20 vLB choose1 gLBevent,电话|聊天|拍拖|表白|订婚|礼金|礼盒 gui,add,edit ,xm yp250 w200 vEDT -background gui,add,butto…

c++数据结构算法题讲解

那么从本期文章开始&#xff0c;会尽量带大家一起刷题 第一题 题目 关键词 思路 源代码 class MinStack { public: void push(int val) { _st.push(val); if(_minst.empty() || val < _minst.top()) { _minst.push(val); } } void pop() { if(_st.top() _minst.top()) {…

ld_addr + UAF漏洞修复

文章目录 ciscn 2023中一条新的IO链例题&#xff1a;思路&#xff1a;分析&#xff1a;利用&#xff1a; 如何修复UAF漏洞 ciscn 2023中一条新的IO链 如果vtable check不通过&#xff0c;会走_dl_addr&#xff0c;在 _dl_addr中会调用到 在exit_hook中利用的那个函数指针&#…

LCD彩条显示——FPGA学习笔记10

部分素材来自原子哥 一、LCD简介 基本原理&#xff1a;在两块平行玻璃板中填充液晶材料&#xff0c;通过电场控制液晶分子旋转从而达到透光和遮光的目的。 LCD屏幕重要参数&#xff1a;分辨率、像素格式、驱动时序 分辨率&#xff1a; 像素格式&#xff1a; RGB&#xff1a;…

C++第四节课 - 内联函数 + 初认类

一、auto关键字 C中可以使用typeid打印变量的类型 #include<iostream> using namespace std;int main() {int a 0;int b a;auto c a;auto d 1 1.11;cout << typeid(c).name() << endl;cout << typeid(d).name() << endl;return 0; } 但是上…

ActiveMQ 的网络连接及消息回流机制

1、ActiveMQ 的网络连接 activeMQ 如果要实现扩展性和高可用性的要求的话&#xff0c;就需要用用到网络连接模式。 NetworkConnector&#xff1a;主要用来配置 broker 与 broker 之间的通信连接 如上图所示&#xff0c;MQ 服务器1 和MQ 服务器2 通过 NewworkConnector 相连&…

PhotoZoom 9安装包下载-图片无损放大编辑PhotoZoom 9 Pro软件安装

PhotoZoom 9 Pro是一款专业的图像放大软件&#xff0c;旨在提供高质量的图像放大和改进功能。适用于摄影师、设计师、印刷专业人员以及任何需要将图像放大到更大尺寸并保持高质量的用户。它使用先进的放大算法&#xff0c;能够有效地处理不同类型的图像&#xff0c;并在保持细节…

使用切换 JDK 的方式优化部署微服务占用内存过高的问题

使用切换 JDK 的方式优化部署微服务占用内存过高的问题 一、前言二、下载 J9 虚拟机的JDK三、切换 JDK1、上传到服务器2、解压3、修改 JDK 路径4、解决 JDK 没有切换成功的问题 一、前言 前段时间在服务器部署了微服务项目&#xff0c;但即使限制了每个服务的堆&#xff0c;内…

苹果首款AI手机发布!iPhone 16全新AI功能体验感拉满

苹果于2024年秋季盛大发布iPhone 16系列&#xff0c;带来前所未有的AI智能体验。iPhone 16系列不仅硬件全面升级&#xff0c;更融入了尖端的AI技术&#xff0c;为用户带来更加智能化的生活体验。 在科技春晚的舞台上&#xff0c;苹果不负众望地揭开了iPhone 16系列的神秘面纱。…

【贪心算法】(一)贪心算法理论及基础习题

【贪心算法】贪心算法理论及基础习题&#xff08;一&#xff09; 理论基础简单例题分发饼干K次取反后最大化的数组和柠檬水找零买卖股票的最佳时机 Ⅱ单调递增的数字摆动序列 两个纬度权衡问题分发糖果根据身高重建队列 理论基础 什么是贪心&#xff1a; 贪心的本质是选择每一…

[N-152]基于java贪吃蛇游戏5

开发工具eclipse,jdk1.8 文档截图&#xff1a; N-152基于java贪吃蛇游戏5

通过Python调用Excel VBA宏:扩展自动化能力的深度探索

目录 1. 引言 1.1 自动化办公的重要性 1.2 Python与Excel VBA的结合优势 2. Python调用Excel VBA宏的基本原理 2.1 Excel VBA宏的基本概念 2.2 Python调用VBA宏的方法 3. 安装与准备 3.1 安装pywin32库 3.2 配置Excel以允许宏运行 4. Python调用VBA宏的实例 4.1 导出…

基于单片机的室内装修环境检测系统设计

基于单片机的室内装修环境检测系统&#xff0c;该系统可实现苯、甲醛、氨气等有害气体的浓度检测和超标报警。该系统以STC89C52RC单片机为核心&#xff0c;由传感器检测室内装修环境中苯、甲醛、氨气的浓度以及温湿度&#xff0c;将以上测量出来的数据传送到PCF8591转换器&…

Java+vue的医药进出口交易系统(源码+数据库+文档)

外贸系统|医药进出口交易系统 目录 基于Javavue的服装定制系统 一、前言 二、系统设计 三、系统功能设计 仓储部门功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农|毕设…