专栏名称: 京东成都研究院
京东商城成都研究院信息平台
目录
相关文章推荐
成都发布  ·  热度攀升!绿道骑行火了,重要提醒→ ·  昨天  
成都本地宝  ·  成都城乡居民医保可享受的8种待遇! ·  昨天  
成都本地宝  ·  成都5个严重被低估的古镇/村落!全部免费! ·  昨天  
51好读  ›  专栏  ›  京东成都研究院

Druid在大数据OLAP场景下实践

京东成都研究院  · 公众号  · 成都  · 2018-05-04 17:20

正文

导语:

Druid作为一款开源的实时数据分析软件,特别是在海量数据和实时性要求较高的数据分析场景,近几年在互联网公司得到了广泛的应用。本文将对Druid技术特点进行介绍。

什么是OLAP?

OLAP全称OnLine Analytical Processing,在线分析处理。直白点讲,可以理解为实时数据分析。

OLAP支持的操作

OLAP分析操作实质上是通过各种变换达到从不同视角分析展示数据的目的,有点像玩魔方(图1展示的是一个三维的数据魔方)。基本的多维分析操作有钻取(上卷和下钻),切片,切块,旋转等。

钻取:是改变维的层次,变换分析的粒度。上卷是将低层次的细节数据概括到高层次的汇总数据;下钻相反,从汇总数据深入到细节数据进行观察。典型的钻取维度比如时间维中日月年。

切片和切块:是在维上做投影操作。是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个或以上,则是切块。

旋转:是变换维的方向,即在表格中重新安排维的放置(例如行列互换)。

搜客数据分析面临的挑战

搜客是京东搜索引擎广告投放系统,运营通过数据分析结果制定投放策略,调整出价。对投放的广告数据(关键词)分析,时效性和灵活性有较高的要求。主要面临的挑战:

1、维度不固定(ad-hoc dimensions query)

2、最大时间跨度需要支持1年(10亿级别数据分析)

3、数据几秒内能呈现

最终依靠Druid作为底层数据存储,结合业务特点,搭建分布式系统,满足了以上需求。

什么是Druid?

Druid译成中文是德鲁伊,玩过暗黑和魔兽的同学,应该有所了解德鲁伊是个其中的角色,可以各种变化,法术高超,能力强大。阿里也有个开源项目恰好也叫Druid,但是关于数据库连接池的,解决的是不同问题,和这里说的Druid是不同的。官方对于Druid的解释“Druid is a high-performance, column-oriented, distributed data store.”

Druid的特点

1、交互式查询,亚秒级ad-hoc查询

2、支持实时流接入

3、水平拓展,扩容方便

4、部署集成支持广泛,可以部署在云或自有的物理机上,可与Hadoop, Spark, Kafka, Storm, Flink, Samza集成。

Druid基本概念

1、数据源(Datasource): 类似数据中的表

2、Segement:段,分片

3、维度:说明数据,表示对象属性或特征

4、指标:衡量数据,可进行count,sum,mean等计算

5、时间列:数据聚合的重要维度

索引过程

1、转换为列式存储

2、建立位图索引(每列)

3、压缩

查询过程

1、发请求到Broker节点

2、Broker通过zk获取需要查询Real-time节点,Historical节点,并分发请求

3、Real-time节点,Historical节点返回结果

4、Broker节点合并结果,返回给请求方







请到「今天看啥」查看全文