公司现在有多个系统:客服系统、订单系统、营销系统等,这些系统的数据经常要关联查询,怎么保证查询速度呢?目前我们是用ETL工具实现数据同步,比如把订单系统的订单数据同步到客服系统数据库,但是这样就增加了系统的复杂性,如果把所有数据同步到一个数据库会不会数据量太大了?不知道有没有更好的解决办法。
12条回答 默认 最新
- mingxuxu 2014-07-11 16:49关注
采用共享数据库是一个比较快的方法,但是实际上增加了系统之间的耦合性。比如订单系统因为增加了一个字段,可能会对营销系统造成影响,所以建议的方式是采用服务间调用的方式。 但是题主采用ETL的方式我觉得是比较差的方式:
A:采用数据库共享:即订单系统可以直接查营销系统的数据库,ETL实际上有延迟的问题,如果觉得不太安全可以将营销系统的数据库复制出一个库出来(如果是MySQL的话使用主从模式,这样比ETL要好一些);
B:题主说的ETL方式:一般ETL用在进行后台的数据统计上面,对数据的实时性不敏感,比如做数据报表、离线的数据分析等;
C:相互之间提供调用的接口,但是从题主提到的几个子系统来看,几个系统是不应该关联的。因此建议的方式是将界面部分提取出来,几个系统做成服务。 如WebSystem、OrderSystem、CustomerSystem、etc。WEBSystem依赖下面几个子系统,而子系统之间不相互依赖,这样是比较好的。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 QT6颜色选择对话框显示不完整
- ¥20 能提供一下思路或者代码吗
- ¥15 用twincat控制!
- ¥15 请问一下这个运行结果是怎么来的
- ¥15 单通道放大电路的工作原理
- ¥30 YOLO检测微调结果p为1
- ¥15 DS18B20内部ADC模数转换器
- ¥15 做个有关计算的小程序
- ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
- ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下