阿里云PB级实时数仓建设

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 摘要 如今,数据和分析对于企业来说是不可或缺的。很多企业的数据工程师、数据分析师和开发人员都希望将数据仓库迁移到云上,以提高性能和降低成本。本文讨论了实现实时数据仓库的必要性和实时数据模型,介绍了基于AnalyticDB构建阿里云实时数据仓库解决方案的方法和优势。

摘要

如今,数据和分析对于企业来说是不可或缺的。很多企业的数据工程师、数据分析师和开发人员都希望将数据仓库迁移到云上,以提高性能和降低成本。本文讨论了实现实时数据仓库的必要性和实时数据模型,介绍了基于AnalyticDB构建阿里云实时数据仓库解决方案的方法和优势。

为什么构建数据仓库

为什么要构建数据仓库,而不是直接在OLTP数据库上运行分析查询?为了回答这个问题,我们先来看下数据仓库与 OLTP 数据库之间的差别。数据仓库主要是针对批量写入和大量数据的读取操作,而OLTP数据库是针对持续写入操作以及大量的小规模读取操作。通常,数据仓库会因较高的数据吞吐量要求而使用非规范化模型,如星型模型和雪花模型。星型架构包含多个引用大量维度表的大型事实数据表。雪花型架构是星型架构的扩展,包含更加规范化的维度表。而OLTP数据库则使用高度规范化的模型,更适合高事务吞吐量的要求,对于复杂查询的性能很难满足用户要求。

为什么构建实时数仓

传统的离线数据仓库将业务数据集中进行存储后,以固定的计算逻辑定时进行ETL和其它建模后产出报表等应用。离线数据仓库主要是构建T+1的离线数据,通过定时任务每天拉取增量数据,然后创建各个业务相关的主题维度数据,对外提供T+1的数据查询接口。计算和数据的实时性均较差,业务人员无法根据自己的即时性需要获取几分钟之前的实时数据。数据本身的价值随着时间的流逝会逐步减弱,因此数据发生后必须尽快的达到用户的手中,实时数仓的构建需求也应运而生。

实时数据仓库模型架构

image

实时数据仓库是用于保存从一个或多个数据源获取到的信息的中央存储库。数据通常从事务系统和其他关系数据库传输到数据仓库中,而且一般包括结构化、半结构化和非结构化的数据。这些数据将会每小时或者每分钟处理、转换和提取。科学家、业务分析师和决策者会通过BI工具、SQL客户端或者电子表格来进行数据挖掘、数据分析、报表展示或即席查询等操作。

什么是AnalyticDB

几年前阿里云就意识到实时数据仓库的必要性,2015年AnalyticDB肩负这阿里云实时数据仓库的使命上线公共云。AnalyticDB是阿里云上唯一经过核心业务和超大数据量验证的实时数据仓库,其稳定性、规模性和性能是不容置疑的。

AnalyticDB采用行列混存MPP技术,突破OLTP和传统数据仓库技术壁垒,最大优势是可以构建PB数据量下高性能和经济实用的数据仓库。全面兼容MySQL协议以及SQL:2003 语法标准,用户只需对现有业务进行少量更改,甚至不需要进行任何更改,即可把业务全部迁移到AnalyticDB上来。因此,它已成为当今企业构建数据仓库和OLAP系统的理想选择。

实时性

前面介绍说离线数据仓库计算和数据的实时性均较差,业务人员无法根据自己的即时性需要获取几分钟之前的实时数据。那么,AnalyticDB同时具有:

  • 计算的实时性,计算在用户查询时发生,可自由变换和快速查询;
  • 数据的实时性,数据产生插入AnalyticDB后1s-3s内就可以查询到(也可以提工单开启强一致,写入即可查)。

可以让业务人员在几秒钟甚至几百毫秒的时间内获取到包含最近几分钟内的数据计算结果,以最大的灵活度应对千变万化的业务挑战。

成本低

AnalyticDB不要求长期订阅,也不需要提前支付费用。利用此定价方法,在出现相应的需求之前,用户不必为规划和购买数据仓库容量而产生的资本费用以及由此带来的复杂性而头疼,根据购买的资源模型和数目收费。用户可以根据需求从使用按量付费的小规模数据仓库(每小时1.6元)开始,然后再逐步扩展到TB和PB级(每年每TB最低14125元)。
另外,在即将到来的AnalyticDB 3.0中用户可以使用最高与配置存储同等大小的备份存储,而不需要额外支付费用,一起期待3.0的到来吧。

