论数据库集群技术及应用 随着经济的高速发展,企业的用户数量、数据量呈爆炸式增长

考试题库2022-08-02  65

问题 论数据库集群技术及应用随着经济的高速发展,企业的用户数量、数据量呈爆炸式增长,对数据库管理提出了严峻的考验。数据库系统是大多数商业信息系统的核心,因此除了业务逻辑之外,企业对数据库系统的系统性能、数据可靠性和服务可用性都提出了较高要求。为满足企业用户的实际需求,近年来数据库集群技术出现了飞速发展。按照数据库集群的架构可分为共享磁盘型和非共享磁盘型数据库集群。不同的数据库集群产品采用了不同的数据同步机制,各具特色,可满足不同类型的应用需求。业务在实现信息系统时,需要根据数据管理的实际需求,选择合适的数据库集群产品。请以“数据库集群技术及应用”为题,分别从以下三个方面进行论述。1.概要叙述你参与实施的软件项目以及你在其中所担任的主要工作。2.请说明你所参与的软件项目对数据管理的实际需求,结合数据库集群技术的特点,论述你是如何应用数据库集群技术或设计数据库集群系统的。3.请简要说明数据库集群产品的应用效果及存在的问题。

选项

答案

解析 一、论文中要说明所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。
二、需要结合项目实际情况来说明如何应用数据库集群技术,在此值得注意的是,数据库集群技术与传统数据库最大区别在于传统数据库利用的是高性能服务器,而集群技术是用一系列的PC机组成集群,提供数据库服务。所以传统数据库一旦升级,需要支出高额的成本(换掉原来的服务器),而如果采用集群方式就只需要增加集群中的机器,所以从可扩展性,性能,可用性等一系列方面都有明显优势。在论述为何选用数据库集群技术时,可谈到此方面的话题。
所谓如何应用集群技术与设计数据库集群系统,主要是从性能与可用性方面采取一些策略来进行设计。
1.提高处理速度的四种办法
(1)提高磁盘速度
主要思想是提高磁盘的并发度。尽管实现方法各不相同,但是它们最后的目的都是提供一个逻辑数据库的存储映像。系统为了提高磁盘访问速度,建立一个虚拟的涵盖所有数据“大”数据库,而不用去考虑数据的实际物理磁盘存放位置。
(2)分散数据的存放
利用多个物理服务器来存放数据集的不同部分,使得不同的服务器进行并行计算成为可能。ORACLE RAC是共享磁盘的体系结构,用户只需简单地增加一个服务器节点,RAC就能自动地将这节点加入到它的集群服务中去,RAC会自动地将数据分配到这节点上,并且会将接下来的数据库访问自动分布到合适的物理服务器上,而不用修改应用程序;UDB是非共享磁盘的体系结构,需要手工修改数据分区,MSCS和ASE也是同样情况。ICX是一种基于中间件的数据库集群技术,对客户端和数据库服务器都是透明的。可以用来集群几个数据库集群。 系统通过化整为零的策略,将数据表格分散到多个服务器或者每个服务器分管几个内容不同的表格,这样做的目的在于通过多服务器间并行运算以提高访问速度。
(3)对称多处理器系统
利用多处理机硬件技术来提高数据库的处理速度。 所有基于数据库引擎的集群都支持这个技术。 将多CPU处理器进行合理调度,来同时处理不同的访问要求,但这种技术在数据库上的应用的实际收益是很有限的。
(4)交易处理负载均衡
在保持数据集内容同步的前提下,将只读操作分布到多个独立的服务器上运行。因为绝大多数的数据库操作是浏览和查询,如果我们能拥有多个内容同步的数据库服务器,交易负载均衡就具有最大的潜力(可以远远大于上面叙述的最多达四个处理器的对称多处理器系统)来提高数据库的处理速度,同时会具有非常高的数据可用性。 所有基于数据库引擎的集群系统都只支持一个逻辑数据库映像和一个逻辑或物理的备份。这个备份的主要目的是预防数据灾难。因此,备份里的数据只能通过复制机制来更新,应用程序是不能直接更新它的。利用备份数据进行交易负载均衡只适用于一些非常有限的应用,例如报表统计、数据挖掘以及其他非关键业务的应用。 负载平衡算是一项“老”技术了。但将性能提高到最大也是集群设计所追求的终极目标。
2.提高可用性的四种方法
(1)硬件级冗余
让多处理机同时执行同样的任务用以屏蔽瞬时和永久的硬件错误。有两种实现方法:构造特殊的冗余处理机和使用多个独立的数据库服务器。 基于数据库的集群系统都是用多个独立的数据库服务器来实现一个逻辑数据库,在任意瞬间,每台处理器运行的都是不同的任务。这种系统可以屏蔽单个或多个服务器的损坏,但是因为没有处理的冗余度,每次恢复的时间比较长。 传统意义上,硬件越贵,性能越高,但往往事与愿违。想通过追加和升级硬件设备来改善硬件级的冗余,要进行详细的需求分析和论证。
(2)通讯链路级冗余
冗余的通讯链路可以屏蔽瞬时和永久的通讯链路级的错误。 基于数据库引擎的集群系统有两种结构:共享磁盘和独立磁盘。RAC, MSCS 可以认为是共享磁盘的集群系统,UDB和ASE 是独立磁盘的集群系统。共享磁盘集群系统的通讯的冗余度最小,通讯链路级的冗余具有容错功能。
(3)软件级冗余
由于现代操作系统和数据库引擎的高度并发性,由竞争条件、死锁、以及时间相关引发的错误占据了非正常停机服务的绝大多数原因。采用多个冗余的运行数据库进程能屏蔽瞬时和永久的软件错误。基于数据库引擎的集群系统都用多个处理器来实现一个逻辑数据库,它们只能提供部分软件冗余,因为每一瞬间每个处理器执行的都是不同的任务。 改善软件设计来提高冗余性能和屏蔽软件级错误是每个技术开发商的梦想。传统的集群系统只能提供部分软件冗余。
(4)数据冗余
被动更新数据集:所有目前的数据复制技术(同步或异步),例如磁盘镜像、数据库文件复制以及数据库厂商自带的数据库备份工具都只能产生被动复制数据集。它一般只用于灾难恢复。 多数应用都是采用被动更新数据集的方法。这种方法容灾能力差,资源占用多,已面临淘汰和革新。
主动更新数据集:这种数据集需要一台或多台备份数据库服务器来管理,它可用于报表生成,数据挖掘,灾难恢复甚至低质量负载均衡。分同步和异步两种。
①异步主动复制数据集:先把事务处理交给主服务器来完成,然后事务处理再被串行地交给备份服务器以执行同样操作来保证数据一致性。所有的商用数据库都支持异步主动复制技术。
②同步主动复制数据集:要求所有并发事务处理在所有数据库服务器上同时完成。直接好处就是解决了队列管理问题,同时通过负载均衡实现更高性能和可用性。RAC, UDB, MSCS 和 ASE是用完全串行化并结合两阶段提交协议来实现的,设计目标就是为了获得一份可用于快速灾难恢复的数据集。 主动更新数据集是目前比较先进的数据冗余方法。专业人员还可以进行更底层的技术细节比较。底层技术的差异直接影响着一些重要指标。 提高安全和数据集可扩性的技术 在提高数据库安全性和数据集可扩性这两方面,可以创新的空间是很小的。
三、存在的问题与解决方案则需要结合项目实践进行论述。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2401624.html

最新回复(0)