近年来,各级政府和企业响应数字化转型的号召,都已开始或者即将开始数字化转型。各类企业通过前期的业务线上化、信息化,积累了大量数据,而数字化转型就是要聚合这些数据,进行深入挖掘分析,用数据来驱动业务,用数据来支撑决策、用数据来推动业务和商业模式创新、推动业务流程优化,进而实现降本增效。
要实现数据价值,建设数据仓库是在数字化转型过程中不得不面对的一项任务。数据仓库汇聚各个业务部门数据,避免数据孤岛,使数据真正成为整个企业的数据,而不是某个部门的数据。
数据仓库的技术架构包括离线数仓和实时数仓或准实时数仓。离线数仓已发展多年,当前已无法完全满足企业在竞争中脱颖而出的发展需求,实时数仓越来越多成为企业建设数据仓库的首选。然而由于实时数仓对实时性的严格要求,实现实时数仓的技术难度远远大于离线数仓,一些现有的实时数仓架构,只能实现准实时,而且无法解决削峰平谷、无感扩展等问题。
本文为大家提供一种高效的实时数仓架构:基于亚马逊云科技 Serverless 架构的实时数仓架构。
实时数仓常见场景与亚马逊云科技的做法赏析
我们先来赏析一下常见的实时数仓场景,以及亚马逊云科技Serverless架构的实时数仓成功落地的案例:
1、APP 埋点数据实时采集与分析(比如:实时智能推荐、实时欺诈检测)
在此,我们以智能推荐场景为例:根据用户历史的购买或浏览行为,通过推荐算法预测用户兴趣与需要,并从海量推荐资产(可能是短视频、广告、动图)中挑选最合适的进行推送。推荐系统在飞速发展,对时延的要求也越来越苛刻和实时化。往往业务方希望客户在使用App(或浏览网页)时,就能基于当前行为和历史数据进行动态推荐。
数据来源一般为App埋点采集和历史浏览数据、消费数据、和广告资产等。
常见做法:流式ETL与数据同步与传输可能会用到Flume、Kafka等工具,计算有可能会采用ClickHouse、Flink、Spark等大数据计算工具。数据源端和数据消费端就五花八门一些,在此不作展开。(同样的技术架构也出现在实时欺诈检测等场景中)
我们来看一下亚马逊云科技的案例:使用 Amazon Kinesis Data Streams (流式数据接入产品,Amazon KDS)实时接入 APP 埋点数据到 Amazon Redshift(云原生数据仓库) 中,用于指标分析和 BI 展现。支持高达30万/秒的数据摄入速率,延迟小于10秒;在数据实时摄入数仓的同时,支持高并发实时查询,支持大宽表多表关联,复杂聚合等各种 SQL 查询,查询结果秒级响应。
图1 实时数仓架构--APP 埋点数据实时采集与分析
2、RDBMS CDC+KDS+Amazon Redshift Serverless(实时BI报表、复杂事件处理)
在这个案例中,主要采集源头日志数据和 RDS 结构化数据的变更数据动态捕获(Change Data Capture,CDC)。这是一个数据仓库非常常见的需求,外部数据库系统(账户、存款、制造、人力资源等)作为数据源时,业务团队需求需要CDC日志数据动态接入数据仓库,实现实时的分析需求,比如实时BI报表、复杂事件处理(应急响应)。
CDC日志数据通过 Amazon Kinesis 实时发送到 Amazon KDS,经过流处理后,结果写入 RDS,并提供 API 的方式供第三方查询。同时,Amazon Redshift可以直接消费 Kinesis 数据,用于查询分析,整体延迟小于30秒。
CDC日志采集方式支持多种,包括 Amazon DMS、Debezium、Flink CDC、Canal 等,采集数据写入Kinesis后,接着使用 Amazon Redshift Streaming Ingestion 功能将CDC数据实时写入 Amazon Redshift。
图2 实时数仓--RDBMS CDC+KDS+Amazon Redshift Serverless
经典解决方案—借助Amazon Redshift打造云原生数仓
在继续开展下文前,需要介绍一个无法绕过的产品——Amazon Redshift ,一种快速、可扩展、安全且完全托管的云数据仓库,可以帮助用户通过标准 SQL 语言简单、经济地分析各类数据。
无论是构建传统数据仓库架构还是实时数仓架构,借助Amazon Redshift用户都可以一站式的进行部署。相比其他云数据仓库,Amazon Redshift 可实现高达三倍的性能价格比。数万家客户正在借助 Amazon Redshift 每天处理 EB 级别的数据,借此为高性能商业智能(BI)报表、仪表板应用、数据探索、实时分析和等分析工作负载以及机器学习、数据挖掘提供强大动力。Amazon Redshift支持ACID事务特性、ANSI SQL标准、JDBC/ODBC 连接协议的 MPP 架构列式存储数据仓库。Amazon Redshift 不仅可以基于自身内部表进行数据分析,还可以查询 Amazon S3 中的数据,S3 是一项具备极致弹性的对象存储,它已经成为了云上数据湖事实上的标准,既可以存储结构化数据,也可以是半结构化数据、非结构化数据。Redshift与S3 可以无缝结合,实现智能湖仓架构。
图3 Amazon Redshift Serverless 架构
实时数仓架构要解决的问题
良好的实时数仓架构,可以解决以下四方面的问题:数据实时接入、数据实时分析、数据实时输出。
Serverless 架构不仅弥补了传统离线数仓的不足,而且完美解决了上述四方面的问题,先看下整体实时数仓架构图:
图4 亚马逊云科技 Serverless实时数仓架构图
Serverless 实时数仓架构采用 Amazon KDS(Amazon Kinesis Data Streams) + Amazon Redshift Serverless+Redshift ML+S3 技术产品组合,KDS 负责数据的实时接入,Redshift Serverless+Redshift ML+S3 负责"智能湖仓"的落地,实现数据实时分析、实时输出、实时预测。同时,Redshift Serverless 架构,运维简单,按需计费,降本增效,将客户从纷繁复杂的架构搭建、监控、运维中解放出来,专注于数据查询分析,数据价值挖掘,实现数据驱动决策。
图5 Amazon Database Migration Service (Amazon DMS) 迁移数据到智能湖仓
对于非结构化数据,传统实时接入方式是扫描指定目录,将新增文件写入文件系统(HDFS、Amazon S3 等),然后开发程序解析文件,写入数据库表中。然而,采用亚马逊云科技提供的 DMS+S3+Redshift 方式,无需开发数据解析程序,只需通过简单的配置,即可实现数据入写 S3,Redshift 可与 S3 完美集成,即数据进入 S3,即可在 Redshift 中查询分析。
图6 Amazon Redshift Data API
Serverless 实时数仓架构的优势
成熟的技术架构,可以大大降低企业的人力和财力成本。传统的实时数仓架构(采用托管服务器的方式),无法实现削峰平谷。以电商行业为例,实时数仓架构的服务器资源,必须能够应对数据高峰(各类大型活动、促销与其他不可预测的工作负载)带来的压力,所以硬件采购往往是按资源峰值采购的,结果是大部分资源在大部分时间都是闲置的,无形提高了企业成本;传统实时数仓架构,无法实现无感扩展,即服务器集群节点的增加和减少,会增加运维人员工作量,可能会带来业务的暂停。总的来说,Serverless 实时数仓架构的优势包括如下几点:
10月亚马逊云科技中国峰会《智能湖仓 统一分析》 分论坛上,将首次揭秘智能湖仓2.0, 讲述如何打破数据孤岛,跨数据库、数据湖、数据分析和机器学习,释放数据价值,助力企业更好做出决策。感兴趣的朋友可以“点击此处”或扫描海报上二维码报名参会!
好文章,需要你的鼓励
OpenAI 本周为 ChatGPT 添加了 AI 图像生成功能,用户可直接在对话中创建图像。由于使用量激增,CEO Sam Altman 表示公司的 GPU "正在融化",不得不临时限制使用频率。新功能支持工作相关图像创建,如信息图表等,但在图像编辑精确度等方面仍存在限制。值得注意的是,大量用户正在使用该功能创作吉卜力动画风格的图像。
Synopsys 近期推出了一系列基于 AMD 最新芯片的硬件辅助验证和虚拟原型设计工具,包括 HAPS-200 原型系统和 ZeBu-200 仿真系统,以及面向 Arm 硬件的 Virtualizer 原生执行套件。这些创新工具显著提升了芯片设计和软件开发的效率,有助于加快产品上市速度,满足当前 AI 时代下快速迭代的需求。
人工智能正在深刻改变企业客户关系管理 (CRM) 的方方面面。从销售自动化、营销内容生成到客服智能化,AI不仅提升了运营效率,还带来了全新的服务模式。特别是自主代理AI (Agentic AI) 的出现,有望在多渠道无缝接管客户服务职能,开创CRM发展新纪元。
数据孤岛长期困扰着组织,影响着人工智能的可靠性。它们导致信息分散、模型训练不完整、洞察力不一致。解决方案包括实施强大的数据治理、促进跨部门协作、采用现代数据集成技术等。克服数据孤岛对于充分发挥AI潜力至关重要。