通过webservice将数据库A的数据insert,update到b数据库,这样有没有需要优化的地方

qlz522044161 2017-10-24 08:59:20
客户端服务连接数据库A,服务器端服务连接数据库B,每天定时从数据库A,捞取用户数据,放在一个list里面,然后调用服务器端方法,服务器端取得客户端传入的list,然后去数据库B取得用户数据(表结构不同,但是有相同主键),然后for循环,客户端传入的list,如果数据库B没有就insert,如果数据库B有了,但是客户端list没有或者标记位为delete,就update相应的标记位,一共需要更新的表有两张,所以直接用jdbc操作数据库,没有使用框架
...全文
241 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
timo001 2017-10-25
  • 打赏
  • 举报
回复
引用 2 楼 u013835778 的回复:
你是要B数据库数据对接A数据库吗 如果要求数据一致 直接dblink 不需要这么麻烦
但是两个数据库的表结构不一致
梦想南方 2017-10-25
  • 打赏
  • 举报
回复
增量同步可以吗?A的某条记录被改动了就直接出发wsdl链接B库。 或者把A表增加一个是否同步过的字段,同步过的吧字段设置一个标记如果同步过的记录被改动也设置成没有同步过的标记,之后定时同步时只读取没同步过的数据就好。 最好在加一个错误次数的字段,比如某条记录已经连续错误几次了,这样的数据就没必要继续同步了。
weiwolong 2017-10-24
  • 打赏
  • 举报
回复
1、webservice用的soap协议,属于http下的子协议,传输效率还是低了些,建议使用ETL工具,优点比较多,缺点是ELT工具远程连接数据库传输的话会比较慢,建议两个数据库在同一局域网的情况下使用。 2、如果不使用ELT工具,建议使用同种开发语言的序列化传输方式,比如java RMI、spring httpinvoke等,可以克服远程连接数据库传输较慢的缺点,需要两边数据库各部署一个程序,类似你说的客服端和服务端通信,缺点是不能异构系统间使用。 3、不管使用哪一种传输方式,尽量一次请求批量处理多条数据。
lifewell1 2017-10-24
  • 打赏
  • 举报
回复
你是要B数据库数据对接A数据库吗 如果要求数据一致 直接dblink 不需要这么麻烦
tianfang 2017-10-24
  • 打赏
  • 举报
回复
数据的数量级是多少?根据数量决定优化方法

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