关于数据中心叙述
某大型企业在全国各城市共有40个左右的分支机构,这些机构已经建设了基于大型关系数据库的信息管理系统,每天负责独立地处理本区域内的业务并实时存储业务数据。
每个机构的数据库服务器从PC Server(最小512M内存)到RISC小型机(最大4GB内存)配置不一,操作系统也不一样,数据库产品类型也不统一。
每个机构平均每天产生约4MB的数据,数据表中包括TEXT字段;每季度一次性产生约100MB的统计和报表数据。
为了加强管理,实现对下属机构业务数据的异地存储备份,保证数据的安全及恢复,同时对全国业务数据进行挖掘分析,该企业拟在总部建设数据中心。数据中心通过公共广域网与各个分支机构组成VPN,每个分支机构到数据中心的逻辑信道带宽最 为128Kbps。
[问题1]
(1)了保证数据上传的顺序、稳定、安全、并发,并解决数据库的异构问题,系统应采用下列哪种技术(请在下列A、B、C、D四个选项中选择)?
A.交易中间件技术 B.web中间件 C.web service D.插装技术
(2)为保证分支机构可靠、高效地向数据中心汇总业务数据,避免单点故障,除了考虑广域网线路采用备份外,在数据中心还应采用什么技术?用100字以内文字说明。
交易中间件技术:中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务,衔接网络上的应用系统,能够达到资源共享,功能共享的目的。交易中间件是面向交易事物处理的中间件,它负责正确传递交易,对交易完整性进行管理,调度应用程序的运行,保证整个系统运行的高效性,对交易完整性进行管理,调度应用程序运行,保证整个系统运行的高效性。根据X/Open DTP模型,本地交易的管理由数据库系统完成,交易中间件主要完成分布式计算环境下交易的监控和管理。数据库虽然在本地交易管理的功能已经很强大,但通过一个广域网进行分布式交易管理并不是数据库的强项,特别是一笔交易涉及到异构数据库更是如此。把数据上传是作为交易处理,交易中间件可以满足。
Web中间件及应用服务器(Application Server),是实现基于浏览器(或web)应用的中间层平台,不仅是商业逻辑组件的容器,还提供内容管理,负载均衡,容错,连接池等功能。
Web Service 是一种面向服务的模型,合适解决分布式计算和处理,不合适应用于数据同步。
插装技术是白盒测试技术的一种,在测试系统中植入测试代码或测试硬件,以捕获系统运行的可能路径,称为插装,不适合应用于数据同步。
为避免数据中心的单点故障,数据中心数据库服器采用多机集群Cluster和数据库并行处理技术,存储设备采用全冗余的SAN结果(或者全冗余的存储结构)。
[问题2]
假设各个分支机构的历史数据已经通过某种方式顺利地存储到了数据中心。对于增量数据的汇总更新,总部的王副总工提议采用数据库复制技术和数据库的触发器技术获取数据更新日志的方式来完成,但张总认为这样做不仅增加了成本,而且不能解决全部问题。请用300字以内文字说明张总的理由。
数据库复制技术是分布式数据库技术的一项重要技术,其主要功能是向分布式环境中各个数据库节点提供数据复制,保持数据一致或控制维护数据冗余。数据复制一般有同步,异步方式,体系机构有主从(一个主点,多个复制点),对等,分布式(多个主点,一个复制点)等,采用数据库复制技术,需要各个节点安装数据库复制服务器,在异构环境下,还要求复制点增加异构数据同步服务,开销较大。
数据库触发器技术是数据库管理系统能够在一些数据库相关事件发生时触发预先定义的操作,触发器机制可以增强应用完整性,加强复杂业务的规则,或者监控数据库的变动,并执行一定的数据操作,实现信息管理的自动化。
从题目的要求来看,采用的技术一方面不能影响业务系统,另一方面数据不能因为网络故障,服务器繁忙等原因丢失,而且成本不能太高。
采用数据库复制技术,各地需要安装专门的复制服务器,增加成本,维护管理较为复杂,同时,太多的分支机构使得中心的数据库复制服务器压力大,因此在本题条件下,不宜采用数据库复制技术。
采用数据库的触发器技术虽然能够实时记录数据库的变化,但不能捕获数据表中TEXT字段的UPDATE动作,并且对于每季度一次的统计报表数据,采用数据库的触发器技术来记录数据库的变化,占用数据库资源太多,可能影响某些机构的日常业务处理。
[问题3]
最后,为解决数据中心数据更新与同步问题,张总安排总部的系统分析师李工来设计方案,并指出可以对王副总工的意见加以完善,如果需要也可以修改各地的业务系统。李工提出的方案具有较好的可执行性,并获得了大家的认可。请用400字以内文字叙述系统分析师李工的方案要点。
各地上传的数据更新日志是中心数据更新同步数据的依据。各地系统将数据更新操作以SQL语句的形式记录到数据更新日志中,由交易中间件系统发送日志到数据中心的交易中间件服务器上。中心交易中间件服务器开启同步进程,实时处理各个机构提交的数据更新日志,必要时由于数据库异构产生的SQL语句差别进行修改,向中心数据库系统提交数据更新SQL,完成数据中心的数据更新。
其次,明确数据更新日志获得的方式,重点解决TEXT字段问题和报表统计数据问题。
1.针对多数业务数据更新,各地数据库采用数据库触发器技术,通过触发器捕获记录或字段的增删改查操作,以标准的SQL命令保存到数据更新日志中。
2.改造各地的业务管理系统,当发生数据表TEXT字段修改时,在修改字段的同一事务中,将该动作增加到数据更新日志中,数据中心根据记录抽取改字段指向的内容。
3.对每季度产生的报表统计数据,改造各地原有业务系统。在数据更新日志中保存生产的数据条件,数据中心更加记录一次性抽取满足条件的数据。
最后,针对个别机构数据库服务器配置低,采用触发器技术可能造成资源不足的情况,升级该机构的数据库服务器,比如将内存增加到1GB.