我有2个异构数据库A,B,想把B库中的某张表(数据比较多,估计有1亿条)的数据用xml远程传到本地,再把xml文件解析出来放入A库中,大家觉得在批量数据传输时采用xml是否合理,但涉及到异构数据交换xml又是个不错的选择,大家对此有什么看法?

解决方案 »

  1.   

    up一下,xml传递这么大的数据,效率肯定很低这是定了
    是否可以将数据转换成二进制文件,然后压缩传递
      

  2.   

    如果是一个xml文件,也太大了吧?中间再丢几个包,容易出错。还是压缩下再传好些吧。
      

  3.   

    我觉得xml传还不如json传  最好是分批传 不然要是出了丢包等情况就麻烦了
      

  4.   

    这大的数据.怎么搞呀,XML只搞少量的数据,搞多了不怎么行呀,
      

  5.   

    用xml传递数据,速度肯定是瓶颈
    因为不能像文本那样用byte数来取数据。
      

  6.   

    数据库同步任务反正都是数据库对数据库中间还用什么xml呀!
      

  7.   

    .......估计LZ那边数据库同步..中间必须使用报文.....(报文格式也可以是XML的不是)....
    我也碰到过...我也建议分批,因为如果表比较大,XML太大的话,解析起来超慢的.....建议XML文件不要超过1024K.....如果有条件,最好压缩了再传JAVA里面有提供压缩功能的类库......
      

  8.   

    两种方法:
    1.这么大的数据量,使用XML显然不是一个正确的选择。既然是数据库里面的记录,你完全可以把表的结构和数据导出来,然后迁移到你的目标数据库就行。
    2.使用消息中间件,如JMS之类的,把表看做对象,在不同的系统之间传递消息就行,这个完全可以借助工具去实现。
    3.使用效率高的算法压缩数据,转换成二进制,也是一个选择。
      

  9.   

    我也正在研究这个呢,我想的是通过XML做媒介,楼主解决了的话贴出来分享一下哈
      

  10.   

    关注   XML几亿条太慢了..
      

  11.   

    非用xml则压缩再传,要不然定时备份,利用ftp传备份包执行
      

  12.   

    楼主,XML传输大批量的数据,估计不太现实啊。
    首先,有用信息所占的比率,可能会比较低(大部分都是XML的标签)。
    其次,DOM方式生成大型的XML文件,容易爆掉内存。
    第三,大文件还要对数据进行整理分析,然后再插入的B库中,效率不如直接用数据库高。
    第四,如果A、B两个数据库,是同一种类的数据库,那么,虽然表结构不同,
        但仍然可以用工具进行数据迁移。这样效率会高很多。
    第五,如果所迁移的数据,不存在多国语言问题,以及BLob、CLob类型,
        那么,使用Txt文本,是最简单有效的办法。
        先按条件导出相应的Txt文本,然后,直接导入到目标库中。(因为数据库处理数据快)