数据库集群技术有哪些

数据库集群技术有哪些,第1张

数据集群技术

1)提高数据库处理速度的技术

目前有四种提高数据库处理速度的办法:

◆ 提高磁盘速度:这包括RAID和其他磁盘文件分段的处理。主要的思想是提高磁盘的并发度(多个物理磁盘存放同一个文件)。尽管实现方法各不相同,但是它们最后的目的都是提供一个逻辑数据库的存储映象。我们要评价的六个系统都能有效地利用这些技术。由于ICX已经有最大的磁盘冗余度,RAID 磁盘系统的设置应该侧重于速度,而不是数据冗余。这样磁盘利用的效益就会提高。

◆ 分散数据的存放:主要思想是利用多个物理服务器来存放数据集的不同部分(一个数据库表格分散到多个服务器或者每个服务器分管几个内容不同的表格)。这些办法不但可以扩展数据集(数据集的可扩性),而且使得不同的服务器进行并行计算成为可能。例如,对于ORACLE的RAC来讲,由于它是共享磁盘的体系结构,你只需要简单地增加一个服务器节点,RAC就能自动地将这节点加入到它的集群服务中去。RAC会自动地将数据分配到这节点上,并且会将接下来的数据库访问自动分布到合适的物理服务器上,而不用修改应用程序。对于UDB来讲,因为它是非共享磁盘的体系结构,因此就必须手工修改数据的分区,MSCS和ASE也是同样的情况。MySQL也需要手工分区,并且是这几种数据库中支持分区的自动化程度最低的,也就是说,应用程序需要自己负责数据库的分布式访问。不管数据存放是如何实现的,分布式存放数据的缺点是对数据库的可用性有负面影响。任何一台服务器的损坏都会影响整个系统的可用性。但是,这是迄今为止各大数据库厂商能提供的业界最好的数据库集群技术了。ICX是一种基于中间件的数据库集群技术,它对客户端和数据库服务器都是透明的。因此,ICX可以用来集群几个数据库集群(一个逻辑数据库),也可以用于集群几个物理数据库服务器(来增强一个分管关键数据的物理服务器)。

◆ 对称多处理器系统:此技术的思想是利用多处理机硬件技术来提高数据库的处理速度。但是,除了ICX,所有其它的数据库集群技术只支持单一的可修改的逻辑数据库。绝大部分的数据库事务处理是磁盘密集型的,纯计算负荷很小的,对称多处器技术在数据库上的应用的实际收益是很有限的。这也说明了为什么实际应用中最多只用了四个CPU的原因。所有的基于数据库引擎的集群都支持这个技术,ICX对SMP技术是中性的,因为它能把多个数据库服务器集合在一起构成一个集群,也能将多个现存的数据库集群集合在一起,构成集群的集群。

◆ 交易处理负载均衡:此技术的思想是在保持数据集内容同步的前提下,将只读 *** 作分布到多个独立的服务器上运行。因为绝大多数的数据库 *** 作是浏览和查询,,如果我们能拥有多个内容同步的数据库服务器,交易负载均衡就具有最大的潜力(可以远远大于上面叙述的最多达四个处理器的对称多处理器系统)来提高数据库的处理速度,同时会具有非常高的数据可用性(真正达到5个9,即99999%)。所有基于数据库引擎的集群系统都只支持一个逻辑数据库映象和一个逻辑或物理的备份。这个备份的主要目的是预防数据灾难。因此,备份里的数据只能通过复制机制来更新,应用程序是不能直接更新它的。利用备份数据进行交易负载均衡只适用于一些非常有限的应用,例如报表统计、数据挖掘以及其它非关键业务的应用。只有ICX能够做到同步复制多个数据库服务器从而达到在保持数据一直性前提下的真正的负载平衡。

上述所有技术在实际部署系统的时候可以混合使用以达到最佳效果。

2)提高数据库可用性的技术

根据物理法则,提高冗余度是提高数据库可用性的唯一途径。

提高数据库冗余度大致有四种方法:

