我想知道对于stackoverflow来说,这是不是一个太主观的问题,但我还是会试一试。
对于应用程序之间的数据迁移,是否有通用/最佳实践?假设我有一个用Java/J2EE编写并连接到PostgreSQL数据库的应用程序A和一个用Ruby/Rails编写并连接到MySQL数据库的应用程序B。
我希望将数据从应用程序A迁移到应用程序B,表结构,因此A的数据模型与B完全不同。因此,我想从A提取信息,更改其结构并将其插入到B中。
此外,我在应用程序B中具有与来自应用程序A的信息相关的现有信息,例如,基于两个应用程序中共有的ID
我试着写了几个花哨的sql脚本,但没有什么进展。
上一次我面对这样的项目时,我只是写了一大堆代码来处理迁移。我想知道有没有这方面的最佳实践?我认为这是开发人员经常做的工作。也许有可用的工具或框架?
发布于 2012-01-16 07:00:18
可能不是单一的最佳实践,但一旦您选择了一种方法,就会有一组最佳实践。
一种策略是在目标平台中使用相同模型(或非常接近)的数据,然后在目标平台中进行转换。
例如,如果目标是SQL Server,我将在目标服务器上创建另一个数据库,其中包含从表到表的直接数据副本(数据类型是您要注意的主要内容),并简单地使用针对database2.user.table_names的查询来填充目标数据模型。
这消除了您可能使用的任何ETL工具中的异构源/目标的问题,并允许您在database2上创建一些额外的索引,这可能是您的转换的最佳选择。
此外,您的转换将是直接的SQL,允许同时对源和目标进行联接,而没有任何服务器间的延迟或带宽。
如果您的表中有二进制数据或类似的东西,显然事情会变得复杂得多。
发布于 2012-01-16 07:00:56
宽泛的问题,宽泛的答案?
通过允许步骤1基于原始和副本的当前内容,扩展到自动化流程。
https://stackoverflow.com/questions/8874016
复制相似问题