更新时间:2024-12-11 17:15:44
封面
版权信息
版权
内容提要
推荐语
前言
为什么写本书
如何阅读本书
致谢
第1篇 原理篇
第1章 云计算时代的数据库
1.1 数据库的历史和发展
1.2 云计算带来的挑战
1.3 云原生数据库的主要特点
第2章 分布式数据库基础理论和架构
2.1 分布式数据库理论概述
2.1.1 CAP理论和BASE理论
2.1.2 一致性算法
2.2 典型的分布式数据库
2.2.1 OLTP型数据库
2.2.2 OLAP型数据库
2.2.3 HTAP型数据库
第3章 并发控制
3.1 概述
3.2 并发控制的分类
3.3 基于锁的并发控制
3.4 基于时间戳的并发控制
3.5 基于验证法的乐观并发控制
3.6 MVCC技术
3.7 快照隔离技术
3.8 可序列化快照隔离
3.9 死锁管理
3.10 B*树和LSM树
第2篇 Greenplum架构和源码分析
第4章 Greenplum总体架构
4.1 概述
4.2 数据库通信协议
4.2.1 启动阶段
4.2.2 取消请求
4.2.3 常规阶段
4.3 Greenplum的架构和核心引擎
4.3.1 Greenplum主要模块介绍
4.3.2 通用场景
4.3.3 Interconnect模块
4.3.4 gang和slice
第5章 分布式事务的实现
5.1 分布式事务的原理和两阶段提交
5.1.1 事务隔离
5.1.2 两阶段提交
5.2 steal/force和WAL协议
5.3 PostgreSQL事务处理和状态机介绍
5.3.1 PostgreSQL事务处理
5.3.2 PostgreSQL状态机
5.4 分布式事务状态机
5.5 简单完整的分布式事务
5.5.1 初始化和begin命令
5.5.2 insert命令
5.5.3 两阶段提交的实现
5.6 分布式事务如何容错
第6章 分布式计算的实现
6.1 Greenplum的执行计划
6.1.1 查询优化器
6.1.2 Greenplum的统计信息
6.1.3 Legacy优化器概述
6.1.4 Orca优化器简介
6.2 运行执行器的算子
6.2.1 常规算子
6.2.2 具有特殊功能的算子
6.2.3 Motion算子
6.2.4 运行执行器综述
6.3 本地共享快照
6.4 分布式快照
6.4.1 分布式快照的实现方式
6.4.2 可见性判断
6.5 共享内存
6.6 哈希和重分布
第7章 分布式存储的实现
7.1 Greenplum数据的分布方式
7.1.1 哈希分布
7.1.2 随机分布
7.1.3 复制分布
7.2 Greenplum数据库的高可用性
7.3 heap表和AO表
7.4 外部表存储
7.4.1 Libcurl库函数
7.4.2 外部表协议gpfdist
7.4.3 Scan算子和gpfdist客户端
7.4.4 gpfdist服务端
第3篇 数据库和新技术
第8章 云原生数据库
8.1 Greenplum的云原生尝试
8.2 VMware多云战略和Greenplum
8.3 HAWQ项目介绍
第9章 新技术的机遇
9.1 NVM存储技术
9.2 虚拟化技术
9.3 容器技术