论文部分内容阅读
在大数据日渐流行的趋势下,海量数据处理的需求变得比以往任何时候都大。单单依靠单实例集中式关系型数据库系统的应用程序,将会遇到无法扩展以及数据处理性能的问题。有着良好扩展性和高性能的分布式云数据库能够很好地解决这些问题。原有的应用程序可以通过从原来的单实例关系型数据库系统迁移到云数据库系统来获得良好的可扩展性与高性能。然而迁移的过程是个比较复杂的过程,数据的迁移只占其中一小部分并且相对简单,更为复杂的是大量的由应用开发者自定义的存储过程的迁移。由于传统存储过程的创建和执行只依赖单个数据库,无法适应多结点集群下的分布式数据库,简单的执行无法得到预想的结果。本文的研究提供了一种由单实例关系型数据库向基于水平分片模式的分布式关系型云数据库迁移存储过程的机制。此机制将源数据库存储过程的创建代码进行解析、翻译并转化为合适目标云数据库引擎执行的代码。其中与数据库进行交互的操作通过云数据库引擎执行得到正确的结果,继而参与其他语句的运算完成执行。本文研究的实现针对广泛使用的Oracle的PL/SQL存储子程序,迁移的目标数据库为引跑科技的分布式云数据库DBOne。系统的实现使PL/SQL子程序被翻译成可执行的Java代码,使其可以在DBOne中正确地创建、存储并获得正确的执行结果,从而使数据库的迁移过程变得更加容易。这种机制亦可被其他数据库系统所借鉴和实现。