1、快手万亿级实时OLAP平台的建设与实践快手OLAP平台概览Druid系统介绍Druid在快手的使用经验和改进分享未来OLAP平台的工作计划快手OLAP平台发展历程节点数150每天查询次数1000万数据源2000平均查询时延50ms每天录入消息数5000亿P90查询时延100ms索引数据量400TBP99查询时延500ms 1000ms看板数量800图表数量1万快手OLAP平台规模业务背景 每天数百亿数据量 CDN智能调度检测 播放质量监控 数据探索和问题排查多媒体质量分析业务背景 每天数百亿数据量 数千对比指标 上千Ab实验 几十万次查询调用 100毫秒级查询时延A/B TestOLAP平台技
2、术选型业务需求重要度超大数据规模(单数据源每日100亿+消息数)支持高毫秒级/秒级查询时延高数据实时性高高并发查询高稳定性高数据Schema灵活高/中精确去重功能中SQL接口支持低Hive/SparkSQLKylinESDruid超大数据规模好好中好查询性能差好中好数据实时性差中好好高并发差好好好Schema灵活性好差好好精确去重支持支持支持不支持SQL接口好好中中OLAP技术实现方案对比快手OLAP平台概览Druid系统介绍Druid在快手的使用经验和改进分享未来OLAP平台的工作计划Druid系统架构coordinator nodesmySQLHDFSoverlordnodesmiddle
3、 managernodesbrokernodeshistoricalnodesstreaming databatch dataCLIENT QUERIESQUERIESMETADATADATA/SEGMENTSEXTERMAL DEPENDENCIESDRUID NODESDruid性能为何如此高效Druid性能核心优势mmapcache预聚合列式存储bitmap索引Druid数据预聚合时间戳列维度列指标列select Added from datasource where Gender=Femaleand City=TaiyuanDruid Bitmap索引Restful查询Json语法示例
4、:Druid I/O 实时Kafka导入 离线HDFS/Hive数据摄入:Restful SQL Python/Java/Go Hive on Druid(too many bugs)查询API:快手OLAP平台概览Druid系统介绍Druid在快手的使用经验和改进分享未来OLAP平台的工作计划快手OLAP平台架构api clientsupersettableaukafkahivebrokerbrokerbrokerbrokerkafka indexerhadoop indexerhistoricaldruidtasktasktasktaskyarnhdfssegmentsegmentsegm
5、entsegmentsegmentsegment探针系统metric监控管理系统ZKZKZKOLAP平台建设中遇到的问题万亿级数据规模落地中的挑战更高效更稳定更快更易用集群稳定性设计:资源隔离部署方案proxyproxyoverlord(主)coordinator(从)overlord(从)coordinator(主)overlord(从)coordinator(从)broker专用brokersbrokerbrokerbrokerbroker通用brokershistoricalmiddle managerhistoricalmiddle managerhistoricalmiddle ma
6、nager通用SSD(保留最近30天数据)专用SSDhistoricalmiddle managerhistoricalmiddle managerhistoricalmiddle manager通用HDD(保留历史数据)专用HDD热数据冷数据性能优化:物化视图维度物化视图()性能优化:物化视图时序物化视图性能优化:元数据交互加速通过慢查询分析,添加索引,alter table druid_segments add index idx_ds_used_s(dataSource,used,end),性能提升如下:从10秒降到1秒,性能有10倍提升Overlord与MySQL交互优化交互SQL:S