应对精细化运营要求,京东数据平台有哪些优化经验?
本文是第七届京东技术金项奖团队贡献奖——新商智项目的技术解读。
一个优秀成功的品牌、店铺离不开经营者每日研究各项运营数据、挖掘可增长的价值点,做出合适运营决策。但当纷繁复杂的数据交织在一起,如何实现统一的数据口径和统计模型,让数据最终的呈现更好地为商家所用,这对京东电商平台的数据能力提出了更高的要求。
2018年,京东官方唯一数据平台的京东商智完成全面升级,主要从以下三个方向引入新技术和优化方案,为商家带来更为有效、及时的运营数据。
升级后的京东商智整合了京东内其他数据产品,全面打通底层数据,实现采销、供应商、POP多方数据口径的统一,涵盖销量、流量、用户、商品、行业、竞品六个维度。针对具有较为复杂的数据分析业务的需求,平台引入OLAP数据引擎技术,分离复杂业务,灵活处理多维数据。
1、应用场景
OLAP可以灵活的改变数据查询条件(比如改变任意时间维度),使产品用户能够迅速、一致、灵活地从各个维度查看各类指标,以达到更深入的理解数据的目的。
OLAP:ClickHouse+ SparkCore + Scala,ClickHouse主要用作数据的存储及在线计算,SparkCore用以数据载入。
2、难点优化
1)去重指标小时增量
一般情况,在统计每个小时在该小时出现、而不在之前小时出现的记录去重指标,这样的操作,会调用多次查询(每小时一次),使得RPC增加,并发增加,致使资源过多使用。利用ClickHouse的ArrayJoin及子查询的特性只用一次RPC就可解决去重指标小时增量的难点。
2)海量数据指标去重
一般情况,海量精准去重(基数较大),会消耗大量的内存资源及时间,这样无法满足线上业务响应需求。通过利用物化视图对数据提前进行降维Rollup,通过空间换时间,并利用基数估计模糊去重,用极少的数据精度的损失换取大量的时间及内存损耗,满足了线上业务的响应需求。
OLAP方案通过更新技术满足业务灵活性,使得用户从多维度观察数据、分析数据,最终得到较为满意的结论。后续将从OLAP + Streaming满足实时数据,提供更加灵活的、多维的查询及分析服务。
为满足商智商家版用户在早晨八点就可以获取相关业务数据的需求,团队分析离线计算任务的数据流向,依赖关系,运行时长,以及增量/全量更新方式,处理的数据量大小。分别采用了技术架构升级与业务拆解,数据模型优化等方式极大幅度的降低了任务计算量与计算复杂度,大幅减少了计算时间,同时也降低了数据集市的存储资源。
1、方案
针对不同统计周期的去重指标,将去重的中间数据增量处理预保留,计算结果的步骤置后,最大限度的减少重复数据的计算;任务链条缩短,将大量计算任务进行整合,相同口径指标不再复算,一处计算,多处调用;极大数据量无法做业务拆解的部分使用SparkSQL代替HiveSQL,对参数进行优化调整,满足计算要求的场景下最优化资源的占用;同时推动交易平台、平台生态、大数据部共同对商品表进行裁剪,只计算活跃商品数据,减少公共模型基础数据量,并对每日新增SKU数据进行限制,从源头基础数据解决计算性能问题。
优化整体减少了174个计算任务,串行减少约390小时的执行时间,整体时效性从优化前的12点左右提前到7点左右;提出商品活跃模型概念,联合大数据部、商城交易平台、平台生态部对商品表裁剪掉约74.5亿左右不活跃的SKU,精细每日新增SKU数量,大幅度节约了商智侧服务器成本。
针对京东POP/自营商家、供应商、品牌商的数据获取及分析需求,团队内部形成通用的前端可视化组件库+皮肤库,可以为用户提供统一风格的页面布局及产品交互,提升商业数据产品的用户体验,使数据分析化繁为简。针对产品数据的时效性,团队内部产出了时效性组件,提供离线/实时的时效性分析功能,可以快速定位问题痛点并做针对性的时效性提升和优化。
1、应用场景
基于大数据的可视化数据产品,团队内形成的通用前端组件库可以支持其他数据类应用产品的快速接入,提升研发效率,统一同一类产品的交互及用户体验。时效性组件亦可作为通用化组件被其他数据产品快速接入以提升数据时效性分析效率和日常监控。
2、方案
可视化组件库:基于React开发的可适配多终端的高性能、通用的前端组件库。
时效性组件: 基于BDP大数据平台,集数据采集、数据分析、时效性分析、报表分析以及预警等功能为一体的通用组件。
前端通用组件用于不同的数据产品,内容、样式都不尽相同,对组件的通用性是个很大的考验。团队基于对组件功能的合理设计,增加皮肤库。采用模块化的方式将业务功能、组件功能、UI外观做好解耦合。时效性组件应用于不同的数据应用产品,面临不同的底层数据,如何产出一套统一的时效性分析和监控方案是一大难点。基于大数据平台,结合通用的底层数据模型做数据采集和实时/离线分析最终形成通用的时效性组件。
通过团队内组件化的积累,团队已形成一套通用成熟的数据产品可视化方案,具备快速搭建数据可视化系统的能力。后续会不断对其完善,最终形成大数据可视化产品的最佳实践。
京东技术金项奖是由京东集团技术委员会设立的表彰优秀研发团队及个人的奖项。评选维度围绕京东技术核心理念,创新、协作、品质和高效展开,对研发体系优秀项目、团队和个人进行选拔激励。2018年是开展金项奖的第7年,也是京东向技术转型至关重要的一年,作为集团技术奖项,将大力表彰2018年度在技术创新、业务贡献有突出成就的技术团队,以及在创新力、专业度和影响力上显露光芒的研发人员。
推荐阅读
管理百万容器如何做到高效、稳定又省钱?
揭秘 | 技术方案解答智能客服如何双商俱高
如何实现百万TPS?详解JMQ4的存储设计
每月一书(3)| 决战618-万亿级流量系统技术宝典
京东技术
---关注技术的公众号
长按识别二维码关注