-
多个系统怎么共享数据5
公司现在有多个系统:客服系统、订单系统、营销系统等,这些系统的数据经常要关联查询,怎么保证查询速度呢?目前我们是用ETL工具实现数据同步,比如把订单系统的订单数据同步到客服系统数据库,但是这样就增加了系统的复杂性,如果把所有数据同步到一个数据库会不会数据量太大了?不知道有没有更好的解决办法。2014年7月11日 13:32
12个答案 按时间排序 按投票排序
-
采纳的答案
采用共享数据库是一个比较快的方法,但是实际上增加了系统之间的耦合性。比如订单系统因为增加了一个字段,可能会对营销系统造成影响,所以建议的方式是采用服务间调用的方式。 但是题主采用ETL的方式我觉得是比较差的方式:
A:采用数据库共享:即订单系统可以直接查营销系统的数据库,ETL实际上有延迟的问题,如果觉得不太安全可以将营销系统的数据库复制出一个库出来(如果是MySQL的话使用主从模式,这样比ETL要好一些);
B:题主说的ETL方式:一般ETL用在进行后台的数据统计上面,对数据的实时性不敏感,比如做数据报表、离线的数据分析等;
C:相互之间提供调用的接口,但是从题主提到的几个子系统来看,几个系统是不应该关联的。因此建议的方式是将界面部分提取出来,几个系统做成服务。 如WebSystem、OrderSystem、CustomerSystem、etc。WEBSystem依赖下面几个子系统,而子系统之间不相互依赖,这样是比较好的。2014年7月11日 16:49
-
做读写分离,提供一个专门的冗余数据库(专门用来查询)。
客服系统、订单系统、营销系统的数据插入和更新时实时同步到这个冗余数据库来。
各个系统要查询自己系统的数据直接连自己的库就行了,比如客服系统要查询客服数据直接连客服数据库。
如果客服系统要查询订单数据、营销数据,或者联合查询客服数据、订单数据和营销数据,那么就连那个冗余数据库。
这样既可以分担各个系统的数据库的负载,又可以提高查询的效率。2014年7月12日 11:56
-
如果数据库是oracle,做dblink很简单,在一个数据库库中建立与其他数据库的dblink,像查本库表一样查询其他数据库的表;如果不是oracle数据库,那么可以在oracle数据库库上安装插件,link其他数据库(如:sql server)的表。
希望对你有帮助。2014年7月11日 17:24
-
不知道你的数据库是oracle还是什么别的。oracle的话很简单,可以做dblink,在一个数据库中建立视图,关联所有link的数据库表,做关联查询。如果是其他数据库需要安装插件做dblink。希望能达到你的效果。
2014年7月11日 17:18
-
是不可以将一些数据查到内存中(redis memcache),这样查询的话会比较快。
关联关系的话,数据库表行存为map (key是主键 value对应数据库表一行的,存成list)。
另外数据库表如果太大的话是不是可以按照时间分表。2014年7月11日 13:57
相关推荐
在Delphi编程环境中,开发人员经常需要在多个动态链接库(DLL)之间共享数据,以实现模块化设计和代码重用。"Delphi多个DLL共享全局数据Demo"是一个实例,展示了如何在不同的DLL中有效地管理和交换信息。在这个场景中...
在DELPHI编程环境中,有时候我们需要在多个程序之间共享数据或变量,这通常是由于应用程序间的协同工作、数据传递或是为了优化资源管理。本教程将深入探讨如何实现多个DELPHI程序间的变量共享。 首先,我们要了解...
对于同一个进程,多次加载时,会创建其多个实例,如第一个实例A的进程地址空间(4GB),第二个实例B的进程地址空间(4GB),每个进程实例的地址空间中都有多个代码页面和 多个数据页面, 首次A加载时,它们会被映射到虚拟内存中...
在操作系统中,多进程数据共享是指多个进程之间共享数据的机制。这种机制允许不同的进程之间进行数据交换和共享,从而实现了进程之间的协作和通信。在 Python 中,我们可以使用多种方式来实现多进程数据共享,本文将...
数据共享是数据库的重要特性,它可以是多个用户、多种应用、多种语言、多个系统共享数据集合,提高了数据资源的利用率。 数据库系统通过数据模型来描述数据的结构和关系,减少了数据冗余,从而降低了数据不一致性的...
这涉及到用户权限管理、数据加密、访问控制等多个层面,确保只有授权的用户和系统能够访问和操作数据。 4. 数据同步与一致性:实时或定期的数据同步机制是确保多平台间数据一致性的关键。这可能涉及事务处理、版本...
整合协同平台的主要功能是从其它子系统中提取共享数据,并对多来源渠道的、相互不一致的数据进行数据融合处理;基于数据字典对实时数据和历史数据进行组织,以保证数据间关系的正确性、可理解性并避免数据冗余;以...
Windows下的多进程间通信及数据共享是指在Windows操作系统中,多个进程之间如何实现数据交换和通信的机制。实现这种机制的方法有很多,包括使用socket、管道(Pipe)、信箱(Mailslot)等,但是最基本和直接的方法还是...
Linux 多进程运行时的数据共享是指在 Linux 操作系统中,多个进程之间共享数据的机制。本文主要介绍 Linux 多进程运行时的数据共享问题,包括对进程的数据段、堆栈段和代码段的共享,并简要介绍 Linux 进程与 Win32 ...
该规范详细涵盖了数据平台的多个核心功能,包括数据采集、存储、处理、共享以及管理等多个方面。 1. **系统建设目标**: - 实现省级范围内数据的统一采集、存储、处理和共享,提升数据的利用效率。 - 建立高效的...
在IT领域,尤其是在多进程编程中,C语言的共享内存是一种高效的数据通信方式,它允许两个或多个进程之间共享同一块内存空间,从而实现数据的快速传输。在Linux操作系统环境下,这种技术通常依赖于POSIX标准提供的...
系统中存有多个数据文件,它们分别存储于网络中的各终端设备内,服务器上保存这些数据文件所在的终端编号(可能一个文件会同时存在于多个终端上)。用户需要浏览某个数据文件时,如果文件存在于本地终端上,则直接...
在实际应用中,这样的数据集可以用于多个领域: 1. 城市规划:通过分析建筑数据,城市规划师可以评估城市结构,优化公共设施布局,比如公园、学校、医院等。 2. 地理分析:GIS专家可以利用这些数据进行空间分析,...
总之,这个数据集提供了丰富的信息,可以帮助我们深入了解共享单车在上海市的使用情况,对城市交通、环境、经济等多个领域进行深入研究。同时,它也为我们提供了一个实践数据挖掘和GIS分析的良好案例。
DSP 数据服务共享平台提供了一个完整的数据服务共享解决方案,涵盖数据资源目录、数据服务发布、数据服务使用、数据安全管理等多个方面。该平台支持多种数据类型,包括结构化数据、非结构化数据和文件数据,满足企业...
统一交换平台是一个集成了多个系统的中间件平台,它通过标准化的接口和服务,为各个政务信息系统之间提供数据交换和共享的能力。电子政务共享数据统一交换平台技术规范,确立了一套统一的交换平台的构建标准、数据...
在IT行业中,数据库同步是一个关键话题,特别是在分布式系统和企业级应用中,多个数据库的同步是确保数据一致性、完整性和高可用性的重要手段。本文将深入探讨如何使用Java来实现多个数据库之间的数据同步。 首先,...
江苏省健康信息平台共享数据集(医疗部分)2018版V5.4是一个专为中医院设计的数据采集系统,旨在提升医疗服务的质量和效率。这个压缩包文件包含了医疗信息共享的重要组成部分,对于理解和操作该平台至关重要。以下是...
因为cookie在跨域的情况下,浏览器根本不允许互相访问的限制,为了突破这个限制,所以有了以下这个实现方案,使用postmessage和localstorage进行数据跨域共享。 原理比较简单,但是遇到的坑也不少,这里梳理一下,做...
4. **数据分割**:大文件可以被分割成多个块,便于并行处理和分布式存储。 5. **版本控制**:HDF5支持数据版本管理,可以追踪数据的变化历史。 FTP作为网络上传输文件的标准协议,为数据共享提供了便利。FTP的主要...