华为智能计算技术丛书 openGauss数据库核心技术
作者: 李国良,周敏奇 编著
出版时间: 2020年版
丛编项: 华为智能计算技术丛书
内容简介
本书系统论述了openGauss数据库理论、技术及应用。本书共11章,首先介绍数据库发展历史,包括传统的 网状数据库、层次数据库、关系数据库、NoSQL数据库、NewSQL数据库、云数据库、多模数据库、分布式数据库 等。其次介绍结构化查询语言(SQL)、SQL语法、存储过程、触发器、游标、数据库设计规范和E-R 模型等数据库 基础知识。再次介绍数据库未来发展趋势,包括新硬件、不同部署形态、新应用对数据库的影响。*后重点介绍 openGauss的核心技术,包括openGauss的核心架构、面向鲲鹏和?N腾等新硬件的优化技术、SQL引擎、执行器技 术、数据库存储技术、数据库事务机制、数据库安全、数据库自治技术等。为方便读者掌握数据库教学内容,本书 每章都提供了小结和习题(含答案)。 通过阅读本书,读者可以深入了解数据库的发展历史与未来趋势、数据库系统架构、鲲鹏和?N腾优化技术、数 据库事务处理技术、数据库执行器技术、数据库安全技术,从而既可以在将来开发数据库的核心代码,也可以更好 地利用数据库开发应用。 本书既可作为高校本科生和研究生学习数据库的参考书,也可作为高等院校、科研机构等相关单位从事数据 库理论教学或科学研究的教师、系统实现的研究人员的参考书,还可供企业工程师进行数据库二次开发和应用开 发的参考。
目录
CONTENTS
第1章数据库发展史00
1.1网状数据库和层次数据库00
1.2关系数据库00
1.3分布式数据库00
1.4云数据库00
1.5NoSQL数据库00
1.6NewSQL数据库0
1.7多模数据库0
1.8AI原生数据库0
1.9其他类型数据库0
1.10小结0
习题0
第2章结构化查询语言0
2.1SQL语法0
2.1.1数据类型0
2.1.2表模式定义0
2.1.3数据完整性检查0
2.1.4插入、删除、更新数据0
2.1.5简单查询0
2.1.6连接操作0
2.1.7集合操作0
2.1.8聚集与分组操作0
2.1.9创建索引0
2.1.10视图与物化视图0
2.1.11访问控制0
2.1.12事务处理语句0
2.2存储过程和函数0
2.2.1存储过程的声明0
2.2.2存储过程的修改0
2.2.3函数的声明和修改0
2.3触发器0
2.4游标0
2.4.1声明游标0
2.4.2打开游标0
2.4.3使用游标0
2.4.4关闭游标0
2.5小结0
习题0
第3章数据库设计和E R模型0
3.1关系代数0
3.1.1关系代数的由来0
3.1.2关系代数运算符0
3.1.3关系代数与SQL的转换0
3.2数据库设计0
3.2.1数据库设计概述0
3.2.2数据库设计的特征0
3.2.3实体联系模型: E R模型0
3.2.4数据库设计流程0
3.2.5数据库设计中的规范化设计0
3.3数据库约束0
3.3.1数据完整性0
3.3.2约束操作0
3.3.3非空约束0
3.3.4约束0
3.3.5主键约束0
3.3.6外键约束0
3.3.7条件约束0
3.4小结0
习题0
第4章数据库未来发展趋势0
4.1新硬件驱动的数据库(鲲鹏 昇腾)0
4.1.1处理器架构对数据库系统带来挑战与机遇0
4.1.2异构处理器高速发展为数据库系统创新提出新方向0
4.2新应用驱动的数据库(5G、车、终端云)0
4.2.15G及其相关应用对数据库系统带来的挑战与机遇0
4.2.2自动驾驶汽车对数据库系统带来的挑战与机遇0
4.2.3终端云对数据库系统带来的挑战与机遇0
4.3小结0
习题0
第5章GaussDB架构0
5.1GaussDB发展历史0
5.1.1概述0
5.1.2GMDB内存数据库历史
5.1.3GaussDB 100 OLTP数据库历史
5.1.4GaussDB 200 OLAP数据库历史
5.2GaussDB架构概览
5.2.1数据库架构变化
5.2.2GaussDB关键技术架构
5.3GaussDB 100 OLTP数据库架构
5.3.1设计思想与目标客户
5.3.2分布式强一致的架构
5.3.3可插拔存储引擎架构
5.4GaussDB 200 OLAP数据库架构
5.4.1设计思想与目标客户
5.4.2面向数据分析的高效存储和计算架构
5.4.3分布式并行计算架构
5.4.4并行数据加载
5.5GaussDB云数据库架构
5.5.1设计思想与目标客户
5.5.2弹性伸缩的多租户数据库架构
5.6GaussDB多模数据库架构
5.6.1设计思想与目标客户
5.6.2面向数据强一致的多模数据库系统架构
5.6.3面向极致性能的多模数据库系统架构
5.7小结
习题
第6章面向鲲鹏和昇腾的创新架构
6.1鲲鹏和昇腾简介
6.2面向鲲鹏的创新架构
6.3面向异构AI昇腾芯片的创新架构
6.3.1昇腾AI芯片介绍
6.3.2openGauss在昇腾AI芯片下的技术创新
6.4智能芯片群调度模块
6.5小结
习题
第7章openGauss SQL引擎
7.1SQL引擎概览
7.2SQL解析
7.3查询优化
7.3.1查询重写
7.3.2路径搜索
7.3.3代价估算
7.4小结
习题
第8章openGauss执行器技术
8.1openGauss执行器概述
8.2openGauss执行引擎
8.2.1执行流程
8.2.2执行算子
8.2.3表达式计算
8.3openGauss执行器的高级特性介绍
8.3.1编译执行
8.3.2向量化引擎
8.4小结
习题
第9章openGauss存储技术
9.1openGauss存储概览
9.2openGauss行存储引擎
9.2.1行存储引擎总体架构
9.2.2行存储的基本模型与页面组织结构
9.2.3行存储的多版本管理以及DML操作
9.2.4基于CSN的MVCC机制
9.2.5行存储的空间回收
9.2.6行存储的共享缓存管理
9.2.7并行日志系统设计
9.2.8持久化及故障恢复系统设计
9.3openGauss列存储引擎
9.3.1列存储引擎的总体架构
9.3.2列存储的页面组织结构
9.3.3列存储的MVCC设计
9.3.4列存储的索引设计
9.3.5列存储自适应压缩
9.3.6列存储的持久化设计
9.4openGauss内存引擎
9.4.1内存引擎的兼容性设计
9.4.2内存引擎索引
9.4.3内存引擎的并发控制
9.4.4内存引擎的内存管控
9.4.5内存引擎的持久化
9.5小结
习题
第10章openGauss事务机制
10.1openGauss事务概览
10.1.1显式事务和隐式事务
10.1.2单机事务和分布式事务
10.2openGauss事务ACID特性介绍
10.2.1openGauss中的事务持久性
10.2.2openGauss中的事务原子性
10.2.3openGauss中的事务一致性
10.2.4openGauss中的事务隔离性
10.3openGauss并发控制
10.3.1读 读并发控制
10.3.2读 写并发控制
10.3.3写 写并发控制
10.3.4并发控制和隔离级别
10.3.5对象属性的并发控制
10.3.6表级锁、轻量锁和死锁检测
10.4openGauss分布式事务
10.4.1分布式事务的原子性和两阶段提交协议
10.4.2分布式事务一致性和全局事务管理
10.5小结
习题
第11章openGauss安全
11.1openGauss安全机制概览
11.2openGauss安全认证
11.2.1客户端配置信息
11.2.2服务端认证方法
11.2.3安全认证通道
11.2.4RFC5802认证协议
11.3openGauss角色管理机制
11.3.1角色管理模型
11.3.2三权分立模型
11.3.3对象访问控制
11.4openGauss审计与追踪
11.4.1审计记录机制
11.4.2审计追踪机制
11.4.3统一审计
11.5openGauss数据安全技术
11.5.1数据加密算法
11.5.2数据脱敏技术
11.5.3透明加密技术
11.5.4全程加密技术
11.6openGauss云安全技术
11.6.1IAM认证
11.6.2安全chroot技术
11.6.3防篡改技术
11.7openGauss智能安全机制
11.8小结
习题
附录A习题答案
附录B数据库相关列表
附录C术语表
参考文献