剑客
关注科技互联网

浅析京东实时数据平台:架构篇

数据仓库的数据时效性,可以理解为数据从业务系统到达仓库之后可用于分析的时间。小编记得刚毕业那会子给政府做数据仓库,最重要的工作就是往数据库录数据,那时分析用的数据根本谈不上时效性,如果非要加一个期限的话,最起码是一周。。。

浅析京东实时数据平台:架构篇

后来进入某精算行业,由于对风险识别的要求较高,核心数据的同步及分析工作要求在24个小时内完成,那时传统数据仓库已经开始发挥威力,但是由于异构性较严重,构建成本也较高,往往稍微出一点问题,时效性就溢出了,不过好歹比之前进步了不少,时效性是T+2。

浅析京东实时数据平台:架构篇

再后来进入京东,数据仓库里面的数据已经妥妥滴是昨天的数据了,当时业务线的老板们早上8点开早会的时候,前一天的经营数据分析报告已经通过邮件等方式发送出来,这时数据的时效性是T+1。

浅析京东实时数据平台:架构篇

这种先将之前的数据存储起来,然后批量加工或处理的方式,是典型的离线数据仓库应用。这种模式当时已经能够满足大多数业务场景,但是随着互联网的不断发展,信息更注重实时性,营销的策略和方向往往在几分钟内发生改变。试想当交易数据以每分钟几百万单的量级变化的时候,管理者如何能够泰然处之的等到第二天才知道具体的交易情况。

因此,实时数据平台就应运而生,互联网公司尤其是电商企业,纷纷构建了符合本企业基础结构和业务特点的实时数据平台,今天小编就带大家了解下京东的实时数据平台。

开始之前,我们先普及普及两个概念:离线计算、实时计算

线计算也叫批量计算或批处理计算,先将数据抽取、存放到本地存储,数据一经抽取,就是静态不变的,再进行后续的加工、分析。

时计算:顾名思义,就是指将数据的生产看做是一个持续的动态的数据流,我们预先定义好加工规则,当数据流过时按预先定义的规则进行加工分析方向。  

二者的区别如下:

浅析京东实时数据平台:架构篇

通过以上的对比不难看出,实时计算最主要的一个应用场景就是,对数据处理的时效性要求较高,及时响应,秒级甚至毫秒级延迟。

大家都知道,对于数据的处理,主要分为3大阶段:数据采集、数据处理、数据的可视化,实时数据的处理也不例外。京东实时数据平台的架构是什么样的呢? 请看下图:(数据流向自底向上)

浅析京东实时数据平台:架构篇

数据采集

1 )Magpie实时采集:自主研发,对线上生产数据库压力非常小,负责实时的监听、采集数据库binlog日志,再将数据解析、转换统一格式、压缩、写入到JDQ-实时数据总线;

2 )SDK实时上报:开放接口,用户自定义格式,通过SDK主动实时上报数据到JDQ-实时数据总线;

数据总线

JDQ 实时数据总线:基于Kafka实现的高吞吐率分布式消息队列,以Topic为单位存储实时数据对象,是实时数据采集与下游数据使用者之间的桥梁;

1) 平台提供SDK,通过鉴权认证,保障数据安全可靠

2) 限速处理,保障网络负载均衡;

3) 集群读写分离,跨数据中心灾备,保障集群稳定;

4) 产品化Client管理,通过web端查看客户端运行情况,对消费积压进行监控报警配置,提升用户体验

数据处理

1 )JRC实时计算平台:基于storm实现,使用JRC平台的SDK,开发实时计算程序,将计算后的数据写到存储或落地到离线数据仓库、集市;

2 )其他实时消费程序:用户基于平台提供的SDK自主开发消费程序,将计算后的数据写入到相关数据应用产品存储;

3 )准实时数据仓库:为提高对业务的响应时效性,弥补T+1离线仓库无法查询当天数据的不足,大数据平台推出准实时数据仓库,目前可将线上生产数据还原成小时级别的Hive表或将用户上报的数据按分钟级别写入HDFS文件;

数据可视化

实时数据的可视化按照不同的业务需求,酌情采用实时、离线的数据应用产品进行数据可视化、分析,例如:JA-京东分析师、数据领航员、商家数据罗盘等;

后续我们将为大家详细介绍实时数据平台的相关产品,敬请关注!

浅析京东实时数据平台:架构篇

浅析京东实时数据平台:架构篇

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址