我有一个新的挑战是从Oracle数据库加载~100M行并将它们插入远程MySQL数据库服务器.
我把问题分成两部分:
在Java端,我使用普通JDBC来加载分页内容并通过线路将其传输到服务器.这种方法运行良好,但它使代码繁琐且不易扩展,因为我正在使用Oracle的ROWNUM ..... WHERE ROWNUM> x和ROWNUM <y进行分页.
我现在尝试了Hibernate的StatelessSession,我的实体通过Annotations映射.代码更具可读性和清晰性,但性能更差.
我听说过ETL工具和SpringBatch,但我对它们并不了解.还有其他方法可以解决这个问题吗?
提前致谢.
UPDATE
感谢您提供宝贵的建议.我选择使用SpringBatch从Oracle数据库加载数据,因为环境非常紧张,我无法访问Oracle的工具集.SpringBatch是真实的.对于数据写入步骤,我选择使用MySQL的LOAD DATA INFILE编写大量的记录.REST服务位于中间,因为出于安全原因它们彼此隐藏.