Doris实时数仓实战
作者:王春波 著
出版社:机械工业出版社
出版时间:2023-04-01
ISBN:9787111726319
定价:¥99.00
第一部分 基础
第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