系统集成论坛
标题:
数据库集群的分类及优缺点概述
[打印本页]
作者:
思考的牛
时间:
2012-3-9 10:28
标题:
数据库集群的分类及优缺点概述
集群定义:
集群是指用一组服务器运行一到多个应用程序。
简单的说,集群可以简单到只有两台服务器,在他们之间配置故障切换,如果一台服务器失效,由另一台服务器接管应用程序的处理。集群也可以用来运行复杂的分布式系统:应用程序将数据分割成多个可管理的部分,每个部分都可以独立进行处理。如果一台服务器失效,其他服务器不会受影响,失效节点的进程被重新分配到集群中的其他节点。
集群的三种分类:故障切换集群、分布式数据库系统、共享磁盘系统
1. 故障切换集群又可以分为两类:(1.1主动/被动集群、1.2 主动/主动集群)
1.1主动/被动集群:任何时候都只有一台服务器拥有负载,辅助服务器以被动模式运行,时刻等待着主动服务器停机进而接管主服务器,它一直与主动服务器保持同步。
缺点:只有一个服务器拥有负载,资源浪费,效率低。
1.2 主动/主动集群:两台服务器同时都执行实际的任务。每台服务器都同一个实例,同时又可以作为其他服务器上运行的实例的故障切换数据库。
缺点:需要对集群中的两台服务的规模进行规划,使其在故障切换时能够临时处理两个节点的任务。集群中的两个节点随时都可能切换到另一方。
2. 分布式数据库系统
分布式数据库系统中,多个数据库服务器通过某种机制保持同步。它又可以分为两类:(2.1副本数据库、2.2备用数据库)
2.1副本数据库:由同一个数据库的多个副本组成。有些副本是只读的,有些则可读写。Oracle高级复制(Advanced Replication)是一种保持数据库同步的机制。
缺点:副本数据库同步保持数据库的多个同步复制需要消耗大量的资源。如果启用了两阶段事物(two-phase)事务,数据库中的任何修改都要等到所有的分布数据库都确认以后才算完成,在数据更新量大的环境下容易出问题。
2.2备用数据库。备用数据是活动数据库的事务一致性副本(transactionally consistent copy).在oracle10g中,备用数据库是数据卫士(Data Guard)产品的一部分,可以使用重做数据(redo data)保持最新。备用数据库可能位于同一台服务器、同一个服务器机房,也可以位于别的地区别的国家。
备用数据库的更新状态与日志一样,日志可以使用备用的重做日志进行实时的复制,也可以在每次归档日志交换时复制,也可以稍后复制。
优缺点:备用数据库中的数据只需与已应用的日志文件保持同步。如果主服务器发生故障,所有未应用的日志文件都应当应用到备用数据库直到可以使用,备用数据库才能作为活动数据库运行。
大部分分布式数据库的类型都是备用数据库。
3. 共享磁盘系统
共享磁盘使用了共享文件系统,多个系统访问同一组磁盘。集群中的所有节点必须都能访问共享的磁盘。Oracle共享磁盘系统只运行一个数据库,多个实例都访问同一个数据库。Oracle RAC (oracle真正应用集群)就是一个共享磁盘系统,它实现了多个实例同时访问共享磁盘中的同一个数据库文件。共享磁盘系统中,集群中的多个节点共享同一组共享磁盘,这些磁盘通常配置为某种类型的RAID(如IBM DS4700 )。通常会有一组用来保存集群信息的磁盘,称为quorum盘。RAC中有一个quorum文件,保存在共享的磁盘中,由各个节点来维护,它保存了集群的相关信息。
共享磁集群主要问题在于如何防范节点之间以消极方式交互,进而提升效率。如果没有适当的控制,每个节点都可以抵消其他节点的更新;但是,如果控制太严,又会降低应用程序的处理速度。该问题在Oracle RAC 中得到了有效解决。Oracle 10g中还加入了一项针对共享磁盘系统的新特性,自动存储管理(Automatic Storage Management,ASM)。ASM是的DBA无需再单独管理文件和磁盘,只要创建磁盘分组并分派文件即可。组合使用OMF(Oracle Managed Files)和ASM,DBA在创建数据库或添加数据文件时,不需要在制定物理数据库中文件的名称和位置,只要使用磁盘组即可,oracle将会处理余下的工作。
Serapy整理
欢迎光临 系统集成论坛 (http://bbs.xtjc.com/)
Powered by Discuz! X3.1