目 录 第1章 数据库的发展与现状 ············1 1.1 数据库的定义和分类 ······························1 1.1.1 网状和层次数据库 ······2 1.1.2 关系数据库 ··················2 1.1.3 NoSQL数据库 ············3 1.1.4 分布式数据库 ··············5 1.1.5 云数据库 ······················7 1.1.6 时序数据库 ··················8 1.1.7 NewSQL数据库 ········14 1.2 国产数据库行业 ·····16 1.2.1 国产数据库行业发展历程 ·······················16 1.2.2 国产数据库发展特点 21 1.2.3 国产数据库行业市场格局分析 ···············23 1.3 数据库的发展总结 ·25 1.4 小结 ·························26 第2章 分布式数据库架构概述 ······27 2.1 “去O”实践特色 ·27 2.1.1 国产化趋势分析 ········27 2.1.2 “去O”的厂商数据库产品解析 ···········28 2.2 分布式数据库的概念 ····························32 2.3 分布式数据库的分类 ····························33 2.3.1 OLTP和OLAP对比 ·33 2.3.2 关于HTAP ·················34 2.4 如何解决分布式问题 ····························37 2.4.1 分布式数据库的事务处理技术 ···············37 2.4.2 分布式存储技术 ········44 2.5 分布式数据库的优点和缺点 ················50 2.5.1 分布式数据库的优点 50 2.5.2 分布式数据库的缺点 50 2.6 分布式数据库未来的趋势思考 ············51 第3章AntDB分布式关系数据库架构 ··························53 3.1 AntDB架构概览 ·····53 3.2 AntDB的SQL引擎 ······························54 3.2.1 计算节点Coordinator ······························54 3.2.2 全局事务管理节点 ····59 3.3 AntDB执行器技术 ·60 3.3.1 逻辑计划与物理计划 61 3.3.2 分布式执行 ················61 3.3.3 分布式执行计划的优势 ···························62 3.4 AntDB存储技术 ·····63 3.4.1 存储节点 ····················63 3.4.2 Hash分片技术 ···········63 3.4.3 水平动态扩展技术 ····67 3.5 AntDB事务机制 ·····68 3.5.1 全局一致性 ················68 3.5.2 2PC协议和Paxos协议 ···························69 3.6 AntDB企业增强特性介绍 ····················72 3.6.1 数据分布式存储 ········72 3.6.2 分布式集群下强一致备份恢复技术 ·······74 3.6.3 同步异步自适应流复制 ···························75 3.6.4 异构数据库兼容评估 78 3.6.5 数据并行查询 ············83 3.6.6 Oracle兼容 ················84 3.6.7 AntDB在线数据扩容 ······························85 3.6.8 读写分离 ····················89 3.6.9 与异构数据库互联 ····93 3.6.10 异构索引支持 ··········94 3.6.11 集群自愈 ··················97 3.6.12 异地多中心 ············103 3.7 AntDB 的Oracle兼容性 ·····················103 3.7.1 Oracle兼容性能力说明 ·························103 3.7.2 使用兼容模式访问AntDB数据库 ·······104 3.7.3 使用Oracle兼容特性开发应用系统 ····106 3.7.4 AntDB与Oracle语法对比 ····················107 3.8 AntDB管理节点Adbmgr介绍 ··········150 3.8.1 Adbmgr简介 ···········150 3.8.2 管理AntDB集群 ····151 3.9 AntDB运维管理控制台介绍 ··············180 3.9.1 AntDB管理控制台产品定位 ················180 3.9.2 AntDB运维管理控制台系统架构 ········181 3.9.3 AntDB运维管理控制台功能介绍 ········182 第4章AntDB分布式内存数据库 184 4.1 AntDB分布式内存数据库架构 ··········184 4.2 存储引擎介绍 ·······186 4.2.1 分层存储 ··················186 4.2.2 持久化 ······················188 4.2.3 索引优化 ··················191 4.3 AntDB分布式内存数据库适用的场景 ·····························193 第5章AntDB数据库实践案例介绍 ···························194 5.1 某省核心营业库案例 ··························194 5.2 某省高速公路清分结算系统改造升级案例 ·····················197 5.3 某省核心账务库案例 ··························201 5.4 某省计费中心项目 ······························204 第6章高可用性方案设计与最佳实践 ························208 6.1 高可用架构基础 ···208 6.1.1 各种高可用架构介绍 ·····························209 6.1.2 服务器的可靠性设计 ·····························211 6.2 基于共享存储的高可用方案 ··············211 6.2.1 SAN存储方案 ·········212 6.2.2 DRBD方案 ··············215 6.3 WAL日志或流复制的高可用方案 ·····218 6.3.1 持续复制归档的Standby方法 ··············219 6.3.2 异步流复制方案 ······220 6.3.3 同步流复制方案 ······228 6.4 基于触发器的同步方案 ······················229 6.4.1 基于触发器的同步方案特点 ·················229 6.4.2 基于触发器的同步软件介绍 ·················230 6.5 基于中间件的高可用方案 ··················233 6.5.1 基于中间件的高可用方案的特点 ·········233 6.5.2 基于中间件的开源软件介绍 ·················234 第7章 分布式数据库的发展展望 245 7.1 分布式数据库优化方案 ······················247 7.1.1 OLTP性能优化 ·······248 7.1.2 OLAP性能优化 ······249 7.2 分布式数据库的热点技术 ··················256 7.2.1 时序数据处理 ··········256 7.2.2 流式计算 ··················258 7.2.3 全文检索、地理空间信息、图形关系处理 ························259 7.2.4 库内机器学习 ··········259 7.2.5 向量相似度查询 ······260 7.2.6 区块链 ······················261 7.2.7 存储计算分离 ··········263 7.2.8 插件化 ······················266 7.2.9 超融合 ······················266