【阿里内部应用】基于Blink为新商业调控打造实时大数据交互查询服务

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 基于Blink为新商业调控打造实时大数据交互查询服务 从IT到DT、从电商到新商业,阿里巴巴的每个细胞都存在大数据的DNA,如何挖掘大数据的价值成为抢占未来先机的金钥匙!传统的大数据开发主要基于离线计算平台MaxCompute(ODPS)进行天级别、小时级别的批量数据分析,但近些年随着618、99.

基于Blink为新商业调控打造实时大数据交互查询服务

案例与解决方案汇总页:
阿里云实时计算产品案例&解决方案汇总

从IT到DT、从电商到新商业,阿里巴巴的每个细胞都存在大数据的DNA,如何挖掘大数据的价值成为抢占未来先机的金钥匙!传统的大数据开发主要基于离线计算平台MaxCompute(ODPS)进行天级别、小时级别的批量数据分析,但近些年随着618、99、双11、双12等大促活动的常态化,传统的离线数据分析已经无法满足大促当天的需求,以双11实时交易数据为例,试想如果我们只能看到前一小时或者前一天的成交数据,对于公司高层的决策制定、对于行业/运营/商家/商品的行动指导、对于算法的预测调控将大大折扣,可以说大数据实时化已经成为通向新商业体系必须拥有的诺亚船票。

从2017年8月开始,一群有激情有干劲的小伙伴历经三个月打造出一套实时大数据交互查询服务,完美的支撑了珠峰、闪电、通天塔、优惠券、凑单等业务的实时需求,并经过了双11、双12等大促活动的实战考验!!

一、背景介绍

珠峰调控的典型应用场景如下图所示:

image

  • 采集:用户在淘宝的每一次浏览/点击/加购/成交等行为都被记录在日志中,并实时传送到TimeTunnel,该部分工作由业务团队或数据团队完成
  • 加工:基于集团的明星产品Blink,对所需业务渠道的日志进行加工处理,产出业务所需要的各种维度/各种指标
  • 装载:将加工好的格式化数据装载到lightning交互式查询引擎,方便后续快速查询
  • 分析:通过定制化报表可以实时动态展示行业/类目/商家/宝贝/分桶等多维实时指标,方便小二分析决策,更多业务报表详见珠峰、闪电
  • 干预:在搜索/推荐等产品中,算法自动获取指标、并根据实时分析的结果更改线上参数,影响线上效果
  • 干预后的结果又进入下一个数据轮回,直到业务目标完成

二、解决方案

2.1 确立目标

改造后的实时数据既要满足功能,还要可兼容、可扩展:

  • 数据的正确性和稳定性是一切的前提,实时数据统计口径必须和离线一致
  • 资源有限,必须打造统一的解决方案满足已有需求,以及未来可能的需求
  • 建立标准化,拉更多人一起参与数据共建
  • 数据的生产和消费都要统一管理,消灭一切不合理

2.2 梳理需求

image

将各平台的业务需求进行挨个梳理,针对数据自身特点进行抽象,确定数据分层:

  • 全网数据:独立的数据表,如全网加购、全网成交等
  • 渠道数据:根据业务独立性划分为手淘搜索、推荐、营销平台等渠道,各渠道包括数据指标:曝光(宝贝曝光/搜索曝光)、点击、引导加购、引导成交等,各数据指标是独立的数据表
  • 子业务场景:含在渠道数据表中,存储在固定字段并用关键字区分,例如手淘搜索全部分页/天猫分页、推荐的猜你喜欢/购后等
  • 数据维度:含在渠道数据表中,存储在固定字段(如时间、宝贝、卖家、类目、行业等)和多值字段(如分桶、BC类型等)

梳理各业务方关注的数据场景,梳理出双11的数据需求和查询需求:

  • 数据要求:

    • 宝贝量从去年的20w到5kw,增长250倍
    • 卖家量从去年的1500到16w,增长100倍
    • 单表最大数据量 > 600亿
  • 实时性:

    • 单表写入最大QPS > 200w/s
    • 数据延迟时间(日志落地到查询可见) < 5s
  • 查询需求:

    • 查询频率:3s、1min、5min、1h
    • 查询范围:当天、当前小时、前5min、前10min
    • 查询响应时间 < 3s
    • 单表查询QPS < 100/s

2.3 架构选型

目前可以满足上诉性能要求,并且相对成熟的实时大数据架构方案有两种:
image

  • blink + kv存储:在blink层进行数据预聚合并将聚合后的计算值写入kv存储,用户按照事先约定好的key进行查询即可拿到实时结果,常用的kv存储比如hbase、redis、tair等。该方案的优势是查询毫秒级响应并支持查询高并发,但不足之处是可扩展性较差,增加维度或改变查询条件需要改动整条链路。比如双11媒体交易大屏,提供00:00到当前时刻的交易总额,但如果想查看10:00-10:20的交易总额改造成本就会很高甚至无法进行
  • blink + olap/oltp:在blink层进行数据明细加工并补充数据标签,加工后的数据装载到olap/oltp,用户带着自定义条件进行查询。该方案最大的优势就是交互式查询,用户可以根据自己需要进行各种维度的查询组合,但不足之处就是无法支持高并发高QPS查询,而且查询之间会互相干扰,偶尔一个大的聚合查询会导致其它查询失败