◆ 硬件级的冗余:主要思想是让多处理机同时执行同样的任务用以屏蔽瞬时和永久的硬件错误。有两种具体的实现方法:构造特殊的冗余处理机和使用多个独立的数据库服务器。冗余处理机的造价昂贵,效益很低。实际应用日渐减少。基于数据库的集群系统都是用多个独立的数据库服务器来实现一个逻辑数据库,在任意瞬间,每台处理器运行的都是不同的任务。这种系统可以屏蔽单个或多个服务器的损坏,但是因为没有处理的冗余度,每次恢复的时间比较长,它们需要把被损坏的服务进程在不同的服务器上从新建立起来。ICX让多个独立的数据库服务器作同样的处理。发现处理器问题时的切换不需要重建进程的状态,所以故障屏蔽是极快的。

◆ 通讯链路级的冗余:冗余的通讯链路可以屏蔽瞬时和永久的通讯链路级的错误。基于数据库引擎的集群系统有两种结构:共享磁盘和独立磁盘。RAC, MSCS 和 MySQL CS可以认为是共享磁盘的集群系统。UDB和ASE 是独立磁盘的集群系统。共享磁盘集群系统对网络系统的要求很高,所以通讯的冗余度最小。独立磁盘集群系统可以把磁盘系统独立管理,通讯冗余度较高。 ICX的通讯链路级的冗余度最高,因为它使用的是多个独立的数据库服务器和独立的磁盘系统。 ICX也可以用于共享磁盘系统。 但是冗余度会相应降低。

◆ 软件级的冗余:由于现代 *** 作系统和数据库引擎的高度并发性,由竞争条件、死锁、以及时间相关引发的错误占据了非正常停机服务的绝大多数原因。采用多个冗余的运行数据库进程能屏蔽瞬时和永久的软件错误。基于数据库引擎的集群系统都用多个处理器来实现一个逻辑数据库,它们只能提供部分软件冗余,因为每一瞬间每个处理器执行的都是不同的任务。只有ICX可以提供最大程度的软件级冗余。

◆ 数据冗余:有两类冗余数据集。

被动更新数据集:所有目前的数据复制技术(同步或异步),例如磁盘镜像(EMC的TimeFinder系列)、数据库文件复制(如DoubleTake, Veritas and Legato)以及数据库厂商自带的数据库备份工具都只能产生被动复制数据集。通常,为了实现复制功能,需要消耗掉主服务器5%(异步)到30%(同步)的处理能力。被动更新的数据一般只用于灾难恢复被动更新数据集还有两个致命的问题:一旦主处理机故障造成数据损坏,被动更新的数据集也会被破坏。另外,和主动更新系统相比,被动更新系统对数据网络的带宽要求更高。这是因为它缺少交易的信息,很多数据复制是盲目的。

主动更新数据集:这种数据集需要一台(或多台)独立的备份数据库服务器来管理,由于这种数据集及时可用,它可以有多种用途,例如报表生成,数据挖掘,灾难恢复甚至低质量负载均衡。 同样地,这里也有同步和异步两种技术。

◆ 异步主动复制数据集:这种技术是先把事务处理交给主服务器来完成,然后这些事务处理再被串行地交给备份服务器以执行同样的 *** 作来保证数据的一致性。这种技术生成的数据集和主数据集有一个时间差,所以仅适用于灾难恢复、数据挖掘、报表统计以及有限的在线应用。所有的商用数据库都支持异步主动复制技术。这种办法的难度在于复制队列的管理上,这个队列是用来屏蔽主服务器和备份服务器之间的速度差异的。因为主服务器可以尽可能地利用所有软硬件的并发性来处理并发的事务,而备份服务器只能串行地复制,在高负荷事务处理的情况下,复制队列经常可能溢出。因为没有任何办法来控制事务处理请求的速度,在高负荷事务处理的情况下,复制队列只能经常性地重建。因为所有现代数据库系统都支持热备份和LOG SHIPPING。通过精心策划,应该可以实现不关闭主服务器而重建队列。ICX也支持异步主动复制 ICX的复制队列的重建是通过ICX的自动数据同步软件来完成的,所以不需要人工 *** 作。

