文章目录
论文:基于数据库日志的变化数据捕获研究
摘要
变化数据捕获方法是数据集成基础设施的战略组成部分,不断推动ETL、EAI(企业应用集成)等技术的发展。许多数据厂商提供了自己的CDC产品,但只限于针对本身的数据库系统,价格也比较昂贵。虽然通过扫面数据库日志文件可以捕获变化数据,但大多数数据库系统都不提供日志文件的内部格式而只是提供日志访问的程序接口,如Oracle、SQL Server 和 DB2等。这些提供的接口有的访问活动日志,有的访问稳定日志,有的访问归档日志,因此很难保证读取日志文件的可靠性。现有的研究主要是如何利用程序应用接口读取日志文件,忽略了对可靠性的分析。本文针对读取不同类型的日志文件的可靠性条件进行了分析,提出了可靠读取规则及读取算法,并提出了从日志文件中有效抽取变化的数据算法,实验证明了可靠性分析模型。
十问
Q1 论文试图解决什么问题?
可靠读取日志的条件,在该条件下有效抽取变化数据。
Q2 这是否是一个新的问题?
抽取变化数据不是新问题,可靠性分析是新的考虑。
Q3 这篇文章要验证一个什么科学假设?
读取日志文件想要保证可靠性必须要满足某些条件。
Q4 有哪些相关研究?如何归类?
- Liu:从集中式数据库进行变化数据捕获,从分区数据库系统的多个恢复日志中获取全局事务的算法;
- Daujee:改进分布式数据库全局事务;
- Fu:数据库恢复下事务日志的获取问题。
- Shi:oracle的CDC算法及模型,对CDC结果分析来减少增量数据;
- Liang和Zhang:针对oracle和sql server;
- Rinderle:净变化量的处理算法及模型。
Q5 论文中提到的解决方案之关键是什么?
可靠读取日志的条件:
- 开始读日志的速度与写速度的关系;
- 缓冲区日志刷新速度与读速度;
- 截断、备份和写操作的时间。
Q6 论文中的实验是如何设计的?
检验不同日志缓冲区大小、写日志速度、读速度下,在相同备份速度下的读出数据量和备份数据量。
Q7 用于定量评估的数据集是什么?代码有没有开源?
datafactory模拟数据。未开源。
Q8 论文中的实验及结果有没有很好地支持需要验证的科学假设?
表大小对日志的读与备份操作速度影响不明显,但日志文件大小对可靠性影响较大。
如果快速地写日志基本不能完全读取日志数据,当写日志速度达到备份速度地三分之一时,备份的正确性也很难保证。
Q9 这篇论文到底有什么贡献?
- 证明了基于日志的CDC方法可靠性受写日志速度读速度等条件的约束。
- 本文提出了保证可靠性读取并备份日志的算法。
Q10 下一步呢?有什么工作可以继续深入?
- 三分之一是个过于小的效率,是否可以提高日志读取效率 or 分析效率?
- 中断后,是否存在更优的读取方案?