注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络数据库openGauss数据库源码解析

openGauss数据库源码解析

openGauss数据库源码解析

定 价:¥145.00

作 者: 李国良,张树杰 著
出版社: 清华大学出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787302586173 出版时间: 2021-09-01 包装: 平装
开本: 16开 页数: 636 字数:  

内容简介

  本书是针对openGauss开源数据库的源码进行分模块解析的书籍。全书共分为10章。第1章对openGauss进行简介。第2章介绍了内核开发所需的入门知识,包括openGauss的安装、基本使用、开发、编译、参与社区开源项目等。第3~10章针对openGauss不同的功能模块分别进行源码介绍。第3章针对系统表、多线程架构、内存管理等作用于整个数据库系统的公共组件从定义、原理、流程等方面进行源码介绍; 第4章介绍openGauss满足OLTP、OLAP不同业务场景的存储引擎实现及对应的源码; 第5章介绍保证数据库ACID属性的事务机制的原理和源码; 第6章介绍SQL 引擎的SQL解析和查询优化代码主流程; 第7章介绍openGauss执行器的整体架构和各类执行算子的源码; 第8章介绍openGauss在人工智能与数据库结合领域探索的源码; 第9章从系统整体角度出发,针对 基础和高阶的安全能力进行全面介绍和源码解读; 第10章介绍openGauss的备份恢复机制的源码,包括全量备份、增量备份所涉及的工具、交互流程和主要文件等。 本书可以作为内核开发者了解openGauss数据库并基于openGauss进行数据库开发的参考教程,也可以作为广大高校计算机专业“数据库设计”课程的参考教材。

作者简介

  李国良清华大学计算机系副主任、教授、博士生导师。在数据库顶级会议和期刊上发表论文150余篇,他引10000余次。先后主持国家杰出青年科学基金、优秀青年基金、“青年973”等多个项目。获得VLDB青年贡献奖,IEEE数据工程杰出新人奖,国家科学技术进步二等奖,VLDB、KDD、ICDE、CIKM最佳论文奖(提名奖)。担任SIGMOD 2021大会主席。张树杰华为数据库技术专家,长期从事数据库内核开发工作,精通数据库内核原理和架构设计,目前在华为高斯实验室负责GaussDB SQL引擎的开发和技术规划,著有《PostgreSQL技术内幕:查询优化深度探索》《PostgreSQL技术内幕:事务处理深度探索》等图书。

图书目录

