书籍详情

Doris实时数仓实战

Doris实时数仓实战

作者:王春波 著

出版社:机械工业出版社

出版时间:2023-04-01

ISBN:9787111726319

定价:¥99.00

购买这本书可以去
内容简介
  这是一本讲解如何用当下流行的数据仓库技术Doris搭建实时数仓的著作。 前10章详细讲解了Doris的技术与实践,包括安装、部署、数据定义、模型详解、数据导入、数据查询、查询优化、FlinkSQL、外部表、集群运维等; 第11-14章详细讲解了数据仓库的设计、OLAP的查询以及实时数仓的建设等。
作者简介
  王春波 启高信息技术总监,专注于数据分析领域的开发工作近十年,是商业银行管理会计、商务智能应用和数据仓库建模领域的专家级人物。曾经在银行业甲方和乙方从事过数据仓库、数据集市开发超过七年时间,又加盟某上市公司大数据事业部,担任资深商务智能工程师。目前在创业型公司担任技术总监职务。 在工作之余,我运营了一个《数据中台研习社》的公众号,也会总结分享一些项目实践过程中遇到的问题。
目录

第一部分 基础

第1章 Doris概述 3

1.1 Doris的前世今生 3

1.1.1 Doris应需而生 3

1.1.2 Doris架构重组 5

1.1.3 Doris引擎升级 6

1.1.4 Doris拥抱开源 7

1.2 Doris的特点 7

1.2.1 极简架构 7

1.2.2 使用简单 9

1.2.3 功能丰富 11

1.2.4 开源开放 13

1.3 Doris核心设计 13

1.3.1 存储引擎 13

1.3.2 查询引擎 15

1.3.3 查询优化器 17

1.3.4 向量化执行引擎 19

1.4 Doris应用场景 20

1.5 Doris的竞争对手 23

1.5.1 Doris的“前浪”

— Greenplum 24

1.5.2 Doris的“表哥”

— Kylin 24

1.5.3 Doris的“知音”

— ClickHouse 25

1.5.4 Doris的“伤痕”

— StarRocks 25

第2章 Doris的安装与部署 27

2.1 集群规划和环境准备 27

2.1.1 环境要求 27

2.1.2 硬件要求 28

2.1.3 节点规划 28

2.1.4 通信端口 29

2.1.5 IP地址绑定 30

2.2 Doris源码编译 30

2.2.1 环境准备 30

2.2.2 通过Git下载Doris源码 31

2.2.3 拉取Docker编译环境 32

2.2.4 启动编译环境 32

2.2.5 进入Docker进行编译 33

2.2.6?编译Broker 33

2.3 安装和部署 34

2.3.1?安装前的准备 35

2.3.2?安装FE 36

2.3.3?安装BE 39

2.3.4 安装Broker 41

2.4 数据库访问和常用命令 41

2.4.1?访问Doris数据库 41

2.4.2 Doris常用命令 44

2.4.3 Doris用户管理 45

第3章 Doris数据对象 47

3.1 数据类型 47

3.1.1 数值类型 48

3.1.2?日期时间类型 48

3.1.3?字符串类型 48

3.1.4?其他扩展类型 48

3.2 OLAP表定义 51

3.2.1 列定义 51

3.2.2 键描述 51

3.2.3 分布描述 52

3.2.4 键值对 53

3.3 分区表定义 55

3.3.1 Range分区 56

3.3.2 List分区 57

3.4 外部表定义 58

3.4.1 MySQL表引擎 58

3.4.2 Broker表引擎 59

3.4.3 Hive表引擎 61

3.4.4 Iceberg表引擎 61

3.5 表的基本操作 62

3.5.1 修改表 62

3.5.2 删除表 65

3.5.3?清空表 65

3.6 视图 66

3.6.1?创建视图 66

3.6.2 修改视图 67

3.6.3?删除视图 67

3.7 函数 67

3.7.1 日期函数 67

3.7.2 正则匹配函数 68

3.7.3 BITMAP函数 68

3.7.4 JSON函数 69

3.7.5?表函数 70

3.7.6?窗口函数 71

第4章 Doris数据模型详解 73

4.1 数据模型及原理 73

4.1.1 Duplicate模型 73

4.1.2 Aggregate模型 74

4.1.3 Unique模型 75

4.2 数据模型实战 76

4.3 数据模型应用场景 79

4.4 表数据存储 80

4.5 分区与分桶 84

4.6 DDL语句执行过程 85

第二部分 进阶

第5章 数据导入实战 91

5.1 INSERT INTO 91

5.1.1 用法详解 92

5.1.2 应用举例 93

5.2 Stream Load 94

5.2.1 执行原理 94

5.2.2 用法详解 96

5.2.3 应用举例 100

5.3 Broker Load 102

5.3.1 执行原理 102

5.3.2 用法详解 103

5.3.3 应用举例 105

5.4 Routine Load 108

5.4.1 执行原理 109

5.4.2 用法详解 110

5.4.3 应用举例 112

5.5 Binlog Load 115

5.5.1 基本原理 115

5.5.2 用法详解 116

