OceanBase数据库源码解析

OceanBase数据库源码解析

作者:彭煜玮杨传辉杨志丰 编

出版社:机械工业

出版年:2023年3月

ISBN:9787111723387

所属分类:历史文化

书刊介绍

《OceanBase数据库源码解析》内容简介

OceanBase作为当今最先进的分布式关系型数据库之一,在开源之后受到了业界的广泛关注。为了帮助数据库内核研发人员、科研工作者、数据库技术爱好者理解OceanBase内核,本书从OceanBase开源版的源代码出发,介绍其实现机制和技术细节。
本书的主要内容包括:OceanBase概述、OceanBase的架构、OBServer、存储引擎、SQL引擎、事务引擎、高可用、多租户、安全管理等。本书尽可能沿着SQL语句的执行路径对上述主题进行详细介绍,以使读者对OceanBase的内部运作机理能有全面和深入的认识。
本书适合从事数据库领域相关研发的人员、高等院校相关专业研究生或高年级本科生阅读,也可以作为数据库特别是分布式数据库相关课程的补充读物。

作品目录

前言
第1章:OceanBase概述
1.1、OceanBase简介及发展历程
1.2、OceanBase的特性
1.3、OceanBase的应用案例
1.4、OceanBase的编译和部署
1.4.1、环境依赖
1.4.2、构建/打包OceanBase数据库
1.4.3、部署OceanBase
1.5、OceanBase的性能
1.6、小结
第2章:OceanBase的架构
2.1、架构概述
2.2、源码结构
2.2.1、依赖库
2.2.2、内核源码
2.2.3、其他子目录
2.3、安装目录结构
2.3.1、执行文件目录
2.3.2、配置文件目录
2.3.3、运行日志目录
2.3.4、运行状态目录
2.3.5、数据文件目录
2.4、ODP
2.5、小结
第3章:OBServer
3.1、OBServer结构
3.2、网络子系统
3.3、多租户环境
3.4、线程架构
3.5、连接和会话管理
3.5.1、ObMySQLHandler
3.5.2、ObRpcHandler
3.5.3、请求投送
3.5.4、请求处理
3.5.5、会话管理
3.6、总控服务
3.7、配置子系统
3.8、小结
第4章:存储引擎
4.1、元数据存储
4.1.1、系统表
4.1.2、多版本模式服务
4.1.3、DDL服务
4.1.4、模式缓存
4.1.5、模式刷新
4.2、数据的物理存储
4.2.1、行存储格式
4.2.2、微块
4.2.3、宏块
4.2.4、SSTable和存储文件
4.2.5、MemTable
4.2.6、分区组、表组等
4.2.7、数据压缩
4.3、转储和合并
4.3.1、冻结
4.3.2、转储和Minor
Compaction
4.3.3、Major
Compaction
4.4、多级缓存
4.5、小结
第5章:SQL引擎
5.1、SQL引擎结构
5.2、解析器
5.2.1、词法分析器
5.2.2、语法分析器
5.2.3、SQL语句的解析
5.2.4、语法树的结构
5.3、计划缓存
5.3.1、计划和计划缓存的结构
5.3.2、缓存计划
5.3.3、查找计划
5.3.4、淘汰计划缓存和失效
5.4、语义分析器
5.4.1、DROP
TABLE语句的语义分析
5.4.2、语句树(逻辑计划)结构
5.5、重写器
5.5.1、预处理
5.5.2、重写
5.5.3、后处理
5.6、优化器
5.6.1、路径与逻辑计划
5.6.2、初始计划生成
5.6.3、并行优化
5.6.4、代价模型
5.6.5、代码生成
5.7、执行器
5.7.1、命令执行
5.7.2、计划执行框架
5.7.3、并行执行框架
5.7.4、并行框架实现
5.8、小结
第6章:事务引擎
6.1、事务管理
6.1.1、事务的结构
6.1.2、事务控制
6.1.3、语句级原子性
6.1.4、全局时间戳
6.2、保存点
6.2.1、实现原理
6.2.2、定义保存点
6.2.3、释放保存点
6.2.4、回滚到指定保存点
6.3、Redo日志
6.3.1、日志文件类型
6.3.2、日志的产生
6.3.3、日志的回放
6.3.4、日志容灾
6.3.5、日志的控制与回收
6.4、本地事务
6.4.1、本地单分区事务
6.4.2、本地多分区事务
6.5、分布式事务
6.5.1、分布式事务的构造
6.5.2、两阶段提交
6.6、并发控制
6.6.1、MVCC
6.6.2、多版本读一致性
6.6.3、多版本读一致性实现
6.7、封锁及两阶段锁2PL
6.7.1、锁使用
6.7.2、锁粒度和互斥
6.7.3、锁存储
6.7.4、锁的获取与释放
6.7.5、唤醒等待事务
6.7.6、死锁处理
6.8、ELR技术
6.8.1、解锁时机
6.8.2、解锁之后数据的可见性
6.9、事务隔离级别
6.10、弱一致性读
6.10.1、SQL语句的一致性级别
6.10.2、事务的一致性级别
6.10.3、弱一致性读配置项
6.10.4、时间戳生成方式
6.11、小结
第7章:高可用
7.1、高可用架构
7.1.1、Paxos协议
7.1.2、分布式选举
7.1.3、节点故障处理
7.1.4、多副本日志同步
7.2、对象闪回
7.2.1、回收站
7.2.2、删除到回收站
7.2.3、从回收站恢复
7.2.4、清理回收站
7.3、备份恢复
7.3.1、物理备份架构
7.3.2、日志归档
7.3.3、数据备份
7.3.4、取消备份
7.3.5、数据恢复
7.3.6、逻辑备份
7.4、小结
第8章:多租户
8.1、租户
8.1.1、租户管理
8.1.2、租户操作
8.2、资源隔离
8.2.1、租户资源定义
8.2.2、资源管理和操作
8.2.3、资源隔离
8.2.4、资源使用控制
8.3、资源自动均衡
8.3.1、自动均衡概述
8.3.2、自动均衡的发起
8.3.3、再均衡任务的构建与分发
8.3.4、手动迁移
8.4、小结
第9章:安全管理
9.1、身份鉴别
9.1.1、鉴别方式
9.1.2、身份认证全过程
9.2、访问控制
9.2.1、用户
9.2.2、授予及撤销权限
9.2.3、访问权限检查
9.3、安全审计
9.4、小结

相关推荐

微信二维码