◆ 同步主动复制数据集:这种技术要求所有的并发事务处理在所有的数据库服务器上同时完成。一个直接的好处就是没有了队列的管理问题,同时也可以通过负载均衡实现更高的性能和更高的可用性。这种技术也有两种完全不同的实现方法:完全串行化和动态串行化。完全串行化的事务处理来自于主数据库的事务处理引擎,RAC, UDB, MSCS (SQL Server 2005) 和 ASE是用完全串行化并结合两阶段提交协议来实现的,这种设计的目标就是为了获得一份可用于快速灾难恢复的数据集。这种系统有两个关键的问题。第一,两阶段提交协议是一种“ALL OR NOTHING”的协议。仔细研究两阶段提交协议后就能发现,为了获取这备份数据集,事务处理的可用性会降低一半。第二,完全串行化的做法又引进了主-从数据库服务器速度不匹配的问题。强制同步造成整个系统的速度被降低到完全串行化的水平。相反,ICX-UDS采用了动态串行复制引擎。这设计可以充分利用多个独立数据库的处理能力。ICX避免了使用两阶段提交协议,因此一个事务处理只有在集群中的所有服务器全都同时崩溃的情况下才会回滚。

为了防灾,必须使用远程网络。 所以我们在这里讨论远程数据复制的办法。这里大概有四种办法。

◆ 动态远程异步复制:这种办法是指主服务器通过远程网串行地把交易复制到备份服务器上。由于主-副之间的速度不匹配,队列管理的问题就很突出。 由于远程网的速度一般都比较慢,队列溢出的概率大大增加。所有的集群系统都支持这种复制办法,只是队列管理的办法不同而已。DM,FM和RAID都不能支持这种办法。RAID只能在局域网内工作。

◆ 动态远程同步复制:这种办法是指主服务器通过远程网并行地把交易复制备份服务器上。只有ICX 具有这种能力。

◆ 静态远程异步复制:这种办法是指通过远程网把数据串行地复制(不通过数据库服务器)到异地。DM和FM支持这种复制办法。因为串行处理和队列管理的关系,这对于处理量大的系统不适用。但是这种复制办法对应用是透明的,所有集群系统都可采用

◆ 静态远程同步复制:这种办法也是指通过远程网把数据串行地复制(不通过数据库服务器)到异地。不同的是,这里没有队列管理。取代队列管理的是发送端的一个新的协议:每次发送都要等接受端确认复制成功。否则回滚。DM和FM都支持这种复制办法。这种办法只能在短距离范围内工作, 大约5 英里光纤的样子。如果超出这个距离范围的话,显然事务处理回滚的概率就会很高。但是这种复制办法对应用是透明的,所有集群系统都可采用。

3)提高数据库安全和数据集可扩展的技术

在提高数据库安全性和数据集可扩性这两方面,可以创新的空间是很小的。数据库最常见的安全办法是口令保护,要么是分布式的,要么是集中式的。在数据库前面增加防火墙会增加额外的延迟,因此,尽管许多安全侵犯事件是来自于公司内部,但是数据库防火墙还是很少被采用。如果数据库集群技术是基于中间件技术实现的,就有可能在不增加额外延迟的情况下 ,在数据经过的路径上实现防火墙功能。ICX完全实现了这种思想。

数据库数据集的可扩性只能通过将数据分布到多个独立的物理服务器上来实现。为了弥补可用性的损失,ICX能被用来提高整个逻辑数据库或者部分重要服务器的处理速度,可用性和安全性。

什么是SQL呢 SQL就是专门用来做数据库的一门语言 和C语言差不多 (当然功能不紧紧是做数据了 编程啊 都可以 这里就不多说了)z这道题用ACCESS 就可以完成了

1 首先 用Access 2000(数据库 )做一个数据库 打开设计器创建表 在点菜单 另存为 名为班级名+自己名字英文简写 最后点保存啦 (每完成系统都是有提示的啦) 第一问 解决

2 打开设计器 上面做的表下面下

创建数据表 名字都是在最后完成时做的 先不用管 然后在输入sID,sName,sSex,sAge,sClass 注意根据后面的要求填写字段 及数据类型 以及

在做其他的问题了将T_Student表的sID字段设置为标识列,种子为1,增量为2。

为T_Student表的sSex(性别)字段设置其默认值为“男”。

为T_Student表的sAge(年龄)字段设置检查约束,规定年龄在0到30岁之间。

为T_KC表的cName(课程名称)字段设置唯一性约束。,规定课程名称不得重复。

