Doris实时数仓实战pdf下载pdf下载

Doris实时数仓实战百度网盘pdf下载

作者:
简介:本篇主要提供Doris实时数仓实战pdf下载
出版社:机械工业出版社京东自营官方旗舰店
出版时间:2023-05
pdf下载价格:9.00¥


预览


内容介绍

产品特色

编辑推荐

适读人群 :大数据工程师和数据库工程师

1.作者是有10余年工作经验的架构师和大数据专家,在MMP领域有丰富经验,是Apache Doris项目的贡献者。

2.Apache Doris PMC主席、3位Apache Doris PMC成员、Select DB创始人以及腾讯、小米、京东的多位专家力荐。

3.从基本操作、架构设计、进阶使用、运维管理、拓展应用、项目实战等多个维度全面讲解Doris。

4.书中包含大量图表,能帮助读者轻松阅读和理解;书中有大量和案例和2个综合案例,能让读者快速获得项目实战能力。


内容简介

这是一本从基本操作、架构设计、进阶使用、运维管理、拓展应用、项目实战等多个维度全面讲解Doris的著作,是资深数据仓库专家兼Doris开源项目贡献者实战经验的总结,得到了Apache Doris PMC主席、Select DB创始人兼CEO以及多位Apache Doris PMC的强烈推荐。通过本书,读者不仅能零基础快速掌握Doris的原理和使用,还能获得搭建离线/在线实时数仓的项目实战经验。

全书内容从逻辑上分为四个部分:

基础篇(第1-4章):首先介绍了Doris的功能特点、架构设计、应用场景,然后讲解了Doris的编译、安装、部署、建表等基本操作,以及Doris的数据对象和数据模型。

进阶篇(第5-7章):从执行原理、用法详解、应用举例3个维度详细讲解了Doris的数据导入、数据查询和查询优化,层层递进。

拓展篇(第8-10章):结合目前流行的Flink框架和各种常用外部表讲解了Doris的拓展应用,还讲解了Doris的集群管理。

实战篇(第11-14章):首先从具体应用的角度介绍了离线数据仓库和实时数据仓库搭建的痛点和难点,然后用2个综合项目讲解了如何结合Doris实现离线数据仓库和实时数据仓库。


作者简介

王春波


资深架构师和大数据技术专家,曾任上海启高信息科技有限公司大数据架构师,现就职于一家互联网公司,任高级数仓工程师,负责电商数仓项目。

具有10余年的数据仓库开发经验,对主流大数据技术、产品与解决方案都有深入研究,尤其擅长用优雅的SQL实现复杂的逻辑。

交付达人,常年奔波在各个项目交付现场,曾成功主导过中国邮政银行、南海农商银行、顺德农商银行、广东省联社、广东南粤银行等多家银行和卡宾、安踏、特步等多家零售鞋服企业的数据仓库项目。

公众号“数据中台研习社”运营者,Apache Doris和Greenplum贡献者,《高效使用Greenplum:入门、进阶与数据中台》作者。


精彩书评

本书理论与实践相结合,不仅系统阐述了Doris的技术原理与应用场景,还将企业数据仓库构建之道融入项目实践,凝聚了作者丰富的实战经验,能帮助读者更好地理解和掌握Doris。

——张家峰 Apache Doris PMC

本书全面介绍了Doris的技术特性和功能用例,并从实战的角度深入浅出地为读者展开相关的技术细节,是一本含金量高、可操作性强的工具书。

——杨宏武 赛美特科技有限公司BIT事业部大数据总监

这是社区和广大Doris用户期待已久的Doris专著。从基础、进阶、拓展和实战四个方面层层递进、深入浅出地介绍了 Doris 数据库的各个方面,相信无论是新手还是资深用户都能受益匪浅。

——李德 腾讯云 Doris 技术负责人/Apache Doris PMC

本书从操作实践角度全面介绍了Doris的架构设计、系统安装、常用操作和应用实战,能够帮读者全面快速地了解Doris的使用方法、领略Doris系统运维的精髓。

——魏祚 小米集团数据库内核研发工程师/Apache Doris PMC

近年来,Doris在各种场景和各大公司中被广泛使用并迅猛发展。本书是一本体系化介绍Doris的书籍,可以指导读者稳定高效地使用Doris,并助力公司数智化转型。

