目录
●目录<br />前言<br />基础篇<br />第1章 分布式数据库系统概述<br />1.1 分布式数据库系统的定义和特点3<br />1.2 分布式数据库系统的发展历程4<br />1.3 分布式数据库系统的架构5<br />1.3.1 共享存储架构5<br />1.3.2 无共享架构6<br />1.4 NoSQL与NewSQL系统7<br />1.4.1 NoSQL系统7<br />1.4.2 NewSQL系统23<br />1.5 HTAP数据库系统28<br />1.6 国产分布式数据库系统发展的重要性30<br />1.7 小结31<br />习题32<br />第2章 分布式数据库系统存储引擎<br />2.1 哈希存储引擎33<br />2.1.1 存储格式34<br />2.1.2 哈希索引35<br />2.1.3 经典架构35<br />2.1.4 关键技术37<br />2.1.5 适用场景38<br />2.2 B树存储引擎39<br />2.2.1 数据结构40<br />2.2.2 经典架构41<br />2.2.3 关键技术43<br />2.2.4 适用场景43<br />2.3 LSM树存储引擎44<br />2.3.1 存储特点44<br />2.3.2 经典架构45<br />2.3.3 关键技术46<br />2.3.4 应用场景47<br />2.4 3种存储引擎的对比分析48<br />2.5 国产数据库的发展史48<br />2.6 小结50<br />习题51<br />第3章 数据复制和数据分区<br />3.1 数据复制的基本原理和方法53<br />3.1.1 数据复制的概念53<br />3.1.2 数据复制协议54<br />3.2 数据分区的概念56<br />3.2.1 范围分区58<br />3.2.2 哈希分区59<br />3.2.3 数据重分布64<br />3.2.4 3种复制协议的比较65<br />3.3 Memcached的数据分区方法65<br />3.4 高斯数据库的发展历程69<br />3.5 小结70<br />习题71<br />第4章 分布式数据库系统的查询处理和优化 <br />4.1 分布式查询处理的过程74<br />4.2 分布式查询处理的代价75<br />4.3 查询优化的意义、目标和方法76<br />4.3.1 查询优化的意义77<br />4.3.2 查询优化的目标80<br />4.3.3 查询优化的方法81<br />4.4 分布式查询优化算法85<br />4.4.1 半连接算法86<br />4.4.2 直接连接算法90<br />4.5 OceanBase的查询优化算法94<br />4.5.1 查询优化器框架94<br />4.5.2 查询改写96<br />4.5.3 查询优化97<br />4.5.4 并行执行99<br />4.6 OceanBase的发展历程100<br />4.7 小结101<br />习题102<br />第5章 分布式数据库系统的事务管理和并发控制<br />5.1 事务的定义和特性105<br />5.1.1 事务的定义106<br />5.1.2 事务的特性106<br />5.2 分布式事务的实现机制109<br />5.2.1 分布式事务的定义109<br />5.2.2 基本理论110<br />5.2.3 实现方式115<br />5.3 分布式事务的并发控制和隔离级别127<br />5.3.1 并发控制的定义127<br />5.3.2 隔离级别的种类128<br />5.3.3 基于加锁的并发控制算法129<br />5.3.4 基于时间戳的并发控制算法135<br />5.3.5 基于快照隔离的并发控制算法139<br />5.4 TiDB的分布式事务处理140<br />5.5 TiDB的发展历程142<br />5.6 小结143<br />习题144<br />第6章 高可用性和容错技术<br />6.1 高可用性的定义145<br />6.1.1 可靠性146<br />6.1.2 可维护性147<br />6.1.3 可扩展性148<br />6.2 分布式一致性协议149<br />6.2.1 Paxos协议149<br />6.2.2 Raft协议154<br />6.2.3 ZooKeeper协议160<br />6.2.4 NWR协议164<br />6.3 容错技术的原理和方法165<br />6.3.1 分布式数据库系统的故障类型166<br />6.3.2 故障检测方法167<br />6.3.3 故障恢复方法169<br />6.4 OceanBase的高可用和容错机制170<br />6.5 GoldenDB的发展历程173<br />6.6 小结174<br />习题175<br />第7章 负载均衡和性能优化<br />7.1 服务器集群的概念177<br />7.2 集群的特点和优势179<br />7.3 负载均衡的定义180<br />7.4 负载均衡优化策略181<br />7.4.1 静态负载均衡优化策略181<br />7.4.2 动态负载均衡优化策略185<br />7.5 性能优化的定义189<br />7.6 性能优化方法190<br />7.6.1 缓存优化190<br />7.6.2 批量优化191<br />7.6.3 通信优化192<br />7.7 TiDB的负载均衡策略192<br />7.8 TDSQL的研发历程193<br />7.9 小结194<br />习题195<br />第8章 分布式数据库系统的安全管理<br />8.1 数据库安全的重要性197<br />8.2 数据库安全管理的发展历史198<br />8.3 分布式数据库系统的不安全因素200<br />8.4 分布式数据库系统的安全技术201<br />8.4.1 身份验证201<br />8.4.2 数据传输加密202<br />8.4.3 数据存储加密204<br />8.4.4 数据备份与恢复205<br />8.4.5 基于权限的访问控制206<br />8.4.6 审计追踪和攻击检测207<br />8.5 国密算法208<br />8.5.1 SM1算法208<br />8.5.2 SM2算法209<br />8.5.3 SM3算法210<br />8.5.4 SM4算法210<br />8.5.5 SM7算法211<br />8.5.6 SM9算法211<br />8.5.7 祖冲之算法212<br />8.5.8 国产分布式数据库系统对国密算法的支持213<br />8.6 数据库安全研究热点214<br />8.6.1 数据库访问控制214<br />8.6.2 数据库加密查询215<br />8.6.3 使用AI为数据库赋能216<br />8.7 我国数据库安全的发展历程217<br />8.8 小结218<br />习题219<br />进阶篇<br />第9章 主流的国产分布式数据库系统案例<br />9.1 OceanBase的架构设计及原理224<br />9.2 TiDB的架构设计及原理231<br />9.3 GaussDB的架构设计及原理237<br />9.4 小结241<br />习题242<br />第10章 面向金融应用的分布式数据库系统CBase<br />10.1 架构设计244<br />10.2 增量数据分区246<br />10.3 分布式存储引擎248<br />10.4 分布式事务管理249<br />10.5 数据合并机制252<br />10.6 负载均衡252<br />10.7 读写流程254<br />10.8 数据压缩255<br />10.9 CBase在交通银行的实践256<br />10.9.1 CBase在历史数据查询系统中的应用256<br />10.9.2 CBase在贷记卡授权系统中的应用257<br />10.10 CBase的全面国产化历程257<br />10.10.1 国产化软硬件环境分析258<br />10.10.2 国产化实践259<br />10.11 小结260<br />习题260<br />第11章 基于新硬件的分布式数据库系统<br />11.1 新硬件对分布式数据库系统的影响261<br />11.2 基于新硬件的分布式数据库系统设计262<br />11.2.1 计算层面的新硬件264<br />11.2.2 存储层面的新硬件266<br />11.2.3 传输层面的新硬件269<br />11.3 应用新硬件的分布式数据库系统案例270<br />11.4 小结272<br />习题273<br />第12章 AI在分布式数据库系统中的应用<br />12.1 基于AI的数据库配置275<br />12.1.1 旋钮调优276<br />12.1.2 索引推荐278<br />12.1.3 SQL重写279<br />12.2 基于AI的数据库性能优化280<br />12.2.1 基数/代价估计280<br />12.2.2 连接顺序选择283<br />12.3 基于AI的数据库设计284<br />12.3.1 基于AI的数据结构设计284<br />12.3.2 基于AI的事务管理285<br />12.4 基于AI的数据库监测285<br />12.5 基于AI的数据库安全288<br />12.6 小结289<br />习题289<br />第13章 分布式数据库系统的未来发展方向<br />13.1 自治数据库292<br />13.2 云数据库296<br />13.3 向量数据库299<br />13.4 多模数据库304<br />13.5 小结310<br />习题310<br />参考文献
内容介绍
本书以国产分布式数据库系统的研发为主线,介绍分布式数据库系统关键技术、典型的分布式数据库系统的设计原理,为解决国家基础软件被“卡脖子”的问题、实现核心技术的自主可控提供技术支撑。全书共分为13章,包括分布式数据库系统概述、分布式数据库系统存储引擎、数据复制和数据分区、分布式数据库系统的查询处理和优化、分布式数据库系统的事务管理和并发控制、高可用性和容错技术、负载均衡和性能优化、分布式数据库系统的安全管理、主流的国产分布式数据库系统案例、面向金融应用的分布式数据库系统CBase、基于新硬件的分布式数据库系统、AI在分布式数据库系统中的应用、分布式数据库系统的未来发展方向。