1、离线数仓般的实时开发体验
随着信息技术的发展和互联网的普及,业务的时效性越来越高,在数据分析领域,对数据的时效性要求也越来越高。更多的业务开始从传统的基于批处理的离线模式,转向基于流式处理的实时模式。基于流处理引擎+OLAP数据库构建实时数据解决方案有以下劣势:1)离线和实时数仓两套架构,代码难以复用,开发和运维成本高;2)对复杂的分析业务支持有限,如和大的离线维度表关联、多层嵌套、历史数据的回溯等支持度弱;3)Debug成本高,需要排查组件多,同时需要对各种新概念如窗口函数深度理解才能找到根因。AnalyticDB for PostgreSQL 提供了流批一体引擎,基于实时数据集成服务和增量实时物化视图构建实时数仓,实现一套系统、一份数据、一次写入,即可在数仓内完成实时数据源头导入到实时分析全流程。您可以将离线任务SQL代码简单修改即可上线实时任务,就像开发离线数仓一样体验。为了进一步简化实时数仓的开发和运维难度,AnalyticDB for PostgreSQL 正式上线企业数据智能平台,让您实现全流程可视化开发、运维和数据洞察,
2、销售订单数据分析
2.1 流批结合场景
在实际业务场景中,数据的时效性要求越来越高,传统的离线数据有较高的延迟不能满足快速的业务决策需求。下面我们通过一个简单的“超市销售订单数据分析”Demo来演示基于 AnalyticDB for PostgreSQL 开发流和批结合的任务,来实践实时数仓在企业数据智能平台上的开发及数据洞察体验。
实践任务描述:
业务数据库产生实时追加的“订单”信息,通过实时数据集成将数据集成到 AnalyticDB for PostgreSQL 实时数仓中形成订单明细表;客户、商品和门店的维表信息都是每小时定时更新。需要通过增量实时物化视图,融合实时订单数据以及定时更新的维表数据,快速构建t_order_wide视图并分析门店销售订单汇总情况。本次实践使用 AnalyticDB for PostgreSQL 企业数据智能平台,该平台是数据资产定义、加工、管理、服务的全流程平台,提供数据同步、数据查询、数据建模、数据开发、质量评估、资产管理等功能,为智能数据应用持续稳定供给全量、标准、干净、智能的数据资源。
2.2 关键步骤
- 00:00 登录 AnalyticDB for PostgreSQL 企业数据智能平台
- 00:26 数据查询
- 00:33 流、批数据任务开发
- 01:26 增量实时物化视图的运维监控
- 02:31 实时洞察分析
3、核心技术优势
3.1 AnalyticDB for PostgreSQL 流批一体引擎
3.1.1 架构领先、成本最优
目前业界内最主流的发展方向是Stream warehouse,主旨是让用户更专注于业务,而不是关心数据的开发链路,同时更易用能将SQL代码轻松改造成实时任务。AnalyticDB for PostgreSQL 早在几年前就开始进行技术积累和场景验证,具备了可用于生产的高可靠方案。相比当下采用流处理引擎+OLAP数据库的方案,AnalyticDB for PostgreSQL 可以让用户无需关心数据刷新对下游的影响,由流批一体引擎保障数据实时性、准确性和一致性。同时依赖组件少,因此在开发、运维、稳定性上更优。一站式实时数仓的开发和数据流转都在仓内完成,无需多套系统间反复流转。整体来说:
1)成本:仅一份数据存储,仅一套系统部署,仅一次写入开销,整体资源成本最优;
2)性能:没有复杂的链路流转,资源开销低,并且数据延迟低;
3)开发:通常一套SQL开发即可,无需多系统适配联调等;
4)运维:只需要维护一套系统;
5)维护:数据异常排查便利,数据订正容易;
3.1.2 多数据源支持和增量实时物化视图
AnalyticDB for PostgreSQL 除了支持RDS业务数据库日志外,还支持丰富的数据源写入方式,可以高效完成入仓之后进行融合处理和融合查询:
1)对接RDS Binlog日志,实现业务数据准时地同步到实时数仓中
2)支持实时数据源如消息队列Kafka、RacketMQ、日志服务SLS等;
3)支持和实时流处理引擎对接,实现数据消费;
4)支持通过数据同步或读外表的形式将数据写入到 AnalyticDB for PostgreSQL 中
基于增量实时物化视图构建的实时处理链路,仅需要开发一份SQL,即可同时支持流式和批式数据处理。在实时物化视图首次创建时,是基于批处理的方式执行SQL,完成全量结果集的计算,之后在实时写入的过程中增量的流式维护SQL的结果集。并且可以支持针对只有部分数据需要实时更新,其余部分数据的变化只需要定时更新的场景,可以设置参与流式JOIN的部分表不参与实时更新,然后在合适的时候,通过Refresh的批方式,批量刷新定时更新的结果集。
(流批一体优势)
3.1.3 轻松兼容复杂批处理任务
实时数仓建设过程中的一大难点就是将原有的复杂批处理任务,转化为实时处理任务,通常来说批处理可以较为轻松地支持复杂的SQL语法,尤其是多重嵌套等复杂SQL,而流处理对SQL的语法的限制较多,AnalyticDB for PostgreSQL 基于传统数仓对复杂SQL查询支持的优势,相比流计算引擎可以在复杂批处理任务转化为实时处理任务时有更小的改造成本,甚至实践中很多客户的大部分批处理任务可以直接实时化。
3.1.4 支持无限窗口
数据库引擎,通常都是面向磁盘存储设计的,相比于基于内存设计的流计算引擎,可以更好的支持超大表的实时JOIN,尤其是多大表复杂的实时JOIN。基于AnalyticDB for PostgreSQL的实时物化视图,可以支持任意历史数据的回溯,不受窗口限制。对于历史数据的订正和回溯,实时物化视图非常便捷,只需要对原始数据做更新即可自动反映到实时链路中。
3.1.5 简易透明查询改写
传统的数仓分层,需要业务SQL显式指定访问预处理的结果集。而在一站式实时数仓内,实时分析和实时处理是合并在同一套系统内,可以相互打通和感知,轻松支持透明的查询改写。实时分析的业务可以在固定访问SQL不用变更的情况下,通过搭建和撤销实时处理链路,对实时分析进行加速和取消加速。依托数据库强大的优化器,不仅可以自动优选最优加速方案,还可以方便地进行冷热链路的切换和维护。
下图就是一个典型的透明查询改写的例子,业务SQL只需要固定访问基表进行聚合操作。优化器会自动优选通过实时物化视图定义的实时预聚合链路,方便地匹配最优groupby结果集,并且可以进行冷热链路切换,无需修改代码。
(透明查询改写)
3.2 企业数据智能平台优势
AnalyticDB for PostgreSQL 企业数据智能平台是基于阿里云产业智能最佳实践的数据管理、服务与分析平台,通过流批一体数据同步、异构计算混合编排调度、全局元数据图谱、无代码数据分析等核心技术,缩短数据智能到业务的距离,满足客户业务的多样性需求,帮助用户便捷、充分的使用数据,让数据产生业务价值。
3.2.1 全链路开发,数据加工更高效
- 一站式数据同步:支持多态异构数据的归集,流批一体数据同步,多种同步任务统一调度管理。
- 自动灵活的数据探查:数据表预览和自动探查,多种探查规则和算法,可快速实现表级别、字段级别探查结果图表化展示。
- 强大的数据加工能力:根据业务场景设计工作流,用户可以在一个统一的开发环境中开发不同类型的计算任务和算法服务,并设计整体任务的编排调度,保证开发和维护的效率。
- 可视化运维监控:实时了解多种任务进展,实例运行情况。
3.2.2 可视化洞察,数据分析更智能
AnalyticDB for PostgreSQL企业数据智能平台提供了多模态数据分析板块——“数据洞察”,针对不同数据类型提供编写脚本(SQL、Python)、可视化分析、自动化推荐、时空计算分析等能力,帮助用户快速挖掘数据资产价值。用户可以通过脚本及无代码配置方式一键获取分析结果,所见即所得。也可以根据需要自由编写脚本调整展示效果以快速获取数据、图表、地图分析结果。数据洞察提供的NL2SQL的能力,帮助用户大大提升数据分析效率。
说明:数据洞察功能目前邀测中,有需要的用户可以通过添加钉钉群(群号:51855001136)申请
4、开通和购买
AnalyticDB for PostgreSQL 企业数据智能平台目前在公共云已经正式发布上线,可以通过AnalyticDB for PostgreSQL控制台-数据平台进入购买,也可以在AnalyticDB for PostgreSQL官网进行购买。
说明:企业数据智能平台需要在购买AnalyticDB for PostgreSQL任意实例后开通并使用,暂不支持单独使用
4.1 购买链接
4.2 推荐配置
推荐购买企业数据智能平台 标准版 或 高级版
标准版、高级版支持流批一体,适配全链路可视化实时数仓开发场景,可以根据业务需求,按照任务实例规模来评估购买版本。数据洞察功能目前邀测中,有需要的用户可以通过添加钉钉群(群号:51855001136)申请。
说明:入门版适合离线数据集成、任务开发场景,适合体验产品或者少量数据开发任务作业。
4.3 产品的版本详细介绍
- 地域:企业数据智能平台-公共云版本支持华东1(杭州)、华东2(上海)、华北2(北京)、华南1(深圳)区域实例售卖
- 版本:分为入门版、标准版和高级版,详情如下表所示
说明:请选择与您的云资源(ECS、RDS、AnalyticDB for PostgreSQL、ACK等)相同地域,以获得更好的性能并减少网络打通费用
产品版本 |
入门版 |
标准版 |
高级版 |
|
版本选择建议 |
小型数据团队 |
中小型数据团队 |
中型数据团队 |
|
功能规格 |
数据同步 |
离线数据同步 |
离线数据同步 实时数据同步 配置化数据同步 |
离线数据同步 实时数据同步 配置化数据同步 |
多引擎数据计算任务编排 |
部分支持 |
全部支持 |
全部支持 |
|
业务决策建模(邀测中) |
× |
√ |
√ |
|
资源规格 |
每日任务实例数(个/天) |
100 |
1000 |
10000 |
系统计算资源 |
√ |
√ |
√ |
|
自定义计算资源 |
√ |
√ |
√ |
|
服务规格 |
阿里云工单系统 |
√ |
√ |
√ |
钉钉大群5*8答疑服务 |
× |
√ |
√ |
|
钉钉专属群 |
× |
√ |
√ |
5、了解更多
5.1 技术文档
5.2 钉钉群
如果您在使用AnalyticDB for PostgreSQL企业数据智能平台产品时有任何疑惑或建议,可以使用钉钉搜索51855001136,加入【官方服务】ADBPG-企业数据智能平台官方支持群交流群,我们会有专业的技术支持工程师在线答疑。