第1章 openGauss简介001
1.1 openGauss概述001
1.2 应用场景003
1.3 系统架构003
1.4 代码结构004
1.4.1 通信管理004
1.4.2 SQL引擎006
1.4.3 存储引擎020
1.5 价值特性034
1.5.1 高性能035
1.5.2 高扩展037
1.5.3 高可用038
1.5.4 可维护性039
1.5.5 数据库安全040
1.5.6 AI能力043
1.6 本章小结044
第2章 openGauss开发快速入门045
2.1 安装部署045
2.1.1 了解安装流程045
2.1.2 准备软硬件安装环境046
2.1.3 修改操作系统配置048
2.1.4 设置root用户远程登录050
2.1.5 获取安装包051
2.1.6 创建XML配置文件053
2.1.7 初始化安装环境057
2.1.8 执行安装058
2.1.9 安装验证060
2.2 基本使用060
2.2.1 连接数据库060
12 openGauss数据库源码解析
2.2.2 使用数据库062
2.3 开发和编译080
2.3.1 搭建开发环境080
2.3.2 搭建编译环境085
2.3.3 版本编译086
2.4 参与openGauss社区开源项目091
2.4.1 开源社区概述091
2.4.2 社区环境准备092
2.4.3 提交Issue 093
2.4.4 贡献代码和文档094
2.4.5 Git使用099
2.5 本章小结100
第3章 公共组件源码解析101
3.1 系统表101
3.1.1 系统表的定义101
3.1.2 系统表的访问103
3.2 数据库初始化103
3.3 多线程架构107
3.3.1 openGauss主要线程108
3.3.2 线程间通信108
3.3.3 线程初始化流程109
3.4 线程池技术111
3.4.1 线程池原理111
3.4.2 线程池实现112
3.5 内存管理115
3.6 多维监控120
3.7 模拟信号机制123
3.8 本章小结125
第4章 存储引擎源码解析126
4.1 存储引擎整体架构与代码126
4.2 磁盘引擎131
4.2.1 磁盘引擎整体框架与代码131
4.2.2 行存储统一访存接口134
4.2.3 astore 137
目录 13
4.2.4 ustore 158
4.2.5 行存储索引机制181
4.2.6 行存储缓存机制184
4.2.7 cstore 189
4.2.8 日志系统202
4.2.9 持久化及故障恢复机制209
4.2.10 主备机制214
4.3 内存表223
4.3.1 总体架构与代码223
4.3.2 FDW 225
4.3.3 内存表的存储236
4.3.4 索引237
4.3.5 事务237
4.3.6 并发控制243
4.3.7 重做日志246
4.3.8 检查点251
4.3.9 恢复254
4.4 本章小结257
第5章 事务机制源码解析258
5.1 事务整体架构与代码258
5.2 事务并发控制259
5.2.1 事务状态机259
5.2.2 事务ID分配及CLOG/CSNLOG 268
5.2.3 MVCC可见性判断机制271
5.2.4 进程内多线程管理机制279
5.3 锁机制286
5.3.1 自旋锁287
5.3.2 轻量级锁287
5.3.3 常规锁288
5.3.4 死锁检测机制291
5.3.5 无锁原子操作295
5.3.6 基于鲲鹏服务器的性能优化296
5.4 本章小结307
14 openGauss数据库源码解析
第6章 SQL引擎源码解析308
6.1 概述308
6.2 SQL解析308
6.2.1 词法分析310
6.2.2 语法分析313
6.2.3 语义分析318
6.2.4 解析流程分析323
6.3 查询优化326
6.3.1 查询重写327
6.3.2 统计信息与代价估算335
6.3.3 物理路径344
6.3.4 动态规划344
6.3.5 遗传算法356
6.4 本章小结367
第7章 执行器解析368
7.1 执行器整体架构与代码368
7.1.1 执行器整体架构368
7.1.2 火山模型368
7.1.3 代码370
7.2 执行流程371
7.2.1 Portal策略选择模块371
7.2.2 ProcessUtility模块373
7.2.3 executor模块373
7.3 执行算子376
7.3.1 控制算子376
7.3.2 扫描算子381
7.3.3 物化算子389
7.3.4 连接算子395
7.4 表达式计算398
7.4.1 初始化阶段398
7.4.2 执行阶段400
7.5 编译执行410
7.5.1 VecExprCode类415
7.5.2 VecHashAggCodeGen类419
目录 15
7.5.3 VecHashJoinCodeGen类420
7.5.4 VecSortCodeGen类422
7.6 向量化引擎423
7.6.1 控制算子423
7.6.2 扫描算子427
7.6.3 物化算子430
7.6.4 连接算子438
7.7 本章小结441
第8章 AI技术442
8.1 概述442
8.2 自调优442
8.2.1 参数自调优的使用场景442
8.2.2 现有的参数调优技术443
8.2.3 X-Tuner的调优策略445
8.2.4 openGauss关键源码解析447
8.2.5 使用示例459
8.2.6 对X-Tuner的二次开发465
8.2.7 X-Tuner的演进路线465
8.3 慢SQL发现465
8.3.1 慢SQL发现的功能466
8.3.2 现有技术466
8.3.3 慢SQL发现采取的策略469
8.3.4 关键源码解析471
8.3.5 使用示例475
8.4 智能索引推荐476
8.4.1 使用场景476
8.4.2 现有技术476
8.4.3 实现原理477
8.4.4 关键源码解析480
8.4.5 使用示例483
8.5 指标采集、预测与异常检测487
8.5.1 使用场景487
8.5.2 实现原理487
8.5.3 关键源码解析489
8.5.4 使用示例492
16 openGauss数据库源码解析
8.5.5 演进路线493
8.6 AI查询时间预测494
8.6.1 使用场景494
8.6.2 现有技术494
8.6.3 实现原理495
8.6.4 关键源码解析500
8.6.5 使用示例505
8.6.6 演进路线505
8.7 DeepSQL 506
8.7.1 使用场景506
8.7.2 现有技术506
8.7.3 关键源码解析507
8.7.4 基于MADlib框架的扩展508
8.7.5 MADlib在openGauss上的使用示例511
8.7.6 演进路线513
8.8 本章小结513
第9章 安全管理源码解析514
9.1 安全管理整体架构与代码514
9.2 安全认证516
9.2.1 身份认证517
9.2.2 口令存储520
9.2.3 认证机制522
9.2.4 Kerberos安全认证529
9.3 角色创建与角色管理531
9.3.1 角色创建531
9.3.2 角色管理536
9.4 权限管理与权限检查545
9.4.1 权限管理545
9.4.2 权限检查551
9.5 审计与追踪553
9.5.1 审计日志设计553
9.5.2 审计执行555
9.6 数据安全技术561
9.6.1 数据加解密接口561
9.6.2 数据动态脱敏570
目录 17
9.6.3 密态等值查询578
9.7 本章小结593
第10章 备份恢复机制594
10.1 openGauss全量备份技术594
10.1.1 gs_basebackup备份工具594
10.1.2 gs_basebackup备份交互流程595
10.2 openGauss增量备份技术598
10.2.1 gs_probackup子命令599
10.2.2 gs_probackup主要文件608
10.2.3 gs_probackup备份恢复流程609
10.2.4 redo日志增量备份恢复流程613
10.3 本章小结613

本目录推荐