动态扩展

传统的数据仓库难以扩展,当数据量增加或者需要向更多用户提供分析和报告时,用户要么选择接受较低的查询性能,要么选择在成本高昂的升级过程中投入更多的人力和物力。
AnalyticDB的扩展只需在控制台中点击几次或者使用一个API调用,用户就能在性能或容量需求发生变化时轻松地更改数据仓库中的节点的数量和类型。使用AnalyticDB,用户能够从最低180GB的单个节点开始,通过添加多个节点进行扩展,一直到1PB甚至更高容量。整个过程中用户可以正常进行在线查询和海量写入操作,业务完全无感知,不受影线。

多维复杂分析

AnalyticDB可以进行复杂的自由计算,他摒弃了传统数据库索引加速方式,默认全索引方式,用户全部精力关注在如何能够提取数据并在多个维度上敏锐地观察趋势。由于AnalyticDB已针对快速JOIN行优化,因此用他构建OLAP系统是非常合适的。

真实数据

AnalyticDB提供了单库PB级数据实时分析能力。以下是生产环境的真实数据:

  • 阿里巴巴集团某营销应用单DB表数超过20000张
  • 云上某企业客户单DB数据量近3PB,单日分析查询次数超过1亿
  • 阿里巴巴集团内某单个AnalyticDB集群超过2000台节点规模
  • 云上某业务实时写入压力高达1000w TPS
  • 菜鸟网络某数据业务极度复杂分析场景,查询QPS 100+

为什么选择AnalyticDB

数据仓库建设无论采用哪种方式,数据收集、处理、分析和存储都不可能放在一个产品中实现,需要多个其他产品配合使用。下面列举各个过程中常用的产品,

  • 数据收集:kafka、flume或者sync;
  • 数据处理:hive、storm或者spark;
  • 数据存储:hadoop、hbase,ES或者redis;

抛开性能和时效性考虑,多一个产品就多一些出现问题的几率,如果各个产品处理问题低效,直接影响数据仓库上线时间,影响企业未来。

前面我们介绍了AnalyticDB的一些功能,这些功能使AnalyticDB成为数据仓库的理想之选。除了上述特征外,还有一个重要的原因是:AnalyticDB可以集数据收集、处理、分析和存储于一体。链路简单,业务联调时间短,上线快。提高数据时效性的同时也节省了开发上线时间和运维时间,给企业带来的红利是非常明显的。为了说明如何使用AnalyticDB设计数据仓库工作流程,下面我们来看一看最常见的设计模式。

阿里云PB级实时数仓建设

image

数据收集

在数据收集阶段,第一点需要考虑的是用户可能具有不同类型的数据,如事务数据、日志数据、流数据和物联网 (IoT) 数据。AnalyticDB针对上述每种数据提供了数据收集解决方案。另外一点要需要考虑的是抽取频次,传统离线数据仓库会采用避开高峰期时间每天抽取一次,最快也只能做到小时级别的抽取。AnalyticDB可以做到高并发实时写入,3s内即可查。

业务数据

  • 对于数据源为关系型数据库(如阿里云RDS)而言,可以通过数据传输服务(Data Transmission Service) 将全量和增量数据实时同步到AnalyticDB中。
  • 业务系统也可以直接对接AnalyticDB,通过JDBC把数据直接写入数据库中。同时,AnalyticDB提供了一种更加高效和简单地insert数据到AnalyticDB的方法-ADB Client ADK。用户只需要通过接口将数据提交给ADB Client,无需关心分区聚合、连接池等问题。

日志数据

  • 对于日志数据而言,可以通过logstash把日志数据实时同步到AnalyticDB中。
  • 对于存储在阿里云日志服务(SLS)上的日志数据,用户可以选择把数据实时投递到AnalyticDB。

对象存储数据

  • 对象存储OSS上的数据可以通过AnalyticDB的COPY功能快速迁移到数据库中,迁移方式比较自由,用户可以选择某个文件迁移也可以整个目录迁移。

