当前位置:首页 > 工业技术
Druid实时大数据分析原理与实践
Druid实时大数据分析原理与实践

Druid实时大数据分析原理与实践PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:欧阳辰等著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:9787121306235
  • 页数:326 页
图书介绍:本书简介Druid作为一款开源的实时大数据分析软件,最近几年快速风靡全球互联网公司,特别是对于海量数据和实时性要求高的场景,包括广告数据分析,用户行为分析,数据统计分析,运维监控分析等等,在腾讯,阿里,优酷,小米等公司都有大量成功应用的案例。本书的目的就是帮助技术人员更好的深入理解Druid技术,大数据分析技术选型,Druid的安装和使用,高级特性的使用,也包括一些源代码的解析,附录还包括一些常见问题的快速回答。Druid的生态系统正在不断扩大和成熟,Druid也正在解决越来越多的业务场景。希望本书帮助技术人员做出更好的技术选型,深度了解Druid的功能和原理,更好的解决大数据分析问题。本书也适合大数据分析的从业人员,IT人员,互联网从业者。
《Druid实时大数据分析原理与实践》目录

第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 快速查询(FastQuery) 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 Kafka索引服务 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-Kafka 300

11.2.6 Caravel(Airbnb) 301

11.3 Druid的社区讨论组 302

11.4 Druid展望 302

参考资料 303

附录A 常见问题(FAQ) 304

附录B 常用参数表 312

返回顶部