张。 2014-07-11 13:32
浏览 1072
已采纳

多个系统怎么共享数据

公司现在有多个系统:客服系统、订单系统、营销系统等,这些系统的数据经常要关联查询,怎么保证查询速度呢?目前我们是用ETL工具实现数据同步,比如把订单系统的订单数据同步到客服系统数据库,但是这样就增加了系统的复杂性,如果把所有数据同步到一个数据库会不会数据量太大了?不知道有没有更好的解决办法。

  • 写回答

12条回答 默认 最新

  • mingxuxu 2014-07-11 16:49
    关注

    采用共享数据库是一个比较快的方法,但是实际上增加了系统之间的耦合性。比如订单系统因为增加了一个字段,可能会对营销系统造成影响,所以建议的方式是采用服务间调用的方式。 但是题主采用ETL的方式我觉得是比较差的方式:

    A:采用数据库共享:即订单系统可以直接查营销系统的数据库,ETL实际上有延迟的问题,如果觉得不太安全可以将营销系统的数据库复制出一个库出来(如果是MySQL的话使用主从模式,这样比ETL要好一些);

    B:题主说的ETL方式:一般ETL用在进行后台的数据统计上面,对数据的实时性不敏感,比如做数据报表、离线的数据分析等;

    C:相互之间提供调用的接口,但是从题主提到的几个子系统来看,几个系统是不应该关联的。因此建议的方式是将界面部分提取出来,几个系统做成服务。 如WebSystem、OrderSystem、CustomerSystem、etc。WEBSystem依赖下面几个子系统,而子系统之间不相互依赖,这样是比较好的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(11条)

报告相同问题?

悬赏问题

  • ¥15 QT6颜色选择对话框显示不完整
  • ¥20 能提供一下思路或者代码吗
  • ¥15 用twincat控制!
  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 单通道放大电路的工作原理
  • ¥30 YOLO检测微调结果p为1
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下