本地数据

  • AnalyticDB提供了Uploader工具,可以将本地CSV和text文件数据导入到AnalyticDB中。也支持某个文件或者目录整体文件导入。

数据处理

通过数据收集过程,用户数据进入到AnalyticDB中了,已经获得可能包含有价值信息的数据。所谓数据处理就是把不需要的和不符合规范的数据进行处理,或者通过数据处理把小表组成大宽表。数据处理最好不要放在数据收集的环节进行,考虑到有时可能会查原始数据。
AnalyticDB提供多种数据处理方式:CTE,查询方式复制表(INSERT INTO......SELECT FROM),CREATE TABLE AS(AnalyticDB 3.0支持),CREATE TABLE LIKE(AnalyticDB 3.0支持)等。如下举例说明AnalyticDB数据处理的场景:

  • 空值处理:根据业务需要,可以将空值替换为特定的值或者直接过滤掉;
  • 验证数据正确性:主要是把不符合业务含义的数据做一处理,比如,把一个表示数量的字段中的字符串替换为0,把一个日期字段的非日期字符串过滤掉等等;
  • 规范数据格式:比如,把所有的日期都格式化成yyyy-MM-dd HH:mm:ss的格式等;
  • 数据标准,统一:比如在源数据中表示男女的方式有很多种,在数据收集时候,直接根据模型中定义的值做转化,统一表示男女;

可以配合阿里云上DataWorks作为任务管理工具,可以进行实时数据仓库的数据处理过程,详细步骤

数据存储

AnalyticDB可以进行低成本数据存储,公共云上售卖的资源模型有两种:

  • 以字母C开头的为高性能实例,适用于对性能要求高、查询并发高的业务场景。
  • 以字母S开头的为大存储实例,适用于并发稍低,性能要求不高的(接受超过10s以上查询)的业务。还有一个最大的特点是价格低,每年每TB最低14125元。

数据分析

传统数据仓库一般使用OLTP数据库如MySQL进行加速,一般将数据处理与OLTP系统分离,使数据处理不会影响到 OLTP工作负载。但随着数据量的增长OLTP数据库会成为严重的系统瓶颈。通过AnalyticDB进行分析,当不能满足性能和存储要求时,可以随时进行横向和纵向扩展(扩容和升配),变换过程中业务完全不受影响,不用避开高峰期。

写在最后

我们发现数据仓库正在发生战略性的转移,企业正在将其分析数据库和解决方案从本地解决方案迁移到云。由于数据的价值时效性,越来越多的企业都想在云上寻找一款同时具有简单性、高性能和高成本效益的实时数据仓库。目前AnalyticDB正在进行15天免费使用活动,如果您有兴趣进一步了解,可以提交免费申请,开启您的实时大数据之旅。

