目录
第 1 章 初识 Doris
1.1 Doris 概述
1.2 Doris 的应用场景
1.2.1 报表分析
1.2.2 即席查询(Ad-Hoc Query)
1.2.3 统一数仓构建
1.2.4 数据湖联邦查询
1.3 Doris 的架构原理
1.4 Doris 的特点
1.4.1 支持标准 SQL 接口
1.4.2 列式存储引擎
1.4.3 支持丰富的索引结构
1.4.4 支持多种存储模型
1.4.5 支持物化视图
1.4.6 MPP 架构设计
1.4.7 支持向量化查询引擎
1.4.8 动态调整执行计划
1.4.9 采用CBO 和 RBO 查询优化器
1.5 Doris 部署
1.5.1 开发测试环境/生产配置建议
1.5.2 Broker 部署介绍
1.5.3 操作系统安装要求
1.5.4 网络需求
1.6 Doris 分布式部署
1.6.1 Doris 下载
1.6.2 节点划分
1.6.3 节点配置
1.6.4 FE部署及启动
1.6.5 FE扩缩容
1.6.6 BE部署及启动
1.6.7 BE扩缩容
1.6.8 Broker 部署(可选)
1.6.9 Doris 集群启停脚本
第 2 章 Doris 数据表设计
2.1 Doris 简单使用
2.1.1 创建用户
2.1.2 创建数据库
2.1.3 账户赋权
2.1.4 创建数据表
2.1.5 查询数据表
2.2 Doris 基础
2.2.1 建表语法及参数解释
2.2.2 数据类型
2.3 数据存储模型基础
2.3.1 Aggregate 数据存储模型
2.3.2 Unique 数据存储模型
2.3.3 Duplicate 数据存储模型
2.3.4 聚合模型的局限性
2.3.5 数据模型的选择建议
2.4 列定义建议
2.5 分区和分桶基础
2.5.1 分区
2.5.2 分桶
2.5.3 复合分区使用场景
2.6 Properties 配置项
2.7 关于 ENGINE
2.8 Doris 索引
2.8.1 前缀索引
2.8.2 Bitmap 索引
2.8.3 Bloom Filter 索引
2.9 Rollup 物化索引
2.9.1 Rollup 物化索引的创建与操作
2.9.2 Rollup 物化索引的作用
第 3 章 Doris 数据导入
3.1 Insert Into
3.1.1 语法及参数
3.1.2 案例
3.2 Binlog Load
3.2.1 基本原理
3.2.2 canal 原理及配置
3.2.3 Doris 同步MySQL 数据案例
3.2.4 注意事项
3.3 Broker Load
3.3.1 基本原理
3.3.2 Broker Load 语法
3.3.3 案例
3.3.4 注意事项
3.4 HDFS Load
3.5 Spark Load
3.5.1 基本原理
3.5.2 Spark 集群搭建
3.5.3 Doris 配置 Spark 与 Yarn
3.5.4 Doris 创建 Spark Resource
3.5.5 Spark Load 语法和结果
3.5.6 Spark Load 导入 HDFS 数据
3.5.7 使用 Spark Load 导入Hive 数据
3.5.8 注意事项
3.6 Routine Load
3.6.1 Routine Load 语法
3.6.2 严格模式
3.6.3 案例
3.6.4 注意事项
3.7 Stream Load
3.7.1 基本原理
3.7.2 语法与结果
3.7.3 开启 Steam Load 记录
3.7.4 案例
3.7.5 注意事项
3.8 通过外部表同步数据到 Doris
3.9 总结
第 4 章 Doris 数据导出及数据管理
4.1 Export 导出
4.1.1 导出原理
4.1.2 Export 语法和结果
4.1.3 Doris 数据导出到 HDFS 案例
4.1.4 注意事项
4.2 Select into outfile 导出
4.2.1 Select into outfile 语法和结果
4.2.2 Doris 数据导出到HDFS 案例
4.2.3 Doris 数据导出到本地案例
4.2.4 注意事项
4.3 MySQL dump 导出
4.3.1 dump 导出案例
4.3.2 注意事项
4.4 BACKUP 数据备份
4.4.1 BACKUP 原理
4.4.2 BACKUP 语法
4.4.3 BACKUP 数据备份案例
4.4.4 注意事项
4.5 RESTORE 数据恢复
4.5.1 RESTORE 数据恢复原理
4.5.2 RESTORE 数据恢复语法
4.5.3 RESTORE 数据恢复案例
4.5.4 注意事项
4.6 RECOVER 数据删除恢复
4.6.1 RECOVER 语法
4.6.2 数据恢复案例
第 5 章 Doris 数据更新与删除
5.1 Update 数据更新
5.1.1 Update 原理
5.1.2 Update 数据更新案例
5.1.3 Update 使用注意事项
5.2 Delete 数据删除
5.2.1 Delete 语法
5.2.2 Delete 删除返回结果
5.2.3 Delete 删除案例
5.2.4 Delete 相关配置
5.3 Sequence 列
5.3.1 基本原理
5.3.2 使用语法
5.3.3 Sequence 列使用案例
5.4 批量删除
5.4.1 批量删除原理
5.4.2 批量删除案例
第 6 章 Doris 进阶
6.1 表结构变更
6.1.1 Schema Change
6.1.2 替换表
6.2 动态分区
6.2.1 动态分区使用及参数
6.2.2 创建历史分区规则
6.2.3 动态分区案例
6.2.4 查看动态分区表调度情况
6.2.5 动态分区注意点
6.3 数据缓存
6.3.1 SQLCache
6.3.2 PartitionCache
6.3.3 缓存使用方式
6.3.4 优化参数
6.3.5 目前不足
6.4 Doris Join 类型
6.4.1 Broadcast Join
6.4.2 Shuffle Join
6.4.3 Bucket Shuffle Join
6.4.4 Colocation Join
6.4.5 4种 Join 对比
6.5 Runtime Filter
6.5.1 Runtime Filter 原理
6.5.2 使用方式
6.5.3 Runtime Filter 案例操作
6.6 Join 优化原理
6.6.1 Runtime Filter Join 优化
6.6.2 Join Reorder
6.6.3 Doris Join 调优方法
6.6.4 Doris Join 调优建议
6.7 BITMAP 精准去重
6.8 物化视图
6.8.1 物化视图使用场景及优势
6.8.2 物化视图&Rollup 对比
6.8.3 物化视图语法
6.8.4 物化视图使用案例
6.8.5 物化视图删除
6.8.6 物化视图局限性
第 7 章 Doris 生态扩展
7.1 Spark Doris Connector
7.1.1 Spark 与 Doris 版本兼容
7.1.2 Spark Doris Connector 源码编译
7.1.3 Spark Doris Connector 使用
7.1.4 Spark 操作 Doris 配置
7.1.5 Spark 和 Doris 列类型映射关系
7.2 Flink Doris Connector
7.2.1 Flink Doris Connector 源码编译
7.2.2 Flink Doris Connector 使用
7.2.3 Flink 操作 Doris 配置
7.2.4 Flink 和 Doris 列类型映射关系
7.3 DataX DorisWriter
7.3.1 DorisWriter 插件集成 DataX 编译
7.3.2 DataX 安 装
7.3.3 DorisWriter 参数
7.3.4 DataX 同步 MySQL 数据到 Doris
7.4 JDBC Catalog
7.4.1 创建 Catalog
7.4.2 数据查询
7.4.3 列类型映射
7.4.4 Doris JDBC 方式操作 MySQL 数据
7.5 Doris 优化