两套方案各有优劣各有适应的业务场景,考虑到我们打造的实时数据支持的业务场景较多而且需求各不相同,综合比较之后我们选择了第二套方案,至于不支持高QPS的问题我们通过优化查询Query解决。实践证明我们的选择是很明智的,用户对实时数据的查询需求随着大促逐渐临近呈爆发性的增长,甚至双11当天决策层还对我们提出若干新的数据需求,不过我们都轻松应对,合理的架构让一切不可能成为了可能

2.4 最终架构

image

2.5 规范标准

统一接口定义

  • 全网数据接口定义
  • 渠道搜索数据接口定义
  • 渠道宝贝数据接口定义

规范实时处理逻辑的分析方法

  • 找日志生产者掌握字段含义,并结合业务需求进行初步设计
  • 以BI使用的ODPS表为基础,梳理离线处理逻辑
  • 订阅实时日志,使用离线处理逻辑进行日志详细分析
  • 实现实时任务代码
  • 实时离线对比验证,分别从全部、卖家、宝贝三个维度验证,要求数据差异均小于3%

制定Blink代码开发规范

  • 主流程使用Table API,Scala开发
  • 日志处理以及字段处理使用UDF,Java开发
  • UDF设计尽量只专注一件事,如多值字段中n个字段最好提供n个UDF分别处理
  • 过滤逻辑和处理逻辑要求代码层面隔离,不能耦合
  • 严格遵守集团开发规约

让合适的人做合适的事

  • 搜索数据属于我们擅长的,我们负责开发维护
  • 其它数据推动相应业务方按照标准开发,我们提供技术支持和资源支持

2.6 重构

实时任务

实时任务重构过程中做了很多细节优化:

  • ID值存储:实时数据均存储各维度ID值,将冗余字段Name剔除,大大减少查询引擎的存储查询压力
  • 辅表为主:当数据在辅表和日志都存在时,优先透出辅表数据
  • 数据打标:提供全网用户/全网卖家/全网宝贝的数据打标,方便业务方按照数据标一次查询获得结果
  • 数据分区:产出到TT中的实时数据按照宝贝ID进行Partition,可以减少查询引擎的单次消耗
  • 异步读写:写TT以及读写HBase均采用异步操作,既提高读写QPS又保证实时任务受集群环境影响最小化
  • 离线备份:所有的实时数据表每15min同步到相应的云存储ODPS表,以防不时之需
  • ……

封装查询接口

为了约束规范业务方使用实时数据,我们封装了统一的数据查询接口:

  • 采用租户分配QPS配额的方式,控制访问频率
  • 对常用查询方法进行封装,减少用户学习成本
  • 每次查询都进行实时监控并记录追踪日志,方便出现问题时快速排查

image

另外我们对业务方每条Query进行了分析,推动业务方优化不合理的Query,对于查询Query较大较慢的业务搭建独立的查询引擎,通过以上措施减少了业务间互相干扰,大大的提高了系统稳定性,业务效率也得到了极大提升

数据校验

邀请BI作为裁判对重构的实时数据进行了一致性校验,__校验结果:90%以上的场景数据差异在1%以内__,实时数据准确性得到了大家的一致认可!

线上运维

  • 使用烽火台监控延迟报警、无数据报警
  • 在KMonitor建立各级监控:全景监控、单任务监控、全链路大盘
  • 通过多轮压测保证任务资源占用既不浪费又能满足大促需要

三、成果总结

3.1 实战效果

2017年双11活动期间,实时大数据共运行Blink任务40+,产生实时数据表40+,占用资源约近5000vcore、近20T mem

双11当天处理日志量数百T,数据峰值TPS约7000w+,产出纯净业务数据数十T,总条数1500亿+,其中单表全天近700亿,数据处理峰值200w+;支持了全网数据的辅表信息透出,实时数据延迟在秒级别;查询服务全天请求近200w,QPS峰值约700次,平均响应时间1.5s

3.2 建立生态

随着实时大数据取得的成功,越来越多平台希望引入实时数据,截止到18年1月底实时大数据服务情况如下图所示,目前业务平台、数据渠道、数据指标仍在不断扩充中,实时大数据生态已经初具规模,这对参与实时数据建设的所有小伙伴们来说是莫大的认可

image

四、作者简介