生成一个规则t_rule,限制数据的取值范围在(0---100)之间,然后将这个规则绑定到T_CJ表的cj(成绩)字段。

为T_KC表的cName字段创建索引。

最后

当然主键当然是SID了 一定要标好哦~~·先不管作业其他要求

在依次做其他2个表;

T_KC(cID,cName,sBianhao,sXuefen)

T_CJ(sID,cID,cj) 注意主键是SID

3 做好了三个表后退出设计器

在打开以一个个表 在按要求输入(在每个表中添加3-5条记录。)

好了 基本就完成了

当然用SQL 也能完成 这些问题 并且要快 但涉及到TQL语言 编程问题 很难说清楚 就不一一解释了···

数据库就是把一定的数据按照一定的逻辑关系存储起来的文件的集合,狭义的数据库仅仅是指存储数据的文件,广义的数据库还包括建立、管理数据文件的软件呢如foxpro,sqlserver。

一个构建得相对完善数据库的作用其实是难以用语言去表达的呢,比如说简单点的,全校师生的自然情况,一个商店所有商品的货源、进价、数量、进货日期、采购员……,这些其实都是很简单的数据库,复杂点的就是一个大型网络游戏所有的成员的账号密码,或者是某个大工程所有参加人员和工程车辆的统计表,一个国家的工业企业设备的能力……建好的数据库对数据进行统计、查询、计算等等是非常方便快速。

数据库的作用有以下几点:

可以实现数据共享。数据共享就包含了所有用户可同时存取数据库中的数据,也包括用户可以用各种方式去通过接口使用数据库,并且提供数据共享。

可以减少数据的冗余度。与文件系统相比,由于数据库实现了数据的共享,从而呢避免了用户各自建立应用文件。也减少了大量得重复数据,减少了数据的冗余,就维护了数据的一致性。

体现了数据的独立性。数据的独立性就包括了逻辑独立性和物理独立性。

可以实现数据的集中控制。在文件管理方式中,数据是处于一种分散的状态的,不同的用户或者是同一用户在不同处理中其文件之间是没有关系的。利用数据库可以对数据进行集中的控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。

保持数据一致性和可维护性,以确保数据的安全性和可靠性。

这主要包括:安全性控制、完整性控制、并发控制,使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用。

可以用来故障恢复。这是由数据库管理系统提供的一套方法,可以及时发现故障和修复故障,从而去防止数据被破坏掉。

数据仓库系统的组成部分包括以下几项内容:

数据库系统由4个部分构成:1、数据库,是指长期存储在计算机内的,有组织,可共享的数据的集合;2、硬件,是指构成计算机系统的各种物理设备,包括存储所需的外部设备;3、软件,包括 *** 作系统、数据库管理系统及应用程序;4、人员,包括系统分析员和数据库设计人员、应用程序员、最终用户、数据库管理员。

数据库系统一般由数据库、硬件、软件、人员4个部分组成:

1、数据库是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。

2、硬件是构成计算机系统的各种物理设备,包括存储所需的外部设备。硬件的配置应满足整个数据库系统的需要。

3、软件包括 *** 作系统、数据库管理系统及应用程序。数据库管理系统是数据库系统的核心软件,是在 *** 作系统的支持下工作,解决如何科学地组织和存储数据,如何高效获取和维护数据的系统软件。其主要功能包括:数据定义功能、数据 *** 纵功能、数据库的运行管理和数据库的建立与维护。

4、人员主要有4类。系统分析员和数据库设计人员,负责应用系统的需求分析和规范说明;应用程序员,负责编写使用数据库的应用程序;最终用户,利用系统的接口或查询语言访问数据库;数据库管理员负责数据库的总体信息控制。

扩展资料:

常见数据库系统

1、MySQL

一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass- deployed)的软件中去。

2、SQL Server

Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点。Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。

3、Oracle

Oracle产品系列齐全,几乎囊括所有应用领域,大型,完善,安全,可以支持多个实例同时运行,功能强。能在所有主流平台上运行。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。

参考资料来源:百度百科-数据库系统

以上就是关于数据库集群技术有哪些全部的内容,包括:数据库集群技术有哪些、如何创建数据库、数据库是什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9326568.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存