Druid在滴滴的应用平台化建设_第1页
Druid在滴滴的应用平台化建设_第2页
Druid在滴滴的应用平台化建设_第3页
Druid在滴滴的应用平台化建设_第4页
Druid在滴滴的应用平台化建设_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Druid在滴滴的应用平台化建设技术创新,变革未来Druid特性简介Druid在滴滴的应用Druid平台化建设010203目 录展望04Druid是针对时间序列数据提供低延时的数据写入以及快速交互 式查询的分布式OLAP数据库。Druid特性介绍-Druid是什么?TSDB(Time-series database)时间序列数据低延时写入快速聚合查询典型的TSDB:InfluxDB、Graphite、OpenTSDB写入即可查 内存增量索引下采样,RDD 预聚合Schema less 需要预先定义schemaDruid特性介绍-时序数据库OLAP数据库 - 上卷、切块、切片、下钻等操作数据检索

2、引擎 ES预计算 + kv存储 - KylinSQL on Hadoop Presto、SparkSQLDruid特性介绍-OLAP数据库数据检索引擎 ES 结构化数据与非结构化数据,明细查询与聚合能力 存储空间开销大 数据的写入与聚合开销大Druid 结构化数据 & 预聚合结构化数据 较弱的明细查询能力存储空间更小针对数据的写入与聚合进行优化Druid特性介绍-OLAP数据库预计算 + kv存储 - KylinKV存储通过预计算来实现聚合,key涵盖了查询参数,值就是查询结果查询速度极快损失了查询的灵活性,复杂的场景下,预计算过程可能十分耗时只有前缀拼配一种索引方式,大数据量下复杂过滤条件性

3、能下降缺少聚合下推的能力Druid 列式存储 & Bitmap索引查询速度不如KV存储内存增量索引,增量预聚合,写入即可查任意维度列组合过滤、聚合,查询灵活Scatter & Gather模式,支持一定的聚合下推Druid特性介绍-OLAP数据库SQL on Hadoop SQL支持强大 无冗余数据,不需要预处理 分钟级响应 QPS 低DruidSQL支持有限必须预先定义维度指标亚秒级响应高并发Druid特性介绍-OLAP数据库Druid在滴滴的应用-使用概况规模多个集群数百台机器千亿级日原始数据写入量TB级日落盘数据量数百实时数据源,千级实时写入任务近千万级日查询量承接业务监控、实时报表、大

4、屏展示等业务Druid在滴滴的应用-应用案例业务实时监控承接公司所有核心业务的指标监控与告警Druid在滴滴的应用-应用案例实时报表类应用运营数据分析、客户端网络性能分析、客服应答实时统计等等Druid在滴滴的应用-应用案例大屏展示类应用客服服务状态大屏Druid平台化建设背景业务数据主要来源,日志、binlog公司统一数据通道Kafka业务监控指标多样,逻辑复杂多变Druid接入配置较复杂,工单接入方式成本高数据进入Druid之前通常需要流计算处理数据链路较长,上下游关系需要梳理Druid服务需要提供数据可视化能力Druid平台化建设实时计算平台提供流计算,Druid数据储存,指标查询,数据

5、可视化一站式服务。Druid平台化建设基本工作流Druid数据源用户自助接入Druid平台化建设Druid查询Web化配置,100%SQLDruid平台化建设Druid平台化建设-稳定性挑战核心业务与非核心业务共享资源,存在风险。用户提交任务配置、查询不合理,造成异常状况,甚至影响集群稳定性。随着业务的快速发展,Druid依赖组件热迁移到独立部署环境。针对不同重要程度的业务共享资源的问题Druid集群异地双活,核心数据源集群级双活统一网关建设对用户屏蔽多集群细节根据用户身份进行查询路由,实现查询资源隔离业务分级:核心业务集群级双活;对查询资源需求较高的大业务分配独立查询资源组其他使用默认资源池

6、Druid平台化建设-稳定性异地双活、业务分级、资源隔离Druid平台化建设-稳定性Druid平台化建设-稳定性针对用户配置与查询不合理造成的异常引擎层面bad case防范(earlyMessageRejectPeriod的case)封装druid原生API,提供更合理的默认配置项完善指标监控体系与异常定位手段,确保能捕捉到异常查询日志与指标收集结合Druid的聚合查询能力与ES的明细查询能力进行问题定位第三方依赖热迁移Zookeeper迁移:扩容-集群分裂-缩容的迁移方案zk1zk2zk3zk1zk2zk3zk5zk6zk7zk4zk1zk2zk3zk5zk6zk7zk4zk1zk2zk3

7、zk5zk6zk7zk4zk1zk2zk3zk5zk6zk7zk4zk1zk2zk3zk5zk6zk7zk41.2.3.4.5.6.Druid平台化建设-稳定性第三方依赖热迁移MySQL迁移:开发实时任务状态冻结API(针对Kafka-indexing-service),保证元数 据的不变性,随后进行迁移Druid平台化建设-稳定性第三方依赖热迁移HDFS迁移:保证历史节点可以读取两个HDFS集群,混动升级MM,改变增量数据写入 地址;批量修改元数据,改变存量数据的加载地址。Druid平台化建设-稳定性Druid平台化建设-性能优化实时数据接入方式对比Standalone Realtime N

8、ode数据消费任务为单机模式,任务失败后无法恢复使用Kafka高阶API,多任务消费数据时,难以保证副本任务消费相同的数据Tranquility + indexing-service任务失败后无法恢复,如果所有副本任务都失败,那么还是会丢失数据数据迟到容忍窗口与任务时长挂钩,无法做到容忍较长时间的数据迟到Kafka-indexing-service实时任务数据消费依赖Overlord服务,所以Overlord单机性能将会成为集群规模的瓶颈由于Segment与Kafka topic的partition关联,容易造成元数据过度膨胀,引发性能问题Druid平台化建设-性能优化问题背景:主要Kafka

9、-indexing-service作为数据写入方式,具有高可用、接入便捷的优势,但是高度依赖Overlord节点服务。 Overlord节点高峰期的性能瓶颈导致:Druid消费能力下降实时任务调度不及时,实时任务状态判断错误经过定位,瓶颈有以下原因Mysql查询性能问题元数据JSON化存储,反序列化耗时ZK watch回调单线程模型事件处理排队Druid平台化建设-性能优化针对Mysql查询瓶颈Druid元数据存储索引优化元数据合并精简,Segment定时Merge,合理设置数据生命周期数据库连接池DBCP2参数修改针对反序列化与Watch回调问题对Druid进行多Overlord改造,引入namespace概念,增加Overlord水平扩展能力MM1MM3MM2tasktasktasktasktasknam espace:n1nam espace:n2展望Druid数据消费能力依赖kafka topic的partition,引入Flink等流计算引擎,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论