花名:言柏,来自搜索事业部-工程效率&技术质量-算法工程平台-实时大数据平台
14年加入阿里,主要从事电商体系实时数据研发以及实时交互式查询赋能于新商业
image

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
2月前
|
DataWorks Kubernetes 大数据
飞天大数据平台产品问题之DataWorks提供的商业化服务如何解决
飞天大数据平台产品问题之DataWorks提供的商业化服务如何解决
ly~
|
4天前
|
供应链 搜索推荐 大数据
大数据在零售业中的应用
在零售业中,大数据通过分析顾客的购买记录、在线浏览习惯等数据,帮助零售商理解顾客行为并提供个性化服务。例如,分析网站点击路径以了解顾客兴趣,并利用历史购买数据开发智能推荐系统,提升销售和顾客满意度。此外,大数据还能优化库存管理,通过分析销售数据和市场需求,更准确地预测需求,减少库存积压和缺货现象,提高资金流动性。
ly~
27 2
ly~
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
大数据在智慧金融中的应用
在智能算法交易中,深度学习揭示价格波动的复杂动力学,强化学习依据市场反馈优化策略,助力投资者获取阿尔法收益。智能监管合规利用自然语言处理精准解读法规,实时追踪监管变化,确保机构紧跟政策。大数据分析监控交易,预警潜在违规行为,变被动防御为主动预防。数智化营销通过多维度数据分析,构建细致客户画像,提供个性化产品推荐。智慧客服借助 AI 技术提升服务质量,增强客户满意度。
ly~
14 2
ly~
|
4天前
|
供应链 监控 搜索推荐
大数据的应用场景
大数据在众多行业中的应用场景广泛,涵盖金融、零售、医疗保健、交通物流、制造、能源、政府公共服务及教育等领域。在金融行业,大数据用于风险评估、精准营销、反欺诈以及决策支持;零售业则应用于商品推荐、供应链管理和门店运营优化等;医疗保健领域利用大数据进行疾病预测、辅助诊断和医疗质量评估;交通物流业通过大数据优化物流配送、交通管理和运输安全;制造业则在生产过程优化、设备维护和供应链协同方面受益;能源行业运用大数据提升智能电网管理和能源勘探效率;政府和公共服务部门借助大数据改善城市管理、政务服务及公共安全;教育行业通过大数据实现个性化学习和资源优化配置;体育娱乐业则利用大数据提升赛事分析和娱乐制作水平。
ly~
38 2
|
12天前
|
存储 数据可视化 大数据
大数据管理与应用
大数据管理与应用是一门融合数学、统计学和计算机科学的新兴专业,涵盖数据采集、存储、处理、分析及应用,旨在帮助企业高效决策和提升竞争力。核心课程包括数据库原理、数据挖掘、大数据分析技术等,覆盖数据处理全流程。毕业生可从事数据分析、大数据开发、数据管理等岗位,广泛应用于企业、金融及互联网领域。随着数字化转型加速,该专业需求旺盛,前景广阔。
22 5
|
13天前
|
存储 搜索推荐 大数据
大数据在医疗领域的应用
大数据在医疗领域有广泛应用,包括电子病历的数字化管理和共享,提升医疗服务效率与协同性;通过数据分析支持医疗决策,制定个性化治疗方案;预测疾病风险并提供预防措施;在精准医疗中深度分析患者基因组信息,实现高效治疗;在药物研发中,加速疗效和副作用发现,提高临床试验效率。此外,在金融领域,大数据的“4V”特性助力业务决策前瞻性,被广泛应用于银行、证券和保险的风险评估、市场分析及个性化服务中,提升运营效率和客户满意度。
22 6
|
15天前
|
数据采集 分布式计算 MaxCompute
MaxCompute 分布式计算框架 MaxFrame 服务正式商业化公告
MaxCompute 分布式计算框架 MaxFrame 服务于北京时间2024年09月27日正式商业化!
38 3
|
1月前
|
机器学习/深度学习 数据可视化 大数据
阿里云大数据的应用示例
阿里云大数据应用平台为企业提供高效数据处理与业务洞察工具,涵盖Quick BI、DataV及PAI等核心产品。DT203课程通过实践教学,帮助学员掌握数据可视化、报表设计及机器学习分析技能,提升数据驱动决策能力。Quick BI简化复杂数据分析,DataV打造震撼可视化大屏,PAI支持全面的数据挖掘与算法应用。课程面向CSP、ISV及数据工程师等专业人士,为期两天,结合面授与实验,助力企业加速数字化转型。完成课程后,学员将熟练使用阿里云工具进行数据处理与分析。[了解更多](https://edu.aliyun.com/training/DT203)
|
15天前
|
机器学习/深度学习 人工智能 分布式计算
人工智能与大数据的融合应用##
随着科技的快速发展,人工智能(AI)和大数据技术已经深刻地改变了我们的生活。本文将探讨人工智能与大数据的基本概念、发展历程及其在多个领域的融合应用。同时,还将讨论这些技术所带来的优势与挑战,并展望未来的发展趋势。希望通过这篇文章,读者能够对人工智能与大数据有更深入的理解,并思考其对未来社会的影响。 ##
|
1月前
|
消息中间件 SQL 大数据
Hologres 在大数据实时处理中的应用
【9月更文第1天】随着大数据技术的发展,实时数据处理成为企业获取竞争优势的关键。传统的批处理框架虽然在处理大量历史数据时表现出色,但在应对实时数据流时却显得力不从心。阿里云的 Hologres 是一款全托管、实时的交互式分析服务,它不仅支持 SQL 查询,还能够与 Kafka、MaxCompute 等多种数据源无缝对接,非常适合于实时数据处理和分析。
84 2