Hologres Dynamic Table 在淘天价格力的业务实践

作者:闵加坤 | 淘天集团价格平台开发工程师

业务介绍

淘天价格力团队作为平台价格治理的核心部门,承载着淘宝天猫全域商品价格管理的重要职责。团队掌握着淘内外所有商品的全量价格信息,包括商品原价、券后价等多维度价格数据,每日增量数据规模达亿级以上。

在电商大促上下线时(如618、双11),价格变动频率会呈现数倍增长,这些海量数据不仅体量大,而且具有高时效性、强关联性和复杂变化特征。在大促常态化的现状下,行业运营急需高时效性的数据看板以便及时发现问题,并且需要商品维度、店铺维度等多维圈选能力,及时圈选出符合要求的数据并进行处理或分析。Hologres Dynamic Table完美契合业务需求。

Hologres Dynamic Table介绍

视图是基于表的虚拟表,不存储数据只存储查询逻辑,每次访问时动态执行SQL,返回最新结果,主要帮助我们简化复杂查询。如果没有视图,那么对于以下查询,需要我们自己保存到一个地方,查询时执行完整SQL。

SELECT region, SUM(amount) as total_sales FROM orders WHERE status = 'completed';

如果有视图,我们可以把查询托管给视图,直接查询视图,可以简化使用。

-- 创建视图 CREATE VIEW sales_summary AS SELECT region, SUM(amount) as total_sales FROM orders WHERE status = 'completed'; -- 查询视图 SELECT * FROM sales_summary;

视图虽然帮我们管理了SQL的定义,但是复杂逻辑SQL的执行通常很耗费时间。将视图的查询结果实际保存下来就是物化视图。物化视图的结果需要定期更新以保证数据新鲜度。所以物化视图就是预定义SQL + 物化结果 + 周期更新

Hologres Dynamic Table与物化视图类似,架构如下,提供全量刷新与增量刷新两种刷新模式。

全量刷新就是在周期到来时进行一次全量刷新覆盖,相当于Insert Overwrite。

增量刷新每次只处理增量数据,原理为在底层创建一个列存state表,存储中间状态(类似Flink state)。增量数据先以微批次方式做内存态聚合,再与state表合并,最后提交时以BulkLoad写入动态表。

在 HologresV3.1中 Dynamic Table 的能力如下。

备注

提供auto模式,若Query支持增量刷新则优先选择增量刷新,否则退化为全量刷新

文档

声明式数据处理自动数据流转-Dynamic Table-实时数仓 Hologres-阿里云

刷新模式

增量刷新

全量刷新

技术实现

微批次增量处理

INSERT OVERWRITE

刷新触发

定时/手动

最小可配置间隔

1分钟

增量机制

Binlog:处理CDC数据

Stream:文件级别处理增量数据,读取性能比Binlog高。

无(全量)

基表类型

内表、动态表、Paimon外表

内表、动态表、Paimon外表、ODPS外表、DLF外表

Join支持

✅ 完整Join支持

聚合函数

✅ 支持

索引配置

✅ 支持

窗口函数

❌ 不支持

✅ 支持

IN子查询

❌ 不支持

✅ 支持

查询改写

❌ 不支持

分区支持

✅ 物理/逻辑分区

分区刷新

配置范围

历史分区回刷

✅ 手动回刷

计算资源

Local/Serverless

Serverless是实例资源上额外的资源,最大4096core,可为动态表设置可用core。

资源隔离

实例资源/Serverless隔离

Query变更:新增列、修改计算逻辑

✅ 支持

主要限制

  • Stream模式基表只能是列存表

  • 若上游表为分区表,无法同时消费上游表的多个分区

  • 仅支持把刷新模式从增量改为全量,不支持从全量改为增量

• 资源消耗大

业务实践

数据圈选

业务背景

价格力团队需要为多个业务场景如商品价格回滚、全网比价等提供灵活的数据圈选能力,要求支持动态的指标组合和筛选条件配置。圈选集创建后,圈选结果也需要随底表数据的变化而变动,不同业务场景可接受的数据变化时间间隔也有所不同。

解决方案

Dynamic Table完美符合场景要求:工程基于不同的筛选规则翻译成相应的DQL,并根据业务场景的需求灵活设置数据新鲜度等配置参数,最终生成完整的Dynamic Table DDL。

指标系统: 指标系统中将表列配置为实体指标。业务指标提供高阶能力如级联指标、聚合、召回计算。

筛选组件: 提供通用筛选配置组件,根据业务场景展示相应指标