相关实践学习
基于Hologres轻量实时的高性能OLAP分析
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres进行分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多个维度了解GitHub实时数据变化情况。
目录
相关文章
|
18天前
|
存储 人工智能 OLAP
AI Agent越用越笨?阿里云AnalyticDB「AI上下文工程」一招破解!
AI 上下文工程是管理大模型输入信息的系统化框架,解决提示工程中的幻觉、上下文溢出与信息冲突等问题。通过上下文的采集、存储、加工与调度,提升AI推理准确性与交互体验。AnalyticDB PostgreSQL 版提供增强 RAG、长记忆、Supabase 等能力,助力企业构建高效、稳定的 AI 应用。
|
4月前
|
运维 算法 机器人
阿里云AnalyticDB具身智能方案:破解机器人仿真数据、算力与运维之困
本文将介绍阿里云瑶池旗下的云原生数据仓库AnalyticDB MySQL推出的全托管云上仿真解决方案,方案采用云原生架构,为开发者提供从开发环境、仿真计算到数据管理的全链路支持。
|
16天前
|
存储 人工智能 OLAP
AI Agent越用越笨?阿里云AnalyticDB「AI上下文工程」一招破解!
AI上下文工程是优化大模型交互的系统化框架,通过管理指令、记忆、知识库等上下文要素,解决信息缺失、长度溢出与上下文失效等问题。依托AnalyticDB等技术,实现上下文的采集、存储、组装与调度,提升AI Agent的准确性与协同效率,助力企业构建高效、稳定的智能应用。
|
2月前
|
存储 人工智能 关系型数据库
阿里云AnalyticDB for PostgreSQL 入选VLDB 2025:统一架构破局HTAP,Beam+Laser引擎赋能Data+AI融合新范式
在数据驱动与人工智能深度融合的时代,企业对数据仓库的需求早已超越“查得快”这一基础能力。面对传统数仓挑战,阿里云瑶池数据库AnalyticDB for PostgreSQL(简称ADB-PG)创新性地构建了统一架构下的Shared-Nothing与Shared-Storage双模融合体系,并自主研发Beam混合存储引擎与Laser向量化执行引擎,全面解决HTAP场景下性能、弹性、成本与实时性的矛盾。 近日,相关研究成果发表于在英国伦敦召开的数据库领域顶级会议 VLDB 2025,标志着中国自研云数仓技术再次登上国际舞台。
262 0
|
3月前
|
存储 人工智能 分布式计算
数据不用搬,AI直接炼!阿里云AnalyticDB AI数据湖仓一站式融合AI+BI
阿里云瑶池旗下的云原生数据仓库AnalyticDB MySQL版(以下简称ADB)诞生于高性能实时数仓时代,实现了PB级结构化数据的高效处理和分析。在前几年,为拥抱大数据的浪潮,ADB从传统数仓拓展到数据湖仓,支持Paimon/Iceberg/Delta Lake/Hudi湖格式,为开放的数据湖提供数据库级别的性能、可靠性和管理能力,从而更好地服务以SQL为核心的大规模数据处理和BI分析,奠定了坚实的湖仓一体基础。
|
4月前
|
存储 人工智能 关系型数据库
从“听指令”到“当参谋”,阿里云AnalyticDB GraphRAG如何让AI开窍
阿里云瑶池旗下的云原生数据仓库 AnalyticDB PostgreSQL 版 GraphRAG 技术,创新融合知识图谱动态推理+向量语义检索,通过实体关系映射与多跳路径优化,构建可应对复杂场景的决策引擎。本文将通过家电故障诊断和医疗预问诊两大高价值场景,解析其如何实现从“被动应答”到“主动决策”的跨越。
|
5月前
|
分布式计算 运维 监控
Fusion 引擎赋能:流利说如何用阿里云 Serverless Spark 实现数仓计算加速
本文介绍了流利说与阿里云合作,利用EMR Serverless Spark优化数据处理的全过程。流利说是科技驱动的教育公司,通过AI技术提升用户英语水平。原有架构存在资源管理、成本和性能等痛点,采用EMR Serverless Spark后,实现弹性资源管理、按需计费及性能优化。方案涵盖数据采集、存储、计算到查询的完整能力,支持多种接入方式与高效调度。迁移后任务耗时减少40%,失败率降低80%,成本下降30%。未来将深化合作,探索更多行业解决方案。
282 1
|
5月前
|
SQL 存储 缓存
海量数据分页查询效率低?一文解析阿里云AnalyticDB深分页优化方案
本文介绍了AnalyticDB(简称ADB)针对深分页问题的优化方案。深分页是指从海量数据中获取靠后页码的数据,常导致性能下降。ADB通过快照缓存技术解决此问题:首次查询生成结果集快照并缓存,后续分页请求直接读取缓存数据。该方案在数据导出、全量结果分页展示及业务报表并发控制等场景下表现出色。测试结果显示,相比普通分页查询,开启深分页优化后查询RT提升102倍,CPU使用率显著降低,峰值内存减少至原方案的几分之一。实际应用中,某互联网金融客户典型慢查询从30秒优化至0.5秒,性能提升60+倍。
353 1
|
6月前
|
SQL 关系型数据库 MySQL
客户说|保险极客引入阿里云AnalyticDB,多业务场景效率大幅提升
“通过引入AnalyticDB,我们在复杂数据查询和实时同步方面取得了显著突破,其分布式、弹性与云计算的优势得以充分体现,帮助企业快速响应业务变化,实现降本增效。AnalyticDB的卓越表现保障了保险极客数据服务的品质和效率。”

热门文章

最新文章

相关产品

  • 云原生数据仓库AnalyticDB MySQL版