新書推薦:

《
海权与陆权的变局
》
售價:HK$
107.8

《
《西南联大名师课(全10册)》中国历史·中国文学·中国哲学·诸子百家·诗词曲赋·文化常识·人文精神·
》
售價:HK$
657.8

《
天命无常:五代十国 优酷人文·“梅毅说中国史”系列(全三册)
》
售價:HK$
151.8

《
武王墩:亲历2020—2024楚王墓发掘
》
售價:HK$
96.8

《
异化
》
售價:HK$
94.6

《
你的脆弱很正常
》
售價:HK$
60.0

《
鸟墙——康奈尔鸟类学实验室巨幅壁画诞生记
》
售價:HK$
195.8

《
政治人--政治的社会基础(东方编译所译丛)
》
售價:HK$
129.8
|
| 編輯推薦: |
|
这是Doris社区PPMC官方出品,SelectDB资深技术专家和Doris核心开发者执笔,权威性毋庸置疑。本书得到了Apache Doris 创始人及来自多家大厂的行业领袖联合推荐。书中凝结了Doris数百位开发者的经验和智慧,结合数千名Doris用户真实使用经历系统解读Doris的原理和开发实战。
|
| 內容簡介: |
这是一本由Doris社区官方出品的Doris权威指南。本书基于Doris 2.1版本撰写,由Apache Doris PMC Chair和SelectDB高级解决方案架构师联合撰写。书中不仅深入剖析了Doris的核心原理,还基于实际用户的需求对实战进行全方位指导。可以说,本书是一本融合了Doris社区数百位开发者和数千名使用者的智慧和使用经验的经典之作。 本书共11章。 第1~3章:面向Doris的初级使用者,对快速入门Doris必备知识、Doris表结构设计和使用、Doris数据操作等基础内容进行全面分享。读者基于此可以快速把Doris用起来。 第4~9章:从原理和应用两个层面对Doris存储引擎、Doris查询引擎、Doris 倒排索引、Doris高并发点查、Doris数据湖、生态组件进行深度剖析,带领用户深入理解Doris原理和使用。 第10章:重点介绍Doris运维管理相关内容。 第11章:介绍如何基于Doris构建实时数据仓库,这部分不仅介绍了具体的构建方法,还给出了基于Doris构建数据仓库的实践。
|
| 關於作者: |
王磊 Apache Doris布道师、SelectDB高级解决方案架构师、阿里云MVP。具有超12年大数据领域工作经验,对大数据开发、数据治理、数据湖和实时数仓有深入理解和实践。著有《图解Spark大数据快速分析实战》《offer来了:Java面试核心知识点精讲(原理篇)》《offer来了:Java面试核心知识点精讲(架构篇)》《Offer来了:Java面试核心知识点精讲(第2版)》。 陈明雨 Apache Doris PMC Chair,北京飞轮科技技术副总裁。前百度 Doris 团队技术负责人。10年分布式数据库从业经验,参与了从 Apache Doris 孵化到毕业的全过程。
|
| 目錄:
|
目 录Contents 推荐序一 走向现代化数据仓库 推荐序二 新一代高性能分析型数据库的崛起 前言 第1章 Doris快速入门 1 1.1 什么是Doris 1 1.1.1 Doris的发展历史 1 1.1.2 Doris的架构设计简介 2 1.1.3 Doris的特点 3 1.1.4 Doris的主要应用场景 5 1.2 Doris的安装部署 7 1.2.1 操作系统要求 7 1.2.2 单节点部署 8 1.2.3 高可用集群部署 11 1.2.4 集群端口说明 19 1.3 Doris使用入门 19 1.3.1 数据模型简介 20 1.3.2 明细模型实战 20 1.3.3 主键模型实战 21 1.3.4 统计模型实战 22 1.3.5 Stream Load数据导入 23 1.3.6 数据变更操作 25 1.3.7 倒排索引使用入门 27 第2章 Doris表结构的设计和使用 29 2.1 Doris的数据模型 29 2.1.1 聚合模型 29 2.1.2 主键模型 35 2.1.3 明细模型 37 2.2 数据分布 38 2.2.1 数据分区 39 2.2.2 分区维护 44 2.2.3 数据分桶 55 2.2.4 分桶设置最佳实践 60 2.3 同步物化视图 63 2.3.1 同步物化视图的概念 63 2.3.2 同步物化视图的原理 67 2.3.3 同步物化视图的操作 73 2.3.4 同步物化视图使用案例 78 2.3.5 同步物化视图的注意事项 81 2.3.6 同步物化视图和Rollup 82 2.4 异步物化视图 82 2.4.1 异步物化视图的概念和使用场景 82 2.4.2 异步物化视图的原理 84 2.4.3 异步物化视图的使用 89 2.5 索引构建 93 2.5.1 ZoneMap索引 94 2.5.2 前缀索引 95 2.5.3 Bitmap 索引 96 2.5.4 Bloom Filter索引 100 第3章 Doris数据操作 104 3.1 数据导入 104 3.1.1 Stream Load 105 3.1.2 Routine Load 115 3.1.3 INSERT INTO 124 3.2 数据导出 133 3.2.1 Export 133 3.2.2 OUTFILE 137 3.3 数据变更 138 3.3.1 批量标记数据更新和删除 139 3.3.2 基于SQL语句进行数据变更 144 3.4 数据连接协议 148 3.4.1 MySQL协议 148 3.4.2 Arrow Flight SQL协议 150 3.5 作业调度 159 3.5.1 作业调度的概念和使用场景 159 3.5.2 作业调度的原理 159 3.5.3 作业调度的使用 161 第4章 存储引擎 163 4.1 数据分布 163 4.1.1 分区 164 4.1.2 分桶 165 4.1.3 Tablet、Rowset、Version、Segment的关系 168 4.1.4 Doris存储目录 168 4.1.5 Segment数据格式 169 4.2 数据压缩 177 4.2.1 LZ4压缩算法 177 4.2.2 ZSTD压缩算法 177 4.3 数据写入和更新原理 179 4.3.1 LSM 179 4.3.2 Doris数据写入原理 181 4.3.3 MVCC高并发更新原理 187 4.3.4 Merge On Read原理和实现 188 4.3.5 Merge On Write原理和实现 189 4.3.6 部分列更新 195 4.4 数据合并原理和实现 197 4.5 多副本写入 208 4.5.1 Doris多副本写入流程 208 4.5.2 Doris写入流程优化:Memtable前移 210 4.5.3 副本写入原则:多副本机制 211 4.6 副本管理机制 212 4.6.1 Doris多副本原理 212 4.6.2 副本状态和Tablet状态 214 4.6.3 副本修复 215 4.6.4 副本均衡 220 4.6.5 副本状态命令 223 第5章 Doris查询引擎原理 225 5.1 查询规划器原理 225 5.1.1 Doris SQL分布式执行流程 225 5.1.2 SQL解析计划 226 5.2 Pipeline执行引擎 243 5.2.1 Pipeline执行引擎的背景 243 5.2.2 Pipeline执行引擎的设计思想 244 5.2.3 Pipeline的实现逻辑 245 5.2.4 Pipeline优化 250 5.3 统计信息收集 260 5.3.1 统计信息收集原理 261 5.3.2 外表统计信息收集 264 5.3.3 收集统计信息实战 265 5.4 分布式连接原理和优化 269 5.4.1 分布式连接原理 270 5.4.2 Doris连接优化 271 5.5 查询数据落盘 285 5.5.1 数据落盘原理 285 5.5.2 数据落盘使用 285 第6章 Doris 倒排索引原理和应用 287 6.1 日志分析的需求和挑战 287 6.1.1 日志分析的作用 287 6.1.2 日志分析的主要应用场景 288 6.1.3 日志分析场景的特点 289 6.1.4 日志分析场景的总体架构 290 6.2 Doris日志解决方案 291 6.2.1 开放性 292 6.2.2 高效写入 292 6.2.3 高效查询 293 6.2.4 统一 293 6.3 Doris日志核心技术解析 294 6.3.1 倒排索引的基础原理 294 6.3.2 Doris倒排索引的实现原理 297 6.3.3 Variant 306 6.3.4 动态剪枝TopN算法 325 6.3.5 N-Gram索引 327 6.3.6 Doris文本检索的其他加速优化方法 332 6.4 Doris日志应用实战 332 6.4.1 倒排索引语法介绍 333 6.4.2 倒排索引结合冷热分离架构入门示例 336 6.4.3 Doris日志导入方式 339 6.4.4 Doris日志存储场景参数优化 342 第7章 高并发点查原理和应用 344 7.1 什么是高并发点查 344 7.2 Doris高并发点查的挑战 345 7.2.1 行存和列存的优缺点 345 7.2.2 Doris查询计划复杂 348 7.2.3 SQL解析压力大 349 7.3 Doris高并发核心技术解析 349 7.3.1 行列混存 349 7.3.2 点查路径优化 350 7.3.3 预处理语句优化 352 7.3.4 行级缓存 353 7.4 Doris高并发点查使用 354 第8章 湖仓一体原理和应用 356 8.1 湖仓一体概述 356 8.1.1 数据仓库和数据湖的区别 356 8.1.2 湖仓一体的优点 357 8.1.3 Doris 的湖仓一体演进路线 358 8.2 湖仓一体架构概述 360 8.3 数据源连接框架 363 8.3.1 元数据统一表达 363 8.3.2 元数据缓存及同步 365 8.3.3 数据访问 367 8.4 数据湖写入 380 8.5 数据湖查询原理解析 385 8.5.1 查询规划 385 8.5.2 查询执行 390 8.6 Doris多源数据目录实战 392 8.6.1 Doris 多源数据目录简介 392 8.6.2 Doris 多源数据目录主要应用场景 393 8.6.3 Doris 多源数据目录常用操作 395 8.6.4 Doris 多源数据目录使用实战 400 第9章 生态组件原理和应用 419 9.1 Flink Doris连接器 419 9.1.1 Flink 简介 420 9.1.2 Flink CDC简介 420 9.1.3 Flink Doris 连接器 421 9.1.4 Flink Doris源连接器原理和使用 422 9.1.5 Flink Doris 接收连接器原理和使用 427 9.1.6 Flink Doris接收连接器整库同步 433 9.1.7 Flink Doris接收连接器循环接入 436 9.2 Spark Doris 连接器 439 9.2.1 Spark简介 439 9.2.2 Spark Doris 源连接器原理和使用 440 9.2.3 Spark Doris 接收连接器原理和使用 443 9.2.4 Spark Doris 连接器核心配置参数 449 第10章 运维管理 451 10.1 集群管理 451 10.1.1 节点启停操作 451 10.1.2 节点扩缩容 452 10.2 账号与权限管理 455 10.3 资源管理 459 10.3.1 资源组原理和使用 459 10.3.2 工作负载组 461 10.3.3 SQL级别资源限制 467 10.4 跨集群复制 468 10.4.1 CCR 实现原理 469 10.4.2 CCR 使用 471 第11章 基于Doris构建实时数据仓库 474 11.1 实时数据仓库的定义及构建方法 474 11.1.1 Hadoop大数据平台 474 11.1.2 实时数据仓库架构出现的必要性 476 11.1.3 基于Doris的实时数据仓库的特点 476 11.2 基于Doris的实时数据仓库架构 478 11.2.1 Doris数据接入 479 11.2.2 数据仓库分层理论 486 11.2.3 Doris多种数据仓库分层方案 487
|
| 內容試閱:
|
前 言Preface 在过去的3年里,笔者在和各行各业的500多家公司、3000多名大数据研发人员的沟通中发现,大家最关注Doris两个方面的问题: Doris的主要应用场景有哪些?如何基于Doris构建实时数据仓库? Doris底层原理到底是什么?为什么它能执行得这么快? 目前用户主要从Doris官网了解Doris,但是Doris官网主要介绍Doris的功能特性和用法,对于用户更关心的架构及内核实现方面的介绍非常有限。因此,为了满足用户的相关需求,我们产生了撰写本书的想法。 读者通过本书可以深入理解Doris内核原理,掌握Doris各个组件的设计原理和使用方法,进而快速且深入地应用Doris。 本书首先介绍了Doris相关的基础知识、安装部署方法、使用入门、表结构设计和使用、Doris数据操作,目的是帮助用户快速入门;其次深入剖析了Doris内核的设计原理,重点对Doris 2.1版本的存储引擎、查询引擎设计和实现进行了详细介绍,其中不仅包括实现方法,还包括选择该实现方法的深度分析,这些内容完整呈现了Doris研发团队的思考过程;再次介绍了Doris倒排索引的原理和应用、高并发点查的原理和应用、湖仓一体的原理和应用、生态组件的原理和应用等核心内容;最后以应用为目的,对Doris运维管理及基于Doris构建实时数据仓库进行详细解读。大家若想进一步了解本书其他内容,可以查阅目录或者阅读内容简介,这里就不再展开了。相信这本诚意满满的图书,一定不会让你失望的。 需要重点提及的是,本书还穿插了从Doris 2.0到Doris 2.1迭代和发展时期Doris团队面对的问题,深度分享了在这个过程中为了解决这些问题,Doris社区研发人员的设计思路和部分源码实现。因此本书不但适用于Doris生态中的数据仓库开发人员、大数据运维工程师、大数据架构师、大数据平台技术总监、Doris数据库内核研发人员,还适用于其他数据库研发 人员。 数据库内核的实现其实是一个很复杂的工程,因此本书力求在内容呈现上简单易懂,形式上图文并茂,以确保读者可以更轻松地阅读并掌握本书中的内容。 如果大家想快速了解Doris并基于Doris构建实时数据仓库,则建议重点阅读第1~3章、第9章、第10章。如果大家想在使用的基础上深入理解Doris内核原理和实现,则建议按照本书章节安排,从前往后依次阅读。 由于本书涉及内容广泛,写作过程中难免有疏漏之处。如果你在阅读本书的过程中发现不妥或者错误之处,望及时指出,我们将在后续的印刷中进行修订。大家可以将勘误发送至wangleigis@163.con。 本书能够出版,首先需要感谢每位Doris的使用者和研发者,你们是Doris社区最重要的组成部分。Doris使用者提出的宝贵需求和意见、Doris研发者为社区内核研发和生态工具研发提供的功能实现代码,都是Doris发展的巨大动力。你们是Doris的创造者和使用者,也是本书的主要读者。希望本书能成为Doris社区生态研发人员全面深入了解Doris的得力工具。 特别感谢Doris社区的衣国垒、杨勇强、肖康、张文歆、廖鑫、姜凯、李航宇、武思对本书内容的指正,尤其是廖鑫对存储引擎部分的指导,以及姜凯、李航宇对倒排索引部分的 指导。 技术书籍的写作是很耗费精力的,出于工作的原因,笔者只能在晚上和周末写作,常常伏案到凌晨,所以十分感谢家人和朋友在工作和生活中对笔者的理解、支持、关心和鼓励。
王磊
|
|