业务场景默认配置:Diamond中保存不同业务场景默认配置,包括刷新周期、刷新模式、默认召回条件、默认Join条件等

DDL生成: 将筛选条件与默认条件通过DSL翻译为Hologres Dynamic Table DDL

状态监控: 实现刷新状态检查机制,定期检查动态表刷新状态,区分未完成刷新刷新后无数据两种情况

数据供给:动态表第一次刷新完成后,提供Flink分页查询两种数据供给方式。若选择Flink,在动态表创建完成后会自动根据默认条件创建Flink任务,通常把数据变更作为消息发送给MetaQ



应用效果

该方案可在秒级亿级数据基表中完成Dynamic Table创建及初次数据刷新,已在价格力团队多个业务场景中部署应用,显著提升了数据圈选的灵活性和效率。



近实时报表构建

业务背景

数据看板的时效性越高,越能帮助运营及时发现问题,快速进行决策和业务调整。价格力团队内部分场景的报表数据原通过ODPS离线调度实现更新,但运营期望能有近实时分钟级数据。

解决方案

数据分层构建:基于Hologres Dynamic Table实现ODS → DWD → DWS → ADS数据架构的近实时化改造

增量刷新策略:采用动态表增量刷新机制,设置分钟级刷新间隔,实现近实时数据更新,并分钟级保存历史数据

资源隔离保障:通过使用HologresServerless资源减少与其他任务的资源竞争。

应用效果

应用效果:成功解决了数据看板的时效性痛点,亿级底表数据,输入RPS 1W的处理时延从小时级降低至分钟级,可以灵活比对任意分钟数据的同比,双十一期间为运营团队提供了及时可靠的数据支撑。

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

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

相关文章

软件工程毕业设计创新的方向建议

0 选题推荐 - 人工智能篇 毕业设计是大家学习生涯的最重要的里程碑,它不仅是对四年所学知识的综合运用,更是展示个人技术能力和创新思维的重要过程。选择一个合适的毕业设计题目至关重要,它应该既能体现你的专业能力,又能满足实际…

HDFS 架构深度解析:大数据存储的基石

HDFS 架构深度解析:大数据存储的基石关键词:HDFS、大数据存储、架构解析、数据块、NameNode、DataNode摘要:本文深入剖析了 HDFS(Hadoop Distributed File System)架构,它是大数据存储的重要基石。通过通俗…

grbl支持的G代码指令集:快速理解

掌握grbl的G代码:从零开始构建精准数控加工逻辑你有没有遇到过这样的情况?写好的G代码一运行,刀具却走偏了路线;明明是想画个圆弧,结果机器一顿抖动,差点撞上边框。更离谱的是,重启之后坐标“漂…

Multisim14仿真建模实战案例:从零实现信号放大电路

从零开始,在Multisim14中搭建一个真正能工作的信号放大电路你有没有过这样的经历?花了一下午焊好一块放大电路板,接上信号源,示波器一测——输出不是削顶就是没动静。拆了查、查了换,最后发现是偏置电阻配错了比例………

工业控制中三极管开关电路设计:完整指南

工业控制中的三极管开关电路设计:从原理到实战的完整解析 在现代工业自动化系统中,PLC输出模块、继电器驱动、传感器接口和电机控制等场景无处不在。尽管MOSFET和专用驱动IC日益普及, 三极管开关电路 依然因其成本极低、结构简单、可靠性高…

项目应用中常见的电感选型问题解析

电感选型避坑指南:从“烧了再换”到“一次搞定”的实战经验在电源设计中,你有没有遇到过这样的场景?某款产品样机测试时一切正常,一上满载就触发过流保护;高温环境下运行几小时后电压突然掉下来,排查发现电…

HR 必看:OKR 与绩效管理软件协同运作,实现企业目标与增长双赢

在企业管理中,目标分散、战略落地难、员工执行力不足等问题常制约发展,而利用 OKR 与绩效管理软件对齐目标并驱动增长,成为解决这些问题的关键路径。许多企业尝试推行 OKR 却陷入 “目标与执行脱节” 困境,绩效管理也常因缺乏工具…

金三银四跳槽涨薪必备之程序员的面试表达课!再也不用为找工作发愁了!

金三银四跳槽涨薪必备之程序员的面试表达课!再也不用为找工作发愁了! 1、进入面试环节,如何更好的进行自我介绍? 2、如何详细描述自己的项目,让面试官感兴趣 3、如何从容的回答自己掌握的问题 4、如何避重就轻的回答自…

赶海拾趣,逐光而行,霞浦滩涂的治愈之旅