——李海波 京东大数据架构师

本书既有理论,又有实践;既关注整体结构,又注重细节;从基础到进阶,从拓展到实战。特别适合Doris工程师入门学习和当作工具参考书。

——赖志明 数据治理专家/《志明与数据》公众号作者


目录

Contents 目  录

推荐序一

推荐序二

前  言

第一部分 基础

第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


前言/序言

【为何写作本书】

在参与了Apache Doris与Yandex ClickHouse的项目实践后,我深刻认识到了Doris极简架构的优点。相较于ClickHouse,Doris有以下几方面优势。

Doris依赖FE节点管理元数据,可用性高,不依赖外部组件;ClickHouse依赖ZooKeeper管理元数据,容易出现数据不同步的情况。

Doris按照“Bucket+副本”来分布数据,灵活度更高;ClickHouse只支持全节点分布数据或者每个节点分布一份数据,灵活度不高。

在多表关联上,ClickHouse仅完整支持Broadcast Join、Colocate Join,并未实现完整意义上的Shuffle Join;Doris支持Shuffle Join和Bucket Shuffle Join,可以满足更多的Join场景需求。

ClickHouse的函数、字段类型、字段名严格区分大小写,为开发增加了难度;Doris语法完全兼容MySQL,对大小写不敏感,开发简单。

ClickHouse集群分布式表的创建和删除都需要分别操作本地表和分布式表引擎,比较麻烦;Doris默认创建分布式表,建表过程和MySQL的建表过程一致,只是建表语句多一些分布式参数。

ClickHouse物理表中数据的删除和更新是异步执行的,命令执行完以后数据的清理时间不确定,对开发人员非常不友好;Doris支持按照Key字段删除和更新数据,执行完SQL命令后数据即时更新。

目前,Apache Doris已经进入开源的第六年,并于2022年6月成功从Apache孵化器“毕业”,成为Apache顶级项目。据公开资料显示,Apache Doris在美团、小米、京东、百度、网易、字节跳动、快手、腾讯、华为、新浪、知乎、360等大型互联网企业有深入的应用和稳定的生产运行,全球范围内的企业用户规模已超过1000家。

同时,飞轮数据科技(SelectDB)提供了基于开源Doris的云原生实时数据仓库SelectDB Cloud,百度智能云、腾讯云、阿里云、火山引擎等知名云厂商也提供了基于开源Doris的云上托管服务。无论私有化部署,还是云化服务,Apache Doris吸引了越来越多的用户和开发者的关注。

但是截至目前,Apache Doris的学习资料主要依靠社区的技术分享和官方文档(https://doris.apache.org),很少有系统化介绍Doris使用的书籍。作为Doris的早期用户和企业数据仓库架构师,我觉得我有义务为Doris的推广做出一点贡献。所以,我结合数据仓库开发和系统运维过程中积累的一些实战经验,编辑成书,分享给各位读者。与此同时,我也希望将这款优秀的开源软件介绍给更多的朋友,相信Doris一定可以给更多的企业带来价值,帮助企业在数字化转型之路上走得更轻松。


【本书主要内容】

这是一本全方位介绍Doris数据库的技术书,主要内容分为四部分。

第一部分 基础(第1~4章):介绍Doris数据库的入门知识,以及编译、安装、建表等基础操作。

第二部分 进阶(第5~7章):包括数据导入、数据查询和查询优化,内容层层递进。

第三部分 拓展(第8~10章):结合目前流行的Flink框架和各种常用外部表,拓展Doris的应用场景。

第四部分 实战(第11~14章):从具体应用角度介绍了离线数据仓库和实时数据仓库搭建的痛点和难点,结合Doris实现离线数据仓库和实时数据仓库搭建项目。


【读者对象】

本书适合以下读者阅读。

大数据架构师。

数据仓库工程师。

数据平台研发工程师。

计算机专业的高校学生。


【内容特色】

本书全面、翔实地介绍了Doris数据库架构设计、安装、常用操作和运维管理,并结合数据仓库的应用场景分享了两个项目实战,帮助读者更好地使用Doris。本书的特点在于实战性强,并配有丰富的案例和图片,能帮助读者更好地理解Doris原理和应用Doris数据库进行

开发。