偶连接数据库同步方案的选择
基于用户自身的技术水平和资金条件,偶连接条件下数据库的同步可以有多种解决方案。本文邀请了来自一线的专家就如何选择一个合适的解决方案提供一些建议。 分布式数据库系统已不为大家陌生。上述方案中描述了一个典型的分布式数据库系统,主要由几个部分组成: 数据中心、远程数据库、远程数据库与数据中心之间的数据交换。 从运行状态来看,分布式数据库系统又可分为“常连接”和“偶连接”两大类。顾名思义,“常连接”状态下的分布式数据库系统是指数据中心与远程数据库长期保持连通状态的部署环境。一般来说,这种系统对数据的实时性要求高,需要在实时或者近乎实时(比如秒级)的条件下保太原癫痫病医院持数据中心与远程数据库的数据一致性。例如,全国铁路客票系统采用的多级分布式数据库系统中各远程数据库与数据中心的数据之间就需要实现接近实时的数据复制。 本方案中提到的是“偶连接”环境下的分布式数据库系统。该系统允许数据交换有一定延迟。通常,各远程数据库是数据中心的一个数据分区(即数据中心的一部分数据),数据中心与各远程数据库在平时不保持连接状态,且数据中心与各远程数据库均可能有数据变更。在需要的时候,各远程数据库与数据中心通过数据交换模块连接,交换必要的数据。下面针对组成该环境下分布式数据库系统的两个重要部分(远程数据库、数据交换)来阐述如何考虑选择合适的解决方案。 远程数据库 正如上面提到的,各远程数据库是数据中心的一个数据分区,运行在各个远程站点上。对于远程数据库,我们着重要考虑以下几个方面的问题: 1. 免维护。对类似于本方案中提出的运行在船舶上的各远程数据库来说,零维护是至关重要的。如果每个船舶都无需配备IT人员或DBA,这将节省大量成本。 2. 合理资源占用情况下的鸡西市知名的癫痫病医院高性能。对于远程数据库来说,它一般不会像数据中心那样存储着海量数据,同时它的运算环境也远不如数据中心那样强大。很多远程数据库甚至部署在普通的PC上,而且有的远程应用并非需要多用户外伤性癫痫环境。这就要求各远程数据库在资源有限的环境下合理利用资源,规避可能造成的资源浪费,并且要获取企业级数据库的强大性能。 3. 安全性。数据安全是每个企业建立信息系统时首要考虑的问题。 数据库之间的数据交换 各远程数据库与数据中心的数据交换有以下几个方面的问题需要考虑: 1. 双向同步。一般情况下,不仅远程数据库的数据需要上传到数据中心,数据中心也可能有一些数据需要下载到各远程数据库中去。当然,在数据下载的过程中会涉及到如何调度,把不同的数据下载到不同的远程数据库的问题,即数据如何分区。 2. 异构数据库支持。我们需要考虑数据中心与各远程数据库是非同构数据库的情况。例如,数据中心运行着Oracle,而各远程数据库由于种种原因并不想采用Oracle,因而也需要进行数据同步的情况。 3. 增量同步。当系统运行了一段时间以后,数据中心和各远程数据库的数据都会发生膨胀,为了真正缩短网络连接时间,需要对数据进行摘取,选择自上次同步以来未同步的数据,组织它们进行上传下载。 4. 数据一致性。对于1:N的双向数据传输来说,要控制数据一致性并非一件易事。例如,数据中心将同一条数据下发到了两个不同的远程数据库,这两个远程数据库都对该数据进行了修改。继而,它们分别将数据同步到中心数据库去。那么,在这种情况下,我们如何去判断哪一条数据是真正有效的数据就成了问题。另外,数据一致性还体现在对传输失败的处理上。由于种种原因,我们并不能保证传输的过程不会失败。假设传输失败后,失败的数据该如何处理成了重要的问题。 5. 安全性。前面已经提及各远程数据库上的数据需要进行必要的保护,当然在数据中心与各远程数据库的数据传输链路上也必须对数据进行保护。只有安全的数据中心、安全的远程数据库再加上安全的数据交换渠道才能构成一个安全的分布式数据库系统。 方案的选择 主文介绍的通过电子邮件和推拉技术有效地解决了陆海之间的应用系统之间的数据同步问题,给我们提供了一种解决问题的思路。其优点是可以定制自己的解决方案解决一些特殊需求,还可以结合具体的应用同时开发。但对实施的组织技术要求比较高,不仅需要熟悉自己的应用,还需要熟悉分布式数据库和SMTP等相关技术的工作机理。另外,开发需要一定的时间。事实上,如果组织技术贮备不够,又没有特殊的业务需求,或者项目实施工期非常紧张,也有一些相对简单的办法,就是选择一些现存的产品。 Oracle、Sybase等一些数据库厂商都针对偶连接推出了一些产品,Sybase公司SQL Anywhere就是针对“偶连接”环境下的一款分布式数据库系统。 SQL Anywhere是专门为工作组、笔记本、手持设备与智能应用进行优化的一个轻量型数据库产品,可将数据库应用扩展到任何商业交易可能发生的地方。SQL Anywhere启动时仅需占用几M内存,同时,SQL Anywhere支持动态高速缓存自动调节,数据库服务器将计算出最佳的高速缓存大小并自动调节其实际占有的值。最新版的SQL Anywhere 10更支持快照隔离、物理视图等强大的新功能保证获取高性能。更为重要的是,SQL Anywhere中的MobiLink数据同步组件能满足远程数据库与中心数据库的偶连接这一特殊需求。MobiLink是一个基于偶连接的数据同步组件,它能支持远程数据库(SQL Anywhere或UltraLite)双向安全地与任何符合ODBC标准的数据源(Oracle、IBM DB2、MS SQL Server和Sybase ASE)进行同步。新版的SQL Anywhere 10除了能与ODBC数据源同步外,还能与任何虚拟的数据源同步,包括txt文件、Excel表格、XML、Web服务器、WebLogic应用服务器和Web Service等。 治癫痫病上哪家医院好总体而言,分布式数据库系统是一个已经成熟并被广泛采用的技术,其中主要融合了数据技术与数据同步技术。对于用户来说,最需要的是选择适合的技术架构分布式数据库系统,才能够节省开发成本、提高开发效率,保持数据中心与各分布式数据库之间的工作协调性。