我的应用程序需要在sybase和db2之间归档数据库表,反之亦然,并使用java在(db2到db2和sybase到sybase)之间归档数据库。
我试图在性能,实现,易用性和可扩展性方面理解最佳策略。
这是我目前的流程 -
从我的头脑中,我看起来可以定义多个源和目标组合之间的依赖关系,并让它们在多个步骤中并行执行。但是这会改善任何表现(我希望会如此)?
是否有使用java进行数据归档的开源框架?关于工具方面的任何其他想法都会非常有用。
由于
答案 0 :(得分:8)
最强大的Java持久性开源框架是Hibernate。您可以从现有数据库中反向设计Java模型(请参阅Hibernate工具),并使用Session.replicate()执行复制。您可以通过使用无状态会话和适用的二级缓存来微调性能。文档为here
答案 1 :(得分:1)
查看一些数据库复制工具(我们使用Shadowbase)。他们可能有Java API。
另外,请查看此IBM whitepaper:
[IBM]使用JDBC和提供解决方案 SyncML标准实现通用 数据库数据复制。
答案 2 :(得分:1)
Pentaho Data Integration强大支持在数据库之间复制数据。另外,它是开源的,允许你用Java编写插件。
答案 3 :(得分:1)
您需要做的最重要的事情是在JDBC中禁用自动提交,就像在数据库表中的每次插入后提交一样。这破坏了表现。
但是你基本上必须弄清楚你的同步方案,这样你才能确定需要复制哪些记录,然后才能决定如何实际执行。