福建霞浦县位于福建省东北部,其核心景观是绵延500多公里的海岸线与广阔的海上滩涂。这里山海交融,潮汐与光影在滩涂上每日作画,形成了独特的自然与人文交织的景致。漫长的海岸线与频繁的潮汐活动,共同造就了面积达数百平方公里的浅…

邦芒宝典:七几大职场人际关系秘诀助你游刃有余

在职场中处理好人际关系,是实现个人发展和团队协作的关键。综合近期权威指南,以下几大核心秘诀能助你游刃有余:‌核心职场人际关系秘诀‌1、以专业能力为根基,用价值赢得尊重‌ 职场最坚固的护城河是他人无法轻易复制的专业能力。…

超详细版讲解MOSFET在多路负载切换中的应用技巧

如何用MOSFET打造高效可靠的多路负载供电系统?实战经验全解析你有没有遇到过这样的场景:一个嵌入式主控板上集成了Wi-Fi、GPS、显示屏和一堆传感器,每个模块功耗不同,工作时间也不一样。为了省电,你想让不用的模块彻底…

雪岭映碧波,木屋隐林间,喀纳斯湖的自然人文交响

在新疆北部的阿尔泰山深处,坐落着喀纳斯湖。这处高山湖泊位于中国与哈萨克斯坦、俄罗斯、蒙古国接壤的边境地带,湖面海拔约1374米,面积超过44平方公里。其湖水最终汇入北冰洋水系,这在中国境内的湖泊中颇为独特。喀纳斯湖呈现弯豆…

数字电路综合原理与HDL写法关系:深度剖析

写代码就是画电路:HDL风格如何决定你的综合成败你有没有遇到过这样的情况?仿真跑得飞快,波形完美无瑕,信心满满地交给综合工具——结果时序违例一大堆,关键路径延迟超标,面积膨胀三倍。更离谱的是&#xff…

电力电子工程师必备:MOSFET工作原理的典型应用电路详解

电力电子工程师实战指南:MOSFET核心机制与典型电路设计精要你有没有遇到过这样的情况?明明选了低导通电阻的MOSFET,系统效率却上不去;或者H桥驱动一启动就“炸管”,示波器一看,$ V_{GS} $ 上全是振铃。问题…

大数据领域CAP定理的前世今生

大数据领域CAP定理的前世今生:分布式系统的"不可能三角"传奇关键词:CAP定理、分布式系统、一致性、可用性、分区容错性摘要:在大数据时代,分布式系统早已成为互联网的"基础设施"——从淘宝的购物车到微信的消…

树莓派5引脚定义手册:UART通信引脚说明

树莓派5串口通信实战指南:从引脚定义到稳定通信的完整路径你有没有遇到过这样的情况——接好了线,写好了代码,树莓派却收不到GPS模块的数据?或者串口输出全是乱码,调试信息像天书一样?别急,这多…

Multisim示波器垂直刻度调整:快速理解最佳实践

以下是对您提供的博文内容进行深度润色与结构重构后的技术类教学文章。整体风格更贴近一位经验丰富的电子工程教师/资深仿真工程师的自然讲述口吻,去除了AI生成痕迹、模板化表达和刻板章节标题,强化了逻辑连贯性、实操指导性和教学感染力;同时…

leetcode 3314(位运算,lowbit)

3314: 构造最小位运算数组Ⅰ思路1&#xff1a;枚举class Solution { public:vector<int> minBitwiseArray(vector<int>& nums) {vector<int> ans(nums.size(),-1);for(int i0;i<nums.size();i){int xnums[i];for(int j1;j<x;j){int yj|(j1);if(yx)…

risc-v五级流水线cpu用于PLC系统的完整指南

用RISC-V五级流水线CPU重塑PLC&#xff1a;从架构原理到工业实战当传统PLC遇到性能瓶颈在现代工厂的控制柜里&#xff0c;一台台PLC默默执行着逻辑判断、信号采集与设备联动。但如果你拆开那些“服役”多年的控制器&#xff0c;可能会惊讶地发现&#xff1a;它们的核心仍是上世…

LED显示屏尺寸大小测量错误导致控制卡异常?一文说清

一块LED屏显示歪了&#xff1f;别急着换控制卡&#xff0c;先检查这个参数你有没有遇到过这样的情况&#xff1a;新装的LED大屏&#xff0c;画面一播放&#xff0c;左边挤成一团&#xff0c;右边却拉得老长&#xff1b;或者文字刚出来就缺了一角&#xff0c;怎么调内容都没用。…