发表于2024-11-25
精通实时大数据分析!
Druid项目主要创始人杨仿今、蚂蚁金服CTO鲁肃、饿了么CTO张雪峰、Testin云测总裁徐琨、 Druid中国用户组发起人陈冠诚、 TalkingData CTO肖文峰、 OneAPM创始人,董事长何晓阳、Cloudera大中华区技术总监刘隶放、神策数据公司创始人&CEO;桑文锋、AdMaster(精硕科技)技术副总裁卢亿雷、微软中国研发中心,高级研发总监 Sherman Tong、AdHoc吆喝科技创始人CEO 王晔联合力荐!
Druid 作为一款开源的实时大数据分析软件,最近几年快速风靡全球互联网公司,特别是对于海量数据和实时性要求高的场景,包括广告数据分析、用户行为分析、数据统计分析、运维监控分析等,在腾讯、阿里、优酷、小米等公司都有大量成功应用的案例。《Druid实时大数据分析原理与实践》的目的就是帮助技术人员更好地深入理解Druid 技术、大数据分析技术选型、Druid 的安装和使用、高级特性的使用,也包括一些源代码的解析,以及一些常见问题的快速回答。
Druid 的生态系统正在不断扩大和成熟,Druid 也正在解决越来越多的业务场景。希望本书能帮助技术人员做出更好的技术选型,深度了解Druid 的功能和原理,更好地解决大数据分析问题。《Druid实时大数据分析原理与实践》适合大数据分析的从业人员、IT 人员、互联网从业者阅读。
欧阳辰,小米商业产品部研发总监,负责广告架构和数据分析平台,擅长数据挖掘,大数据分析和广告搜索架构。之前,在微软工作10年,任微软公司高级开发经理,负责Contextual Ads产品研发,开发Bing Index Serve的核心模块。持有多项关于互联网广告及搜索的美国专利。创办“互联居”公众号,致力于互联网广告技术的繁荣。毕业于北京大学计算机系,获硕士学历。
刘麒赟,现任Testin云测公司技术总监,全面负责领导团队完成数据分析产品的研发。作为资深数据技术专家,曾为多个著名开源项目(Hadoop/Sqoop/Oozie/Druid)贡献源代码,在互联网大数据分析、机器学习和统计学应用等方面拥有丰富的实战经验和相关专利。在企业级产品研发和客户支持方面也有着丰富的经验,并曾为中国多地(包括香港和台湾地区)的龙头企业成功进行实地支持,为美国与新加坡等地客户进行远程支持。之前,曾任OneAPM公司大数据架构师,以及在IBM公司工作七年并任IBM全球大数据平台产品BigInsights的Advisory Software Engineer。
张海雷,资深工程师。目前在优酷土豆广告技术团队负责Druid集群的维护。活跃在Druid中国用户组,Druid、Redis和Storm的开源项目代码贡献者。
高振源,热爱技术,爱智求真的后台开发和数据工程师。先后负责过广告DSP产品、QQ公众号精准投放平台、数据分析产品等研发工作。目前在腾讯SNG企业产品部,负责企点产品的数据平台工作。
许哲,腾讯后台开发高级工程师,先后参与了公司企业产品消息服务后台、QQ公众号后台、QQ公众号精准投放平台等研发,目前在腾讯SNG企业产品部,负责腾讯企点的后台和数据平台开发工作。
正如许多广为应用的开源项目,Druid 是为解决某个特定问题而诞生的。我希望通过这本书,您将更深入地了解Druid,并用它为您的组织创造价值。
——杨仿今 Druid项目主要创始人Imply公司联合创始人,CEO
只有久经考验又乐于分享的大数据架构师,才有这样的功力,把实时大数据分析技术的原理与实践讲得这么系统与透彻。书中随处可见来自实践的真知灼见。阅读这本书,就如同由一位老司机带着开启的美妙旅程,一路轻松、兴奋、风景无限。
——鲁肃 蚂蚁金服 CTO
Druid作为一款优秀的实时大数据分析引擎,非常强大,与之伴随的是使用上的复杂性,因此理解Druid的架构和运行机制原理对于更好地使用Druid及定制化扩展显得尤为重要。
——张雪峰 饿了么CTO
大数据实时多维度分析场景充满技术挑战,很高兴看到Druid完美地解决了我们客户的问题。大数据时代已经到来,Druid无疑是解决大数据多维度实时分析的zui佳选择,本书则是一把打开该技术之门的钥匙。
——徐琨 Testin云测总裁
Druid因其在快速查询、水平扩展、实时数据摄入和分析这三方面都有良好的支持,很好地满足了我们的需求。本书的几位作者都是Druid中国用户组中非常活跃的技术专家,他们在社区中的口碑是本书质量的保证,如果你对Druid感兴趣,这本书一定不能错过。
——陈冠诚 Druid中国用户组发起人
TalkingData自2013年开始关注Druid项目,因为它的特性非常契合分析的业务场景,能解决海量数据的多维交叉分析问题。同时,为了增强其分析能力,我们也在把基于Bitmap的自研分析引擎Atom Cube融合到Druid中。拥抱开源社区的各种曲折,有苦有乐,不足道也,但是庆幸有许多热情的领路人,给予大家无私的帮助。相信这本书能够带大家领略Druid的魅力,让大家少走弯路,真正聚焦在对数据的探索上。
——肖文峰TalkingData CTO
Druid正在开创海量数据实时数据分析的时代,作为一家以技术创新驱动的公司,OneAPM幸运地在正确的时间选择了正确的技术构筑自己的后端处理平台,我希望OneAPM的经验能够给后来者以借鉴,本书作者之一麒赟是Druid技术在OneAPM落地生根的实践者,这本书一定能够给大家更多的启迪。
——何晓阳 OneAPM创始人,董事长
开源软件在过去十年中蓬勃发展,特别是在大数据等新兴领域,开源软件逐渐在企业级应用中占有一席之地。我们很欣喜地看到Druid这样有中国元素的开源项目在这个过程中茁壮成长,被企业客户接受并在核心系统应用中部署。
——刘隶放Cloudera 大中华区技术总监
我用“大、全、细、时”四个字来总结大数据,传统数据库在这种数据特性下根本无法支撑。而Druid的出现,正好比较完美地满足了这四点,特别是对于维度变换不频繁的场景,非常适用。本书既讲解了Druid技术本身,也讲解了多维数据分析相关的知识,并对业内的分布式存储和查询系统都做了对比。想要系统掌握Druid技术,推荐阅读本书。
——桑文锋 神策数据公司创始人,CEO
本书让读者深入了解Druid的架构设计、设计理念、安装配置、集群管理和监控,书中还介绍了一些高级特性和核心源码的导读,zui后深入分析了Druid的zui佳实践。本书采用由浅入深、循序渐进的方式介绍Druid,是一本非常难得的OLAP的实时分析系统经典书籍。
——卢亿雷AdMaster(精硕科技)技术副总裁
Druid 是一套非常棒的大数据软件,本书也是一本非常棒的Druid 课本。本书出色之处在于,不仅对Druid 的架构以及细节有深入的阐述,而且有非常详尽的代码例子(codelab),甚至有一章专门介绍怎么安装和配置,非常适合工程师一边学习,一边上机实践。
——王晔 AdHoc吆喝科技创始人,CEO
向在大数据行业从事多年的架构师、正在如火如荼地开展大数据相关工作的工程师,以及正在准备步入大数据行业的新手推荐这本书。
——Sherman Tong 微软中国研发中心,高级研发总监
第1 章初识Druid 1
1.1 Druid 是什么1
1.2 大数据分析和Druid 1
1.3 Druid 的产生3
1.3.1 MetaMarkets 简介3
1.3.2 失败总结4
1.4 Druid 的三个设计原则4
1.4.1 快速查询(Fast Query) 5
1.4.2 水平扩展能力(Horizontal Scalability) 5
1.4.3 实时分析(Realtime Analytics) 6
1.5 Druid 的技术特点6
1.5.1 数据吞吐量大6
1.5.2 支持流式数据摄入6
1.5.3 查询灵活且快6
1.5.4 社区支持力度大7
1.6 Druid 的Hello World 7
1.6.1 Druid 的部署环境7
1.6.2 Druid 的基本概念7
1.7 系统的扩展性9
1.8 性能指标10
1.9 Druid 的应用场景10
1.9.1 国内公司11
1.9.2 国外公司12
1.10 小结13
参考资料13
第2 章数据分析及相关软件. 15
2.1 数据分析及相关概念15
2.2 数据分析软件的发展16
2.3 数据分析软件的分类17
2.3.1 商业软件17
2.3.2 时序数据库22
2.3.3 开源分布式计算平台23
2.3.4 开源分析数据库25
2.3.5 SQL on Hadoop/Spark 31
2.3.6 数据分析云服务33
2.4 小结34
参考资料34
第3 章架构详解. 35
3.1 Druid 架构概览35
3.2 Druid 架构设计思想36
3.2.1 索引对树结构的选择37
3.2.2 Druid 总体架构41
3.2.3 基于DataSource 与Segment 的数据结构43
3.3 扩展系统45
3.3.1 主要的扩展45
3.3.2 下载与加载扩展46
3.4 实时节点47
3.4.1 Segment 数据文件的制造与传播47
3.4.2 高可用性与可扩展性48
3.5 历史节点49
3.5.1 内存为王的查询之道49
3.5.2 层的分组功能50
3.5.3 高可用性与可扩展性51
3.6 查询节点51
3.6.1 查询中枢点51
3.6.2 缓存的使用52
3.6.3 高可用性52
3.7 协调节点53
3.7.1 集群数据负载均衡的主宰53
3.7.2 利用规则管理数据生命周期53
3.7.3 副本实现Segment 的高可用性54
3.7.4 高可用性54
3.8 索引服务54
3.8.1 主从结构的架构54
3.8.2 统治节点55
3.8.3 中间管理者与苦工56
3.8.4 任务56
3.9 小结57
第4 章安装与配置. 58
4.1 安装准备58
4.1.1 安装包简介58
4.1.2 安装环境59
4.1.3 Druid 外部依赖60
4.2 简单示例61
4.2.1 服务运行61
4.2.2 数据导入与查询62
4.3 规划与部署65
4.4 基本配置68
4.4.1 基础依赖配置68
4.4.2 数据节点配置调优69
4.4.3 查询节点配置调优69
4.5 集群节点配置示例70
4.5.1 节点规划70
4.5.2 Master 机器配置72
4.5.3 Data 机器配置76
4.6 小结79
第5 章数据摄入. 80
5.1 数据摄入的两种方式80
5.1.1 流式数据源80
5.1.2 静态数据源81
5.2 流式数据摄取81
5.2.1 以Pull 方式摄取82
5.2.2 用户行为数据摄取案例86
5.2.3 以Push 方式摄取89
5.2.4 索引服务任务相关管理接口91
5.3 静态数据批量摄取94
5.3.1 以索引服务方式摄取94
5.3.2 以Hadoop 方式摄取96
5.4 流式与批量数据摄取的结合99
5.4.1 Lambda 架构99
5.4.2 解决时间窗口问题100
5.5 数据摄取的其他重要知识101
5.5.1 数据分片101
5.5.2 数据复制106
5.5.3 索引服务之Tranquility 107
5.5.4 高基数维度优化111
5.6 小结116
第6 章数据查询. 117
6.1 查询过程117
6.2 组件118
6.2.1 Filter 118
6.2.2 Aggregator 121
6.2.3 Post-Aggregator 125
6.2.4 Search Query 129
6.2.5 Interval 129
6.2.6 Context 130
6.3 案例介绍131
6.4 Timeseries 134
6.5 TopN 138
6.6 GroupBy 144
6.7 Select 149
6.8 Search 151
6.9 元数据查询153
6.10 小结156
第7 章高级功能和特性. 157
7.1 近似直方图(Approximate Histogram) 158
7.1.1 分位数和直方图158
7.1.2 实现原理158
7.1.3 如何使用161
7.1.4 近似直方图小结163
7.2 数据Sketch 163
7.2.1 DataSketch Aggregator 163
7.2.2 DataSketch Post-Aggregator 167
7.3 地理查询(Geographic Query) 170
7.3.1 基本原理170
7.3.2 空间索引(Spatial Indexing) 171
7.3.3 空间过滤(Spatial Filter) 171
7.3.4 边界条件(Boundary Condition) 172
7.3.5 地理查询小结172
7.4 Router 172
7.4.1 Router 概览172
7.4.2 路由规则174
7.4.3 配置175
7.4.4 路由策略175
7.5 Ka�轪 索引服务177
7.5.1 设计背景177
7.5.2 实现178
7.5.3 如何使用182
7.6 Supervisor API 186
7.6.1 创建Supervisor 186
7.6.2 关闭Supervisor 186
7.6.3 获取当前执行的Supervisor 186
7.6.4 获取Supervisor 规范186
7.6.5 获取Supervisor 的状态报告186
7.6.6 获取所有Supervisor 的历史187
7.6.7 获取Supervisor 的历史187
7.7 最佳实践187
7.7.1 容量规划187
7.7.2 Supervisor 的持久化187
7.7.3 Schema 的配置与变更188
7.8 小结188
第8 章核心源代码探析. 189
8.1 如何编译Druid 代码189
8.2 Druid 项目介绍190
8.3 索引结构模块和层次关系192
8.4 Column 结构192
8.5 Segment 195
8.6 Query 模块203
8.6.1 基础组件203
8.6.2 内存池管理206
8.6.3 查询流程概览207
8.6.4 查询引擎225
8.7 Coordinator 模块229
8.8 小结237
第9 章监控和安全. 238
9.1 Druid 监控238
9.1.1 Druid 监控指标238
9.1.2 常用的监控方法245
9.2 Druid 告警250
9.2.1 Druid 告警信息250
9.2.2 Druid 与告警系统的集成250
9.3 Druid 安全251
9.3.1 Druid 与利用Kerberos 加强安全认证的系统集成251
9.3.2 集成外部权限模块完成用户授权255
9.4 小结256
第10 章实践和应用. 257
10.1 小米257
10.1.1 场景一:小米统计服务258
10.1.2 场景二:广告平台实时数据分析260
10.2 优酷土豆262
10.2.1 需求分析262
10.2.2 技术选型及工程实践263
10.2.3 优化策略266
10.3 腾讯267
10.3.1 工程实践267
10.3.2 业务实践270
10.4 蓝海讯通279
10.5 小结284
第11 章Druid 生态与展望. 285
11.1 Druid 生态系统285
11.2 Druid 生态系统资源288
11.2.1 IAP 288
11.2.2 Plywood 289
11.2.3 PlyQL 294
11.2.4 Pivot 297
11.2.5 Druid-Metrics-Ka�轪 300
11.2.6 Caravel(Airbnb) 301
11.3 Druid 的社区讨论组302
11.4 Druid 展望302
参考资料303
附录A 常见问题(FAQ) 304
附录B 常用参数表. 312
推荐序一
“Druid是一套非常棒的大数据软件,而本书是一本非常棒的Druid课本。”
阅读完欧阳辰等人写的原稿,我很快做出这样的判断,更感叹大数据技术已经彻底迈入一个全新的爆发时代。
作为曾经服务于大数据技术的先驱公司Google的从业者,我个人认为大数据技术有着明显的三个历史发展阶段:
Druid实时大数据分析原理与实践 下载 mobi pdf epub txt 电子书 格式 2024
Druid实时大数据分析原理与实践 下载 mobi epub pdf 电子书很好!!!!!!!!!!!!!!!!!!!!!!!!
评分Flume:构建高可用、可扩展的海量日志采集系统
评分工具书,印刷质量不错
评分书还可以,还没看完,学习一下
评分物流很快,书籍不错
评分看到企业家的良知,这仅仅是一个对知识的奢侈浪费
评分书不错,值得看看看
评分不错
评分好书 大数据学习的好书 值得看
Druid实时大数据分析原理与实践 mobi epub pdf txt 电子书 格式下载 2024