摘要 | 第3-5页 |
ABSTRACT | 第5-6页 |
1 绪论 | 第10-17页 |
1.1 研究背景及意义 | 第10页 |
1.2 现有数据库复制产品简介 | 第10-13页 |
1.3 国内外研究概况 | 第13-15页 |
1.4 课题研究目标 | 第15页 |
1.5 主要研究内容 | 第15-16页 |
1.6 论文结构安排 | 第16-17页 |
2 数据库复制原理和技术 | 第17-24页 |
2.1 基于数据库恢复日志的数据库复制的基本原理 | 第17-20页 |
2.2 源数据库、日志捕获和复制和目标数据库的隔离 | 第20-21页 |
2.3 数据库复制的初始化原理 | 第21-22页 |
2.4 Fork-Join并发编程框架简介 | 第22-23页 |
2.5 本章小结 | 第23-24页 |
3 总体设计概述 | 第24-38页 |
3.1 系统软、硬件环境说明 | 第24-25页 |
3.2 目标应用场景 | 第25-26页 |
3.3 总体流程概述 | 第26页 |
3.4 日志抓取阶段 | 第26-31页 |
3.5 日志抓取进程与数据库复制系统的通讯命令协议设计 | 第31-32页 |
3.6 入站磁盘队列和入站内存队列 | 第32-33页 |
3.7 选择需要复制的表对象 | 第33-34页 |
3.8 事务排序 | 第34-36页 |
3.9 事务复制、提交阶段 | 第36页 |
3.10 日志抓取点和避免事务的重复提交 | 第36-37页 |
3.11 本章小结 | 第37-38页 |
4 关键技术的设计和实现 | 第38-62页 |
4.1 版本化管理数据库对象复制状态以及结构信息 | 第38-42页 |
4.2 连续事务的并发式提交的设计和实现 | 第42-53页 |
4.2.1 保证并发提交的事务不互相死锁 | 第43-44页 |
4.2.2 乐观的事务并发复制 | 第44-46页 |
4.2.3 悲观的事务并发复制 | 第46-47页 |
4.2.4 保证事务提交顺序 | 第47-48页 |
4.2.5 理想条件下乐观和悲观并发复制的性能特点 | 第48-49页 |
4.2.6 关联事务的并发复制 | 第49-53页 |
4.3 合并提交事务 | 第53-57页 |
4.3.1 提交命令对事务复制的性能影响 | 第53-54页 |
4.3.2 存储设备的性能和数据库刷新日志记录性能的关系 | 第54-55页 |
4.3.3 数据库提交性能评价 | 第55页 |
4.3.4 自动选择合并后事务的尺寸的算法 | 第55-56页 |
4.3.5 单项性能测试 | 第56-57页 |
4.4 采用预编译SQL提交增删改操作 | 第57-58页 |
4.5 采用BULK LOAD接口执行连续的数据插入 | 第58-59页 |
4.6 关联事务的净数据变更(Net Data Change)的计算 | 第59-61页 |
4.7 本章小结 | 第61-62页 |
5 数据复制性能对比测试设计 | 第62-70页 |
5.1 数据复制性能测试基本原理 | 第62-64页 |
5.1.1 数据库复制性能指标 | 第62页 |
5.1.2 数据库复制性能测试原理 | 第62-64页 |
5.2 性能测试实验设计 | 第64-66页 |
5.2.1 实验目的 | 第64-65页 |
5.2.2 复制性能测试以及不同的事务产生模型 | 第65页 |
5.2.3 可伸缩性性能测试 | 第65-66页 |
5.3 性能测试结果 | 第66-69页 |
5.3.1 复制性能测试结果 | 第67-68页 |
5.3.2 可伸缩性性能测试结果 | 第68-69页 |
5.4 实验结果分析 | 第69-70页 |
6 总结 | 第70-72页 |
6.1 论文的主要贡献 | 第70页 |
6.2 存在的不足 | 第70-71页 |
6.3 下一步工作的建议 | 第71-72页 |
参考文献 | 第72-76页 |
致谢 | 第76-77页 |
攻读学位期间发表的学术论文目录 | 第77-79页 |