5.5.3 应用举例 118

5.6 DataX 122

5.6.1 DataX执行原理 122

5.6.2 DataX DorisWriter插件 124

5.6.3 应用举例 126

5.7 Spark Load 129

5.7.1 执行原理 129

5.7.2 用法详解 130

5.7.3 应用举例 131

第6章 Doris数据查询 134

6.1 简单查询 136

6.1.1 简单的SQL语法 136

6.1.2 WITH特性 140

6.1.3 IN语句和EXISTS语句 143

6.2 多表关联 145

6.2.1 JOIN操作类型 145

6.2.2 JOIN算法实现 152

6.2.3 分布式JOIN优化策略 152

6.3 开窗查询 155

6.4 BITMAP精准去重 160

6.5 HLL近似去重 164

6.6 GROUPING SETS多维组合 165

第7章 Doris查询优化 168

7.1 执行计划 168

7.2 查询优化器 173

7.3 索引 176

7.4 物化视图 179

7.5 ROLLUP 183

7.6 向量化查询引擎 185

7.7 查询优化总结 186

第三部分 拓展

第8章 Doris流数据 193

8.1 Flink简介 193

8.2 Flink基本概念 196

8.3 Flink SQL和Table API 200

8.4 Flink CDC技术 202

8.5 Flink Doris Connector 206

8.5.1 插件编译与安装 206

8.5.2 环境配置 206

8.5.3 单表增、删、改 209

8.5.4 多表关联 212

8.5.5 汇总数据 213

第9章 Doris外部表 215

9.1 ODBC外部表 215

9.2 Hive外部表 219

9.3 ES外部表 222

9.4 Iceberg外部表 225

第10章 Doris集群管理 227

10.1 集群管理 227

?10.1.1 数据库管理 227

?10.1.2 用户管理 228

?10.1.3 权限管理 228

10.2 集群资源管理 229

?10.2.1 节点资源划分 229

?10.2.2 节点资源限制 231

10.3 集群备份和恢复 232

?10.3.1 数据导出 232

?10.3.2 数据备份 234

?10.3.3 数据恢复 236

?10.3.4 模式备份 237

10.4 集群高可用 238

?10.4.1 Doris一键启动 238

?10.4.2 Doris自启动 239

?10.4.3 Doris升级版本 242

10.5 集群扩缩容 243

?10.5.1 FE扩容 243

?10.5.2 FE缩容 244

?10.5.3 BE扩容 244

?10.5.4 BE缩容 244

?10.5.5 Broker扩缩容 245

10.6 删除恢复 245

第四部分 实战

第11章 数据仓库概述 249

11.1 数据仓库的起源 249

11.2 数据仓库的流行 250

11.3 数据仓库的分布式之路 251

11.4 MPP架构的崛起 253

11.5 数据仓库的未来 255

11.6 概念对比 256

?11.6.1 数据仓库与数据库 256

?11.6.2 数据仓库与大数据

技术 257

?11.6.3 数据仓库与数据中台 257

?11.6.4 数据仓库与数据湖 258

第12章 数据仓库设计 259

12.1 数据仓库架构 259

?12.1.1 Inmon的企业信息

化工厂 260

?12.1.2 Kimball的维度建模

数据仓库 261

?12.1.3 两种建模方式对比 261

12.2 数据仓库分层 262

?12.2.1 操作数据存储层 263

?12.2.2 数据仓库层 263

?12.2.3 应用数据层 265

12.3 实时数据仓库的两条

线路 266

12.4 实时数据仓库的新

选择 269

第13章 基于Doris的OLAP查询和实时

数据仓库实战 272

13.1 项目背景 272

13.2 项目需求 273

13.3 技术方案实现 273

?13.3.1 基于DataX的接口

数据抽取 274

?13.3.2 基于Hive构建数据

仓库 275

?13.3.3 基于Doris构建数据

集市 277

?13.3.4 基于Flink SQL的实时

数据流 278

?13.3.5 代码发布和作业监控 280

13.4 业务方案实现 280

?13.4.1 零售流水及本期、

同期计算 280

?13.4.2 有效店、同店及

渠道分析 281

?13.4.3 库存及齐码率分析 283

?13.4.4 库销比及售罄率分析 283

13.5 项目总结 285

第14章 基于Doris的流批一体数据仓库

实战 287

14.1 项目背景 287

14.2 项目需求 288

14.3 技术方案实现 289

?14.3.1 批量数据同步 290

?14.3.2 实时数据入库 292

?14.3.3 数据仓库分层 294

?14.3.4 全增量一体化数据

加工 295

?14.3.5 流批融合的实时大屏 298

?14.3.6 调度任务 299

14.4 开发规范 300

?14.4.1 数据对象命名规范 300

?14.4.2 建表规范 301

?14.4.3 字段命名规范 302

?14.4.4 调度任务命名规范 303

14.5 项目交付成果 303

?14.5.1 PC端报表 303

?14.5.2 移动端报表 305

?14.5.3 自助分析报表 305

14.6 项目总结 308


猜您喜欢

读书导航