数据库集群技术介绍

数据库集群技术介绍
数据库集群技术介绍

数据库集群技术介绍

1前言

1.1 简介

用来保存计算最终结果的数据库是整个信息系统的重要组成部分,技术也相对成熟。然而,对于所有数据库而言,除了记录正确的处理结果之外,也面临着一些挑战:如何提高处理速度,数据可用性、数据安全性和数据集可扩性。将多个数据库联在一起组成数据库集群来达到上述目标应该说是一个很自然的想法。

集群(Cluster)技术是使用特定的连接方式,将价格相对较低的硬件设备结合起来,同时也能提供高性能相当的任务处理能力。

本文试图对当前主要的数据库集群用到的具体技术和市场上的主流产品进行分析并作点评,从而为读者提供一个数据库集群的评价参考。

下面讨论的数据库集群技术分属两类体系:基于数据库引擎的集群技术和基于数据库网关(中间件)的集群技术。

基于数据库引擎的集群技术(共享磁盘或非共享磁盘)

基于数据库网关(中间件)的集群技术(不共享磁盘)

1.2 理想的数据库集群应具备的特点

提高速度:只通过简单地增加数据库服务器就能相对提高数据库处理速度。

数据同步:在任何时刻需要有多个随时可用的实时同步数据服务。最好有多个异地的同步数据服务。

安全保证:除了密码保护之外,我们最好能控制企业内部对数据库的非法访问。

可扩展性:应保证我们能任意增大数据集而没有对可用性产生负面影响。

2名词解释

2.1 集群

是一组通过协同工作方式运行同一套应用程序并针对客户端及应用程序提供单一系统映像的独立计算机。集群技术的目标在于通过多层网络结构进一步提高伸缩能力、可用性与可靠性。

2.2 可伸缩性

是指一台计算机在维持可接受性能的前提下处理不断提高的工作负载的能力。

2.3 可用性

是指存在质量、备用能力、获取简便性以及可访问能力。

2.4 可靠性

是指系统牢固程度。

3关键技术

在复杂的数据库集群技术之间做比较,其实就是比较它所包含的各项子技术性能和它们之间的协调运作能力,下面的文字将介绍数据库集群最需要得到重视的核心技术,同时也关注到了一些技术细节。

3.1 提高处理速度的四种办法

3.1.1提高磁盘速度

主要思想是提高磁盘的并发度。尽管实现方法各不相同,但是它们最后的目的都是提供一个逻辑数据库的存储映象。

【点评】系统为了提高磁盘访问速度,建立一个虚拟的涵盖所有数据“大”数据库,而不用去考虑数据的实际物理磁盘存放位置。

3.1.2分散数据的存放

利用多个物理服务器来存放数据集的不同部分,使得不同的服务器进行并行计算成为可能。

ORACLE RAC是共享磁盘的体系结构,用户只需简单地增加一个服务器节点,RAC就能自动地将这节点加入到它的集群服务中去,RAC会自动地将数据分配到这节点上,并且会将接下来的数据库访问自动分布到合适的物理服务器上,而不用修改应用程序;UDB是非共享磁盘的体系结构,需要手工修改数据分区,MSCS和ASE也是同样情况。ICX是一种基于中间件的数据库集群技术,对客户端和数据库服务器都是透明的。可以用来集群几个数据库集群。

【点评】系统通过化整为零的策略,将数据表格分散到多个服务器或者每个服务器分管几个内容不同的表格,这样做的目的在于通过多服务器间并行运算以提高访问速度。

3.1.3对称多处理器系统

利用多处理机硬件技术来提高数据库的处理速度。

所有基于数据库引擎的集群都支持这个技术。

【点评】将多CPU处理器进行合理调度,来同时处理不同的访问要求,但这种技术在数据库上的应用的实际收益是很有限的。

3.1.4交易处理负载均衡

在保持数据集内容同步的前提下,将只读操作分布到多个独立的服务器上运行。因为绝大多数的数据库操作是浏览和查询,如果我们能拥有多个内容同步的数据库服务器,交易负载均衡就具有最大的潜力(可以

远远大于上面叙述的最多达四个处理器的对称多处理器系统)来提高数据库的处理速度,同时会具有非常高的数据可用性。

所有基于数据库引擎的集群系统都只支持一个逻辑数据库映象和一个逻辑或物理的备份。这个备份的主要目的是预防数据灾难。因此,备份里的数据只能通过复制机制来更新,应用程序是不能直接更新它的。利用备份数据进行交易负载均衡只适用于一些非常有限的应用,例如报表统计、数据挖掘以及其它非关键业务的应用。

【点评】负载平衡算是一项“老”技术了。但将性能提高到最大也是集群设计所追求的终极目标。传统意义上,利用备份数据进行交易负载均衡只适用于一些非常有限的应用。

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

3.2 提高可用性的四种方法

3.2.1硬件级冗余

让多处理机同时执行同样的任务用以屏蔽瞬时和永久的硬件错误。有两种实现方法:构造特殊的冗余处理机和使用多个独立的数据库服务器。

基于数据库的集群系统都是用多个独立的数据库服务器来实现一个逻辑数据库,在任意瞬间,每台处理器运行的都是不同的任务。这种系统可以屏蔽单个或多个服务器的损坏,但是因为没有处理的冗余度,每次恢复的时间比较长。

【点评】传统意义上,硬件越贵,性能越高,但往往事与愿违。想通过追加和升级硬件设备来改善硬件级的冗余,要进行详细的需求分析和论证。

3.2.2通讯链路级冗余

冗余的通讯链路可以屏蔽瞬时和永久的通讯链路级的错误。

基于数据库引擎的集群系统有两种结构:共享磁盘和独立磁盘。RAC, MSCS 可以认为是共享磁盘的集群系统。UDB和ASE 是独立磁盘的集群系统。共享磁盘集群系统的通讯的冗余度最小。

【点评】通讯链路级的冗余具有容错功能。

3.2.3软件级冗余

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

【点评】改善软件设计来提高冗余性能和屏蔽软件级错误是每个技术开发商的梦想。传统的集群系统只能提供部分软件冗余。

3.2.4数据冗余

1. 被动更新数据集:所有目前的数据复制技术(同步或异步),例如磁盘镜像、数据库文件复制以及数据库厂商自带的数据库备份工具都只能产生被动复制数据集。它一般只用于灾难恢复。

【点评】大多数应用都是采用被动更新数据集的方法。这种方法容灾能力差,资源占用多,已面临淘汰和革新。

2. 主动更新数据集:这种数据集需要一台或多台备份数据库服务器来管理,它可用于报表生成,数据挖掘,灾难恢复甚至低质量负载均衡。分同步和异步两种。

异步主动复制数据集:先把事务处理交给主服务器来完成,然后事务处理再被串行地交给备份服务器以执行同样操作来保证数据一致性。所有的商用数据库都支持异步主动复制技术。

同步主动复制数据集:要求所有并发事务处理在所有数据库服务器上同时完成。直接好处就是解决了队列管理问题,同时通过负载均衡实现更高性能和可用性。RAC, UDB, MSCS 和ASE是用完全串行化并结合两阶段提交协议来实现的,设计目标就是为了获得一份可用于快速灾难恢复的数据集。

【点评】主动更新数据集是目前比较先进的数据冗余方法。专业人员还可以进行更底层的技术细节比较。底层技术的差异直接影响着一些重要指标。

3.3 提高安全和数据集可扩性的技术

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

4主流产品

在数据库集群产品方面,其中主要包括基于数据库引擎的集群技术的Oracle RAC、Microsoft MSCS、IBM DB2 UDB、Sybase ASE,以及基于数据库网关(中间件)的集群技术的ICX-UDS等产品。

4.1 Oracle RAC

Oracle RAC 支持Oracle 数据库在集群上运行的所有类型的主流商业应用程序。这包括流行的封装产品,

如SAP、PeopleSoft 和Oracle E-Business Suite 等,以及自主研发的应用程序,其中包括OLTP 和DSS,以及Oracle 有效支持混合OLTP/DSS 环境的独有能力。Oracle 是唯一提供具备这一功能的开放系统数据库的厂商。Oracle RAC 运行于集群之上,为Oracle 数据库提供了最高级别的可用性、可伸缩性和低成本计算能力。如果集群内的一个节点发生故障,Oracle 将可以继续在其余的节点上运行。如果需要更高的处理能力,新的节点可轻松添加至集群。为了保持低成本,即使最高端的系统也可以从采用标准化商用组件的小型低成本集群开始逐步构建而成。

Oracle 的主要创新是一项称为高速缓存合并的技术,它最初是针对Oracle9i 真正应用集群开发的。高速缓存合并使得集群中的节点可以通过高速集群互联高效地同步其内存高速缓存,从而最大限度地低降低磁盘I/O。高速缓存最重要的优势在于它能够使集群中所有节点的磁盘共享对所有数据的访问。数据无需在节点间进行分区。Oracle RAC 支持企业网格。Oracle RAC 的高速缓存合并技术提供了最高等级的可用性和可伸缩性。Oracle RAC能显著降低了运营成本,增强了灵活性,从而赋予了系统更卓越的适应性、前瞻性和灵活性。动态提供节点、存储器、CPU 和内存可以在实现所需服务级别的同时,通过提高的利用率不断降低成本。

Oracle RAC采用了“sharing everything”的实现模式,通过CPU共享和存储设备共享来实现多节点之间的无缝集群,用户提交的每一项任务被自动分配给集群中的多台机器执行,用户不必通过冗余的硬件来满足高可靠性要求。另一方面,RAC可以实现CPU的共享,即使普通服务器组成的集群也能实现过去只有大型主机才能提供的高性能。

4.2 Microsoft MSCS

数年以来,Microsoft一直致力于对自身服务器解决方案的伸缩能力、可用性与可靠性进行扩展。最初代号为Wolfpack且先后被称为Microsoft集群服务器与Microsoft集群服务的MSCS是Microsoft在NT集群技术领域中的首次重拳出击,它是公认的最佳Microsoft集群解决方案。在MSCS群集中,MSCS软件最多可以同四台运行在高速网络上的物理计算机建立连接。通常情况下,群集中的计算机能够按照“活动--活动”方式共享相同的存储子系统与功能,这意味着所有集群计算机(节点)均可主动通过共享负载的方式协同完成工作,并在某个节点出现故障时分担它的工作。MSCS的主要用途是通过自身提供的容错能力提高应用程序可用性。容错能力是指将相关处理过程从某个节点上的故障应用程序移植到集群中其它健康节点上的集群功能。当故障应用程序得到恢复后,集群应当能够对原先的集群节点实现“故障返回”。MSCS能够在不丢失任何与故障应用程序相关数据的前提下对集群上所运行的应用程序进行故障恢复与故障返回管理,并且能够在故障恢复过程中维护用户及应用程序状态。这种类型的集群功能被称作有状态集群功能。MSCS同时还允许用户在应用程序升级过程中继续进行工作。您可以采取滚动升级方式(例如每次在一个集群节点上升级应用程序并确保其它节点上的应用程序继续处于可用状态)而不必在升级过程中停止使用应用程序。

SQL Server 2005是微软的下一代数据管理和分析解决方案,给企业级应用数据和分析程序带来更好的安全性、稳定性和可靠性,更易于创建、部署和管理。它凭借针对故障转移群集机制的支持能力,得以增强的多实例支持能力以及分析服务对象与数据备份及恢复能力,分析服务的可用性得到了提高。它提供了诸如表分区、快照隔离、64位支持等方面的高级可伸缩性功能,使用户能轻松构建和部署关键应用。表和索引的分区功能显著增强了对大型数据库的查询性能。

利用Windows 2000 MSCS实现的4节点集群

性能指标

这部分将介绍集群系统的细节技术指标。在做系统规划时,用户就可去掉一些应用中不太重要的指标,或赋予这些指标以不同的权重,从而进行专业的技术性能比较,选择最适合自己的数据库集群系统。

处理速度

磁盘技术:所有集群系统都能很好地应用磁盘技术,但是由于DM,FM会对磁盘系统带来传输速度的负面影响,因此这方面它们相对欠缺。

数据分割:所有基于数据库引擎的集群系统都有很好数据分割能力。

SMP:所有基于数据库引擎的集群系统的SMP性能指标都比较接近。

负载均衡:一般的数据库引擎的集群系统由于使用了备份的数据集,因此只能支持有限的负载均衡。这一指标不同产品之间有差异。

数据可用性

处理器和软件冗余:只有部分集群系统支持该功能。

通讯链路冗余:一般来说,共享磁盘的集群系统通讯链路冗余指标较低,独立磁盘的集群系统指标较高。

数据冗余:

主动异步复制:除了磁盘和文件镜像外,其他集群系统支持该功能。

主动同步复制:所有集群系统支持该功能,细节指标略有不同。

被动异步复制:所有集群系统该性能指标都比较接近。

被动同步更新:所有集群系统该性能指标都比较接近。

通过广域网的复制技术:

远程主动异步复制:所有的集群系统都支持这种复制技术,只不过对队列的管理能力有所不同。DM,FM 和RAID的此性能相对较低。RAID不支持远程复制功能。

远程主动同步复制:ICX在这方面做的比较好。

远程被动异步复制:DM 和FM支持这种类型的复制,因为DM和FM对集群是透明的,是在集群系统的下一层工作的,所有的集群系统都可以利用它们提供的功能。

远程被动同步复制:DM和FM支持这种类型的复制,因为这种复制方式只在距离很近的时候才能使用(使用双模光纤,半径五英里)。同样地,因为DM和FM对集群是透明的, 所有的集群系统都可以利用它们提供的功能, 如果部署的话,所有的集群系统都是类似的。

安全性

口令:这是所有集群系统的基本性能。分布式或集中式的口令保护基本上保证了数据的安全。

数据库防火墙:大多数数据库集群系统得数据库防火墙很少被采用,而ICX则采用在数据经过的路径上实现防火墙功能。

数据集的可扩性

数据分区:所有基于数据库引擎的集群系统都具备数据分区以保证数据集的可扩展。

数据分区的可用性:所有集群系统该性能指标比较接近。

集群管理

共享磁盘的集群系统,比如RAC、MSCS,它们的管理比较方便,其中RAC的服务更多。但是,由于此种系统中的每一单独的服务器需要特殊处理,和独立磁盘的集群系统比较,就容易管理多了(虽然进行初始化和修改配置的时候也不那么容易),但它们都要求应用程序对集群不透明,而且配置,修改也比较麻烦。

独立磁盘的集群系统象UDB、ASE此性能相对稍低,因为用的都是非共享磁盘,所以管理相对繁琐。

ICX在易管理性(初始配置和将来的修改)方面和独立磁盘集群系统的性能相当,但是在对底层数据管理复杂性方面做得比较好。在对数据库引擎和数据进行底层修复的时候任务需要直接到每台数据库处理器上去做。

那些磁盘工具,即DM、FM和RAID,它们对集群是透明的。管理相对简单得多。

应用透明度

因为在错误回复和分区方面对应用程序不透明以及它们对应用程序都有些特殊的要求,基于数据库引擎

的RAC、MSCS、UDB、ASE和ICX在这方面都有待提高的地方。而DM、FM和RAID它们对应用程序可以说是完全透明的。

4.3 IBM DB2 UDB

DB2 UDB大量自动或自我管理功能可使管理员能够节省更多时间来集中精力考虑驱动业务价值的问题,甚至可以消除较小的实施项目对专职管理员的需求。

UDB的优势体现在DB2的开放无界:支持Unix, Linux 以及Windows等主流操作系统;支持各种开发语言和访问接口;同时具有良好的数据安全性和稳定性。DB2 V8.2的高可用性灾备技术,可在极短时间内使关键应用得到恢复。利用DB2数据分区部件(DPF)实现横向扩展,可以支持多达1000台服务器组成的庞大数据库群集,为构建企业级数据仓库提供坚实的技术基础。利用DB2的数据分区部件以及DB2信息集成器(DB2 II)技术,数据库操作可综合利用网格中的每台服务器的运算能力,实现真正意义上的网格运算。

UDB V8.2应用更多的创新技术,Design Advisor可以帮助DBA 制定全面的数据库设计决策,包括集成复杂的功能划分、物化查询表,大大缩短部署时间。自动生成统计信息概要代表了来自IBM LEO研发项目的首次部署。自主对象维护特性可自动执行基于策略的管理和维护功能,如表重构、统计信息收集和数据库备份。高可用性灾难恢复和客户机重路由特性实现了具备随选能力的企业所需的24*7信息可用性和恢复力。此外,DB2 UDB 提供与Java/Eclipse 和Microsoft .NET IDE的深入集成或插件。

DB2 UDB结构拓扑图

SYBASE ASE

ASE性能的提高是建立在虚拟服务器架构上的,这是Sybase 独有的体系结构。当前的ASE版本是ASE15。与操作系统和相关软件保持独立让ASE15可以更智能化地进行系统自我调优。VSA只需要很少的内存资源和内部交换开销,所以ASE15可以管理大量的联机用户。能够使ASE提高性能并控制成本的最主要原因是它采用了专利技术的、自调整的优化器和查询引擎。它可以智能地调整复杂的查询操作并忽略那些未包含相关信息的分区上的数据。ASE15还通过一系列用来管理和诊断数据库服务器的新特性来降低运营成本。

ASE15 拥有高可靠性和极低的运行风险。个人数据的安全性是ASE特别关注的领域,使用了一种无需

修改应用的独特加密系统。当应用和安全软件进行连接时将降低实施成本并避免产生新的安全漏洞。ASE15 还通过一种简单、直接和可编程的脚本语言来方便进行加密和解密。在解决意外停机问题时,ASE15 在其已证实的可靠性和高系统利用率的基础上,增加了许多显著的功能来增强系统的可用性和灾难恢复过程。新的存储引擎支持四种数据分区方式,在不同的物理设备上进行不同的分区操作。能帮助数据库管理员迅速地建立冗余灾难恢复节点并在异构的数据平台上同步数据库。

ASE15系统新的查询和存储引擎被设计用于支持下一代网格计算和集群技术。它结合了充分利用数据分区技术的查询处理机制和适用于解决集群问题的优化器技术。同时ASE15为事件驱动的企业提供了一个绝好的数据库平台。与web services 和XML的架构将减少系统内部的相互依赖性,并为应用开发提供更大的灵活性。

4.4 ICX-UDS

ICX-UDS不受基于数据库引擎的集群技术限制,可以支持不同的数据库。

它类似通常的代理服务器。把ICX放置在关键的网络路径上,监听数据库系统流量。ICX网关将自动过滤出无状态的查询访问,并将负载均衡到所有服务器上。在这里,网关就象一个在线“编译器”,它将所有对数据库的更新操作发送到所有数据库上执行,而将无状态的查询操作只发送到其中某一数据库服务器上。

对于统计报表和数据挖掘类应用,可以通过复制和只读去获得更快的处理速度。还能指定更多的只读来负载均衡。ICX 网关的容错可以通过备份网关来达到。加载一个非同步的数据库可以造出不影响主服务机群的近于实时的数据源。

ICX 网关和负载均衡器配置示意图

5应用点评

Oracle RAC和Oracle数据库提供的特定新管理性增强功能实现了企业网格。各种规模的企业都可以采用Oracle RAC来支持各类应用程序。

企业网格采用大型标准化商用组件配置:处理器、网络和存储器。利用Oracle RAC的高速缓存合并技术,Oracle数据库实现了最高可用性和可伸缩性。现在,利用Oracle数据库和Oracle RAC将大幅降低了运行成本,进一步增强了灵活性,其动态提供节点、存储器、CPU和内存的特性可以更轻松、高效地保持服务级别,而通过提高的利用率又进一步降低了成本。企业网格是未来的数据中心,使企业具备更高的适应能力、前瞻性和敏捷性。

集群技术随着服务器硬件系统与网络操作系统的发展将会在可用性、高可靠性、系统冗余等方面逐步提高。我们汇集了市场上的主流产品,并从分析性能指标的角度出发,对产品进行了简要评价。

Sybase ASE是一个深受用户欢迎的高性能数据库,它具有一个开放的、可扩展的体系结构,易于使用的事务处理系统,以及低廉的维护成本。

ASE可支持传统的、关键任务的OLTP和DSS应用,并且满足Internet应用的发展需要,Sybase可以很好地满足关键任务的企业业务应用的需求,提供数据库可靠性、集成性和高性能。ASE有效的多线索结构,内部并行机制和有效的查询优化技术提供了出色性能和可伸缩性;还可提供先进的企业集成、强健和数据访问与数据移动技术,支持跨越远程Sybase和non-Sybase数据库的分布事务和查询。ASE进一步扩展了这些功能,通过分布信息和管理商业事务,支持通过企业信息门户对商业系统进行个性化的用户访问。

MSCS对于诸如电子邮件服务器、数据库应用程序之类的应用程序,是一种良好的运行方式。

假设您决定在一个4节点MSCS群集上运行Microsoft Exchange 2000 Server。当安装MSCS软件以及适用于群集的Exchange 2000版本后,您可以对群集进行配置,以便使Exchange 2000能够在主要节点发生故障时在备份节点上进行故障恢复。当故障发生时,主服务器上肯定存在处于打开状态的用户会话,然而,MSCS 能够在不丢失任何数据的情况下快速、自动的完成故障恢复。备份节点将从故障节点上接替工作负载及相关数据,并继续为用户提供服务。

ICX的最大优点是在数据库集群技术面临的挑战上有了新的探索,此项基于中间件的数据库集群技术为获得具有高可扩性的高性能数据库提供了一条切实可行的途径,同时能灵活地适应未来的技术变化。

这种中间件复制技术可位于关键的网络路径上,监听所有进出数据库系统的流量,方便地提供防火墙和其它安全服务,保护物理的数据库服务器。通过多个服务器的并发处理很容易地隐藏了处理的延迟。实时并行同步交易复制:一旦我们突破了实时并行同步交易复制的技术障碍,用户就能通过由多个数据库服务器构成的集群来获得高性能,高可用性和高安全性。

DB2 UDB是一个可以随企业增长的数据库。当对网站的事务需求达到峰值时它可以迅速响应,它可以进行扩展以容纳分布在许多不同数据库中的数量不断增长的信息。

随着信息基础结构从一个处理器发展到多个处理器再到高度并行的多个群集,它也随之扩展。将分区技术和群集技术集成到新的DB2 UDB Enterprise Server Edition 中意味着该版本很灵活。DB2 UDB还添加了自主数据库技术,它使数据库管理员可以选择使用增强的自动化技术来配置、调优和管理他们的数据库。自主数据库管理意味着管理员可以在管理日常任务上花费较少的时间。表的多维群集减轻了DBA 创建索引的工作负担,同时提供了数据群集以快速查询。DB2内置的已规划的和未规划的可用性能力确保了业务应用程序在任何时候都可用。诸如索引重建、索引创建和表装载之类的联机实用程序以及可以不停止数据库进行更改的配置参数,都意味着改进的性能和高可用性。

【相关链接】

理想的数据库集群应具备的特点

提高速度:只通过简单地增加数据库服务器就能相对提高数据库处理速度。

数据同步:在任何时刻需要有多个随时可用的实时同步数据服务。最好有多个异地的同步数据服务。

安全保证:除了密码保护之外,我们最好能控制企业内部对数据库的非法访问。

可扩展性:应保证我们能任意增大数据集而没有对可用性产生负面影响。

一般来说,有关数据库集群的技术都非常庞杂。更具挑战性的是,实际应用要求在提高速度、数据同步、安全保证、可扩展性方面的指标能同时提升,而不是单纯提升某一指标而牺牲其他指标。全面提升这些技术指标是数据库集群技术都将面临的重大课题。

分布式MySQL数据库集群在线监测系统设计与实现

` 硕士学位论文 (工程硕士) 分布式MySQL数据库集群在线监测系统 设计与实现 DESIGN AND IMPLEMENTATION OF DISTRIBUTED MySQL DATABASE CLUSTER ONLINE MONITORING SYSTEM 黄旭 哈尔滨工业大学 2012年6月

国内图书分类号:TP311 学校代码:10213 国际图书分类号:621.3 密级:公开 工程硕士学位论文 分布式MySQL数据库集群在线监测系统 设计与实现 硕士研究生:黄旭 导师:范国祥高级讲师 副导师:赵威高级工程师 申请学位:工程硕士 学科:软件工程 所在单位:软件学院 答辩日期:2012年6月 授予学位单位:哈尔滨工业大学

Classified Index: TP311 U.D.C.:621.3 Dissertation for the Master‘s Degree in Engineering DESIGN AND IMPLEMENTATION OF DISTRIBUTED MySQL DATABASE CLUSTER ONLINE MONITORING SYSTEM Candidate: Supervisor: Associate Supervisor: Academic Degree Applied for: Speciality: Affiliation: Date of Defence: Degree-Conferring-Institution: Huang Xu Senior Lecturer Fan GuoXiang Senior Engineer Zhao Wei Master of Engineering Software Engineering School of Software June, 2012 Harbin Institute of Technology

达梦数据库集群选择及介绍

达梦数据库集群选择及介绍 武汉达梦数据库有限公司 2019年9月

版本历史

目录 1 达梦公司介绍 (1) 1.1核心研发能力 (1) 1.2运维保障能力 (2) 1.2.1 保障体系的组织方式 (2) 1.2.2 服务保障流程 (5) 2 数据库集群选择及介绍 (8) 2.1路线规划 (8) 2.2集群种类 (10) 2.2.1 达梦数据守护集群(DataWatch) (10) 2.2.2 达梦读写分离集群(DMRWC) (15) 2.2.3 达梦大规模并行处理框架(DMMPP) (18) 2.2.4 达梦数据共享集群(DMDSC) (23) 3 成熟案例介绍 (28) 3.1国家智能电网调度指挥系统D5000 (28) 3.2南方电网-OS2地级主站系统 (28) 3.3中航信在线事务处理系统 (29) 3.4中国铁建集团财务大共享系统 (29) 3.5海南社保 (30) 3.6南京公安警务平台系统 (30) 3.7江苏监狱管理局项目 (31) 3.8国家发改委-投资审批系统 (31) 3.9国家发改委-信用交换平台 (32)

1达梦公司介绍 达梦数据库有限公司成立于2000年11月,注册资金3637万,为国有控股的大型基础软件企业。其前身是华中科技大学数据库与多媒体研究所,是国内最早从事数据库管理系统研发的科研机构,得到国家各级政府的强力支持,是中国数据库标准委员会挂靠单位,湖北省数据库工程技术研究中心。在北京、石家庄、上海、广州、南宁、西安和成都等地设有分支机构。 达梦公司是国家规划布局内重点软件企业,首批获得国家“双软”认证的高新技术企业,专业从事数据库管理系统研发、销售和服务。公司管理规范,锐意进取,通过了国家保密局“涉及国家秘密的计算机信息系统集成软件单项资质”认证和工业信息化部“计算机信息系统集成资质二级”认证,并通过了国际IS09001质量体系和CMMI软件成熟度模型五级认证,AAA资信。 达梦人经过30年的努力拼搏,在学习、分析国际上众多优秀数据库产品的基础上原始创新,投入上千人年,耗资过亿,开发源代码上千万行,形成了具有完全自主知识产权的DBMS产品系列,先后完成了近80项国家级、省部级的科研开发项目,取得了50多项研究成果,皆为国际先进、国内领先水平,其中30多项获国家、省部级科技进步奖,在国内同行中处于领先地位。 达梦数据库是国内第一家通过国家安全三级认证,国内第一家通过10TB数据库容量测试的数据库产品,也是唯一通过中国人民解放军目前最高级别军B级认证的国产数据库。达梦数据库产品已成功用于我国国防军事、公安、安全、财政金融、电力、水利、审计、交通、信访、电子政务、税务、国土资源、制造业、消防、电子商务、教育等20多个行业及领域,装机量超过10万套,打破了国外数据库产品在我国一统天下的局面,取得了良好的经济效益和社会效益。 达梦数据库(DM)具有完全知识产权,是达梦人近30年的智慧、心力和汗水的结晶,是中国人的骄傲,必将为中国信息化做出贡献。 1.1核心研发能力 达梦数据库历来注重新的技术发展趋势和技术研发工作,工作70%以上人员为技术人员。DM7.0推出后,在国内数据库领域引起了强烈反响。在这一款产品上,达梦推出了目前

第二节+数据库集群软件的安装

第二节 数据库集群软件的安装 2.1操作系统安装注意事项 本文档中所使用的操作系统是:Oracle Enterprise Linux R4 Update 8 操作系统的安装步骤在这里就不写了,不是本文重点,每个学习oracle的朋友应该对系统的安装配置很熟悉的,这里只提出安装系统的时候注意所需要的软件的安装。 Rpm –qa |grep compat compat‐boost‐1331‐1.33.1‐5.0.1.el4 compat‐libgcc‐296‐2.96‐132.7.2 compat‐openldap‐2.1.30‐12.el4 compat‐dapl‐2.0.15‐1.el4 compat‐gcc‐32‐c++‐3.2.3‐47.3 compat‐libstdc++‐33‐3.2.3‐47.3 compat‐db‐4.1.25‐9 compat‐libcom_err‐1.0‐5 compat‐libstdc++‐296‐2.96‐132.7.2 compat‐gcc‐32‐3.2.3‐47.3 系统安装完之后的设置过程中需要将防火墙关闭,Seliux 关闭以免出现不必要的麻烦 2.2安装集群前的系统配置 第一台 配置: 创建 Oracle 组和用户帐户 接下来我们将创建用于安装和维护 Oracle 10g 软件的 Linux 组和用户帐户。 用户帐户名是‘oracle’,组是‘oinstall’和‘dba’。 仅在一个集群主机上以 root 用户身份执行以下命令: #/usr/sbin/groupadd oinstall #/usr/sbin/groupadd dba #/usr/sbin/useradd ‐m ‐g oinstall ‐G dba oracle #id oracle # id oracle uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba) 用户 ID 和组 ID 在所有集群主机上必须相同。 使用从 id oracle 命令得到的信息,在其余集群主机上创建 Oracle 组和用户帐户: # /usr/sbin/groupadd ‐g 501 oinstall # /usr/sbin/groupadd ‐g 502 dba

数据库负载均衡解决方案

双节点数据库负载均衡解决方案 问题的提出? 在SQL Server数据库平台上,企业的数据库系统存在的形式主要有单机模式和集群模式(为了保证数据库的可用性或实现备份)如:失败转移集群(MSCS)、镜像(Mirror)、第三方的高可用(HA)集群或备份软件等。伴随着企业的发展,企业的数据量和访问量也会迅猛增加,此时数据库就会面临很大的负载和压力,意味着数据库会成为整个信息系统的瓶颈。这些“集群”技术能解决这类问题吗?SQL Server数据库上传统的集群技术 Microsoft Cluster Server(MSCS) 相对于单点来说Microsoft Cluster Server(MSCS)是一个可以提升可用性的技术,属于高可用集群,Microsoft称之为失败转移集群。 MSCS 从硬件连接上看,很像Oracle的RAC,两个节点,通过网络连接,共享磁盘;事实上SQL Server 数据库只运行在一个节点上,当出现故障时,另一个节点只是作为这个节点的备份; 因为始终只有一个节点在运行,在性能上也得不到提升,系统也就不具备扩展的能力。当现有的服务器不能满足应用的负载时只能更换更高配置的服务器。 Mirror 镜像是SQL Server 2005中的一个主要特点,目的是为了提高可用性,和MSCS相比,用户实现数据库的高可用更容易了,不需要共享磁盘柜,也不受地域的限制。共设了三个服务器,第一是工作数据库(Principal Datebase),第二个是镜像数据库(Mirror),第三个是监视服务器(Witness Server,在可用性方面有了一些保证,但仍然是单服务器工作;在扩展和性能的提升上依旧没有什么帮助。

数据库集群技术指标

1.DBTwin技术指标 A.非入侵部署 与所有的系统服务一样,DBTwin也是通过唯一的入口-一对(IP,port)来向外提供数据服务。因此,应用程序及其数据库接口不需作任何修改。支持所有的数据库接口:https://www.360docs.net/doc/7012018306.html,、ADO、RDO、DAO、OLE DB、ODBC、DB-LIBRARY等。 B.支持数据库 Microsoft SQL Server2005/2008的标准版和企业版。 C.事务处理同步复制 通过常用的宽带网络,快速的事务处理同步复制 D.高系统可用性 自动的错误恢复,真正把意料之内和意料之外的停机时间缩至最短。网关在错误恢复期间的停止服务间隙达到小于10秒。 E.零单点错误源 从DBTwin网关这一部件开始,整个数据库系统是完全、彻底地物理冗余。 F.数据“零”丢失 DBTwin使得系统同时拥有多个实时一致的数据集,这样从理论上讲,就真正消除了数据丢失的任何可能性。数据库可靠性达到目5个9,即99.999%。 G.动态负载均衡 DBTwin对只读数据库查询操作可以进行自动的判别和动态负载均衡,这是当前唯一实现的针对数据库的动态负载均衡技术,此技术可以大大改善整个数据库系统的性能。性能提升在30%~300%之间,具体提升比例取决于应用系统及网络结构和软硬的配置。 H.可伸缩性 可伸缩的数据库性能(负载均衡+非入侵式的数据库阵列扩展),使得数据库具有可伸缩性。需要更多的数据库性能的时候,只要增加数据库服务器就可以了。 I.容灾能力 具备即时的灾难恢复能力。 J.DBTwin自身的双机容错

DBTwin支持自身的双机主备容错切换,也可以采用第三方的HA方案解决DBTwin 自身的容错问题。 DBTwin备份(复制)软件镜像1专为数据库设计是否否 2支持数据库集群是部分支持部分支持 3支持并发数据库操作是否否 4支持动态负载均衡是部分支持部分支持 5工作方式并行串行串行 6支持多份数据集是是是 7支持多份一致数据集是否否 7单点错误源无有有 8支持业务连续性程度高低中 9数据丢失可能性零高高 10错误恢复自动化程度高低中 2.DBTwin与备份/复制软件,及数据库镜像的功能、特点比较

DBTwin数据库集群技术白皮书

DBTwin数据库集群系统 技 术 白 皮 书 无锡浙潮科技有限公司 2010年1月

目录 1.当前数据库用户面临的问题 (3) 2.当前市场上存在的针对数据库的解决方案 (4) 3.DBTWIN数据库集群 (8) 4.DBTWIN的实现原理 (9) 5.DBTWIN的特性 (10) 6.DBTWIN技术指标 (11) 7.DBTWIN与备份/复制软件,及数据库镜像的功能、特点比较 (12) 8.DBTWIN支持的系统环境 (12)

1.当前数据库用户面临的问题 随着信息时代的发展,公司和企业的运作越来越依赖于计算机系统。大量有关企业生产、销售的数据维系着企业的生存,是企业珍贵的无形资产。这些数据一旦因为存储系统遭受到失窃、断电或不可避免的自然灾害,造成大量丢失,将会给企业带来重大的经济损失。 根据Gartner的调查数据,在经历大型灾难事件而导致系统停运的公司中,有五分之二左右的公司再也没有恢复运营,剩下的公司中也有接近三分之一在两年内破产了。而由于数据库的故障导致的重大事故确是时有发生的,让我们来看几个实例: 实例1:2005年12月5日,国内某著名网络游戏公司的数据库服务器出现严重宕机事故,造成众多玩家数据丢失并蒙受经济损失 实例2:2005年6月9日某证券公司股票交易系统的数据库出现故障,股票无法正常买卖,迫使股民望“红”兴叹。 实例3:2002年7月23日国内某机场数据库系统宕机,导致6000名旅客长时间滞留机场。实例4:2000年国内某银行的支付系统突然死机,给广大用户造成极大的损失和不便。 以上发生的这些事件都是与企业数据库系统相关的故障。 另外,几乎每个数据库客户都或多或少地存在数据库性能问题,当然数据库性能问题涉及很多方面,其中,能否采用“集群”的方法来提高性能,我们公司研究的重点。 概括来讲,当前数据库系统已经成为了企业信息系统的瓶颈,究其原因,各厂家的解决方案无外乎在下列三大方面无法取得同步的进展: 1)数据库数据可靠性 2)数据库系统性能 3)系统服务的可用性 当前几乎所有的数据库系统解决方案,都无法的象真正的集群系统那样,在上述三方面同时具有良好的可伸缩性,具体来讲,当前数据库系统存在下列各种各样的问题:

数据库集群实施方案

数据库集群实施方案 数据库安全的核心和关键是其数据安全。数据安全是指以保护措施确保数据的完整性、保密性、可用性、可控性和可审查性。由于数据库存储着大量的重要信息和机密数据,而且在数据库系统中大量数据集中存放,供多用户共享,因此,必须加强对数据库访问的控制和数据安全防护。 数据库系统安全的层次与结构一般数据库系统安全涉及5个层次: (1)用户层:侧重用户权限管理及身份认证等,防范非授权用户以各种方式对数据库及数据的非法访问;(2)物理层:系统最外层最容易受到攻击和破坏,主要侧重保护计算机*络系统、*络链路及其*络节点的实体安全;(3)*络层:所有*络数据库系统都允许通过*络进行远程访问,*络层安全性和物理层安全性一样极为重要;(4)操作系统层:操作系统在数据库系统中,与DBMS交互并协助控制管理数据库。操作系统安全漏洞和隐患将成为对数据库进行非授权访问的手段;(5)数据库系统层:数据库存储着重要程度和敏感程度不同的各种数据,并为拥有不同授权的用户所共享,数据库系统必须采取授权限制、访问控制、加密和审计等安全措施。 为了确保数据库安全,必须在所有层次上进行安全性保护措施。若较低层次上安全性存在缺陷,则严格的高层安全性措施也可能被绕过而出现安全问题。 数据库系统安全解决方案概述环境安全环境安全是指数据库所运行的软硬件环境的安全控制。正确的架构设计是数据库及其他应用稳定、安全的运行最有力保障,一个正确的架构设计可以较好的体现在物理环境中,通过比较简单的对物理环境的设定,就可以屏蔽大量的安全隐患。 错误的架构设计会导致物理结构散乱,无论从运维还是管理上来说,都有相当大的困难,较多的物理漏洞必须通过繁杂的软件安全控制来屏蔽风险,抛开安全本身无法较好保证而言,更换服务器时对软件的设置相当困难。 软硬件架构按照较大的框架进行分割,我们可以知道任何安全的架构都是传统三层架构的扩展,根本还是在于表示层,业务逻辑层,数据访问层,对于数据库看来则是应用层,中间层,数据层。 逻辑上实现三层架构比较容易,在软件中分离数据访问即可,但是往往我们

数据库集群技术介绍

数据库集群技术介绍 1前言 1.1 简介 用来保存计算最终结果的数据库是整个信息系统的重要组成部分,技术也相对成熟。然而,对于所有数据库而言,除了记录正确的处理结果之外,也面临着一些挑战:如何提高处理速度,数据可用性、数据安全性和数据集可扩性。将多个数据库联在一起组成数据库集群来达到上述目标应该说是一个很自然的想法。 集群(Cluster)技术是使用特定的连接方式,将价格相对较低的硬件设备结合起来,同时也能提供高性能相当的任务处理能力。 本文试图对当前主要的数据库集群用到的具体技术和市场上的主流产品进行分析并作点评,从而为读者提供一个数据库集群的评价参考。 下面讨论的数据库集群技术分属两类体系:基于数据库引擎的集群技术和基于数据库网关(中间件)的集群技术。 基于数据库引擎的集群技术(共享磁盘或非共享磁盘)

基于数据库网关(中间件)的集群技术(不共享磁盘) 1.2 理想的数据库集群应具备的特点 提高速度:只通过简单地增加数据库服务器就能相对提高数据库处理速度。 数据同步:在任何时刻需要有多个随时可用的实时同步数据服务。最好有多个异地的同步数据服务。 安全保证:除了密码保护之外,我们最好能控制企业内部对数据库的非法访问。 可扩展性:应保证我们能任意增大数据集而没有对可用性产生负面影响。 2名词解释 2.1 集群 是一组通过协同工作方式运行同一套应用程序并针对客户端及应用程序提供单一系统映像的独立计算机。集群技术的目标在于通过多层网络结构进一步提高伸缩能力、可用性与可靠性。 2.2 可伸缩性 是指一台计算机在维持可接受性能的前提下处理不断提高的工作负载的能力。 2.3 可用性 是指存在质量、备用能力、获取简便性以及可访问能力。 2.4 可靠性 是指系统牢固程度。

数据库集群技术

数据库集群技术 引言 信息系统作为企业的神经中枢,在企业的发展过程中起着极其重要的作用,成为保障企业快速发展的重要因素。数据库是用来保存最终计算结果的,所以是整个信息系统中最重要的组成部分,企业的数据库系统应该非常稳健,为什么我无法访问决策所需的数据,为什么用户不能查询到实时准确的数据,为什么用户经常反映系统的速度非常缓慢,为什么经常会造成数据丢失?为什么总是不停地更换更高配置的服务器也不能解决这些问题? 这些问题的答案其实很简单,传统的数据处理方式由于技术限制已无法满足企业需求。只有实时的数据采集方式,才能为正确的决策提供精准分析的数据支撑,降低信息延迟,保证快速的业务响应,并推动业务价值的提升,只有合理的分担用户的访问压力,才能提升系统的反映速度,带来更好的用户体验,只有保证冗余的数据结构才能保证数据的安全,只有系统具备非常好的伸缩性才具备良好的扩展能力。用来保存计算最终结果的数据库是整个信息系统的重要组成部分,技术也相对成熟。然而,对于所有数据库而言,除了记录正确的处理结果之外,也面临着一些挑战:如何提高处理速度,数据可用性、数据安全性和数据集可扩性。将多个数据库联在一起组成数据库集群来达到上述目标应该说是一个很自然的想法。 1.数据库集群的背景 随着经济的高速发展,企业的用户数量、数据量呈爆炸式增长,在这样一个不断增长的环境下,对数据库提出了严峻的考验。对于所有的数据库而言,除了记录正确的处理结果之外,还面临着以下几方面的挑战:如何提高处理速度,实现数据库的负载均衡;如何保证数据库的可用性、数据安全性以及如何实现数据集可扩性?怎么综合解决这些问题成为众多企业关注的焦点。PC服务器以其高性能和低廉的价格而倍受广大客户青睐,在WEB应用或高性能计算中,为了追求更高的性能、以及可用性,大家都采用计算机集群技术(将多台服务器联合起来组成集群来实现综合性能优于单个大型服务器的技术)来实现,这种技术不但能满足应用的需要,而且大幅度地节约了投资成本;在数据库上,组建集群也是同样的道理,主要有以下几个原因: 原因一:伴随着企业的成长,在业务量提高的同时,数据库的访问量和数据量快速增长,其处理能力和计算强度也相应增大,使得单一设备根本无法承担。在此情况下,若扔掉现有设备做大量的硬件升级,势必造成现有资源的浪费,而且下一次业务量提升时,又将面临再一次硬件升级的高额投

mysql数据库集群解决方案

MYSQL数据库集群 解 决 方 案

目录 1、环境准备 (1) 2、具体的实验步骤 (4) 2.1、修改群集中各节点的网络参数 (4) 2.2、同步群集中各节点的时间 (6) 2.3、在各个节点上面产生密钥实现无密码的通讯 (7) 2.4、在各个节点上面配置好yum客户端 (8) 2.5、将下载好的rpm包上传到linux上的各个节点 (11) 2.6、在各节点上面安装所有的rpm包 (15) 2.7、在各节点上增加一个drbd设备(sdb1) (16) 2.8、配置drbd (19) 2.9、mysql的安装和配置 (26) 2.10、corosync+pacemaker的安装和配置 (32) 2.11、对各个节点进行相应的配置 (33) 2.12、配置群集的工作属性 (40) 2.13、定义集群服务及资源(node1) (41)

1、环境准备 实验环境:redhat enterprise 5.4 内核版本号:2.6.18-164.el5 1:Yum 服务器的构建 2:各个节点之间的时间的一致性(hwclock –s 或者搭建ntp服务器) 3:被定义为群集的资源都不可以在本地主机上进行启动,他们要被crm来进行管理。 4:由于dbrd,corosync,pacemaker等各群集的服务都需要通过主机名来进行解析,所以我们的主机的名字一定要能够被正确的解析。(hosts文件)

5:本实验要用到的软件包。 //*************由于drbd内核模块代码只在linux内核2.6.3.33以后的版本中才有,所以我们要同时安装内核模块和管理工具 *********// drbd83-8.3.8-1.el5.centos.i386.rpm drbd的管理包 kmod-drbd83-8.3.8-1.el5.centos.i686.rpm drbd的内核模块 //*************由于drbd内核模块代码只在linux内核2.6.3.33以后的版本中才有,所以我们要同时安装内核模块和管理工具 *********// cluster-glue-1.0.6-1.6.el5.i386.rpm 为了在群集中增加对更多节点的支持 cluster-glue-libs-1.0.6-1.6.el5.i386.rpm corosync-1.2.7-1.1.el5.i386.rpm corosync的主配置文件corosynclib-1.2.7-1.1.el5.i386.rpm corosync的库文件heartbeat-3.0.3-2.3.el5.i386.rpm 我们的heartbeat在这里是做四层的资源代理用的 heartbeat-libs-3.0.3-2.3.el5.i386.rpm heartbeat的库文件ldirectord-1.0.1-1.el5.i386.rpm 在高可用性群集中实验对后面realserver的探测 libesmtp-1.0.4-5.el5.i386.rpm openais-1.1.3-1.6.el5.i386.rpm做丰富pacemake的内容使用openaislib-1.1.3-1.6.el5.i386.rpm openais 的库文件

数据库集群部署

1.1 ORACLE GI安装 1.1.1 创建OCR,VOTEDISK和ORADATA磁盘 注意:一下磁盘划分是根据某局某处安装编写的文档,其中磁盘组和逻辑卷的命名都统一,只有磁盘设备的选择需要根据各点的具体情况来划分。 在sfrac1节点执行 创建磁盘组 [root@sfrac1 ~]# vxdg -s init ocrvotedg aluadisk0_4 [root@sfrac1 ~]# vxdg -s init oradatadg aluadisk0_1 [root@sfrac1 ~]# vxdg -s init ftpdg aluadisk0_5 [root@sfrac1 ~]# vxdg -s init dbbakdg aluadisk0_10 [root@sfrac1 ~]# vxdg -s init ftpbakdg aluadisk0_11 [root@sfrac1 ~]# vxdg -s init oradatadgud aluadisk0_13 [root@sfrac1 ~]# vxdg -s init ftpdgud aluadisk0_14 [root@sfrac1 ~]# vxdg -s init ocrvotedgud aluadisk0_1 分别创建逻辑卷 [root@sfrac1 ~]# vxassist -g ocrvotedg make ocrvotevol maxsize [root@sfrac1 ~]# vxassist -g oradatadg make oradatavol maxsize [root@sfrac1 ~]# vxassist -g ftpdg make ftpvol maxsize [root@sfrac1 ~]# vxassist -g dbbakdg make dbbakvol maxsize [root@sfrac1 ~]# vxassist -g ftpbakdg make ftpbakvol maxsize [root@sfrac1 ~]# vxassist -g oradatadgud make oradatavoludmaxsize [root@sfrac1 ~]# vxassist -g ftpdgud make ftpvoludmaxsize [root@sfrac1 ~]# vxassist -g ocrvotedgud make ocrvotevoludmaxsize 启动卷 [root@rac1 ~]# vxvol -g ocrvotedg startall [root@rac1 ~]# vxvol -g oradatadg startall

数据库集群与AlwaysOn的比较

DBTwin数据库集群与AlwaysOn的比较DBTwin集群工作原理图: 主网关 AlwaysON工作原理图: DBTWIN集群具有‘独立的DBTWIN集群网关’,一般需要独立的Windows服务器来运行,可以有效应对大并发、高压力的系统,进行有效的、自动的读写分离和负载均衡。占用资源少,稳定、可靠。

SQL Server AlwaysON则没有类似DBTWIN集群网关这样一个独立部件,直接用两台数据库构成数据的实时同步,本质上是数据库数据的一个‘实时备份工具’。 上面是两者之间的本质区别。 具体可以从下列几个方面来比较: 1.负载均衡和读写分离: DBTwin:完全自动。对客户端的查询自动实现负载均衡、读写分离、OLTP 和OLAP的自动分离(这对提高数据库性能很关键)。对客户端代码二进制透明兼容,不需要修改客户端代码。 AlwaysON:手工实现。当客户端代码需要登陆数据库进行访问时,需要程序员手工指定“访问主副本(可读写)还是辅助副本(只读)”。对客户端代码不透明,需要修改客户端代码。 2.数据同步时的延迟问题: DBTwin:不存在数据延迟。两台机器之间的数据是“任何时刻完全实时同步一致的”,不存在数据延迟(数据之间的时间差)。 AlwaysON:存在数据延迟。有异步和同步两种模式。即使是同步模式,也存在数据的延迟问题(也就是说主副本的数据和辅助副本的数据两者之间存在一个1秒左右的时间差)。因此手工进行负载均衡的时候,开发人员必须注意这个时间差,否则就会存在数据逻辑错误的可能。 3.安装和维护的简易程度: DBTwin:简单、代价低。DBTwin既可以在Windows工作组环境、也可以在Windows域环境下工作,安装和维护都很简单,例如:由于运行时候SQL数据库是处于简单模式,因此不会发生日志暴涨的情形。 AlwaysON:复杂、代价高。必须结合Windows故障转移群集和Windows域环境才能使用。安装配置麻烦,维护起来复杂,例如:由于运行时候SQL数据库是完整恢复模式,因此过一段时间,日志就会变得很大,当需要截断和收缩日志的时候,就需要停止AlwaysON,由此带来维护成本的增加。

服务器集群技术方案(1)

服务器集群技术方案 集群(Cluster)技术是发展高性能计算机的一项技术。它是一组相互独立的计算机,利用高速通信网络组成一个单一的计算机系统,并以单一系统的模式加以管理。其出发点是提供高可靠性、可扩充性和抗灾难性。一个集群包含多台拥有共享数据存储空间的服务器,各服务器通过内部局域网相互通信。当一台服务器发生故障时,它所运行的应用程序将由其它服务器自动接管。在大多数模式下,集群中所有的计算机拥有一个共同的名称,集群内的任一系统上运行的服务都可被所有的网络客户使用。采用集群系统通常是为了提高系统的稳定性和网络中心的数据处理能力及服务能力。 当前主流的集群方式包括以下几种: 1.服务器主备集群方式 服务器主-备方式由一台服务器在正常运行状态提供对外服务,其它集群节点作为备份机,备份机在正常状态下不接受外部的应用请求,实时对生产机进行检测,当生产机停机时才会接管应用服务,因此设备利用率最高可达50%。主备方式集群如下图所示,节点2为正常提供服务的服务器,运行多个应用(pkgA,pkgB..),节点1平时只监控节点2的状态,不对外提供服务,当节点2出现故障时,节点1将把两个应用接管过来,并对外提供服务。 图表 3-2主备方式集群 2.服务器互备份集群方式 多台服务器组成集群,每台服务器运行独立的应用,同时作为其它服务器的备份机,当主应用中断,服务将被其它集群节点所接管,接管服务的节点将

运行自身应用和故障服务器的应用,这种方式各集群节点的硬件资源均可被应用于对外服务。互备方式集群如下图所示,节点1和节点2分别运行1个或多个不同的应用,但只对外提供本地的主应用,两个节点之间互相进行监控,集群中任何一个节点出现故障后,另一个节点把故障节点的主应用接管过来,所有应用服务由一台服务器完成。 图表 3-3互备份方式集群 这种方式的主要缺点在于: 由于需要重新启动数据库核心进程,无法保证数据库系统连续不间断地运行 在系统切换的过程中,客户端与服务器之间的数据库连接会中断,需要重新进行数据库的连接和登录工作 由于数据库系统只能在一台服务器上运行,另一台服务器无法分担系统的负载,实际上造成了客户投资的浪费。在有些系统中,为了解 决双机负载分担的问题,将应用系统人为分割为两个数据库系统,分别 在两台服务器上运行。这种方式在一定程度上解决了负载分担的问题, 但给系统管理、统计分析等业务处理带来了很多额外的复杂性 3.服务器并行集群方式 集群有多台服务器构成,同时提供相同的应用,可以实现多台服务器之间的负载均衡,提供大访问量的应用需求,如Web访问及数据库等应用,服务器并行集群方式一般由应用系统自身(如OracleRAC、中间件负载均衡等)或外部专用服务器负载均衡设备实现。

MySql数据库双机集群

MySql数据库双机集群 1、目的 为了实现MySQL两台主机之间的双机热备,并且在任意一台数据节点机器出现故障时,不需要人工干涉,整个集群仍然可以提供服务。 下面介绍下mysql的集群基本概念: MySQL Cluster 是MySQL适合于分布式计算环境的高实用、高冗余版本。它采用了NDB Cluster 存储引擎,允许在1个Cluster中运行多个MySQL 服务器。在MyQL 5.0及以上的二进制版本中、以及与最新的Linux版本兼容的RPM中提供了该存储引擎。 一、MySQL Cluster概述 MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的 Cluster 。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。 MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDB Cluster 的数据节点,管理服务器,以及(可能)专门的数据访问程序。 所有的这些节点构成一个完成的MySQL集群体系。数据保存在“NDB存储服务器”的存储引擎中,表(结构)则保存在“MySQL服务器”中。应用程序通过“MySQL服务器”访问这些数据表,集群管理服务器通过管理工具(ndb_mgmd)来管理“NDB存储服务器”。 通过将MySQL Cluster 引入开放源码世界,MySQL为所有需要它的人员提供了具有高可用性、高性能和可缩放性的 Cluster 数据管理。 二、MySQL Cluster 基本概念 “NDB” 是一种“内存中”的存储引擎,它具有可用性高和数据一致性好的特点。 MySQL Cluster 能够使用多种故障切换和负载平衡选项配置NDB存储引擎,但在 Cluster 级别上的存储引擎上做这个最简单。MySQL Cluster的NDB存储引擎包含完整的数据集,仅取决于 Cluster本身内的其他数据。 目前,MySQL Cluster的 Cluster部分可独立于MySQL服务器进行配置。在MySQL Cluster中, Cluster的每个部分被视为1个节点。 管理(MGM)节点:这类节点的作用是管理MySQL Cluster内的其他节点,如提供配置数据、启动并停止节点、运行备份等。由于这类节点负责管理其他节点的配置,应在启动其他节点之前首先启动这类节点。MGM节点是用命令“ndb_mgmd”启动的。 数据节点:这类节点用于保存 Cluster的数据。数据节点的数目与副本的数目相关,是片段的倍数。例如,对于两个副本,每个副本有两个片段,那么就有4个数据节点。不过没有必要设置多个副本。数据节点是用命令“ndbd”启动的。 SQL节点:这是用来访问 Cluster数据的节点。对于MySQL Cluster,

分布式并行数据库集群GBase 8a MPP Cluster技术白皮书

GBase 8a MPP Cluster (集群) 技术白皮书V8.5.1.2

GBase 8a MPP Cluster技术白皮书,南大通用数据技术股份有限公司 GBase版权所有?2004-2015,保留所有权利。 版权声明 本文档所涉及的软件著作权、版权和知识产权已依法进行了相关注册、登记,由南大通用数据技术股份有限公司合法拥有,受《中华人民共和国著作权法》、《计算机软件保护条例》、《知识产权保护条例》和相关国际版权条约、法律、法规以及其它知识产权法律和条约的保护。未经授权许可,不得非法使用。 免责声明 本文档包含的南大通用公司的版权信息由南大通用公司合法拥有,受法律的保护,南大通用公司对本文档可能涉及到的非南大通用公司的信息不承担任何责任。在法律允许的范围内,您可以查阅,并仅能够在《中华人民共和国著作权法》规定的合法范围内复制和打印本文档。任何单位和个人未经南大通用公司书面授权许可,不得使用、修改、再发布本文档的任何部分和内容,否则将视为侵权,南大通用公司具有依法追究其责任的权利。 本文档中包含的信息如有更新,恕不另行通知。您对本文档的任何问题,可直接向南大通用数据技术股份有限公司告知或查询。 未经本公司明确授予的任何权利均予保留。 通讯方式 南大通用数据技术股份有限公司 天津华苑产业区海泰发展六道6号海泰绿色产业基地J座(300384) 电话:400-817-9696 邮箱:info@https://www.360docs.net/doc/7012018306.html, 商标声明 是南大通用数据技术股份有限公司向中华人民共和国国家商标局申请注册的注册商标,注册商标专用权由南大通用公司合法拥有,受法律保护。未经南大通用公司书面许可,任何单位及个人不得以任何方式或理由对该商标的任何部分进行使用、复制、修改、传播、抄录或与其它产品捆绑使用销售。凡侵犯南大通用公司商标权的,南大通用公司将依法追究其法律责任。

域控下数据库服务器集群搭建

首先介绍一下服务器集群环境;三台sql server2003系统,其中一台做域控制器,两台做数据库集群,数据存储在磁盘矩阵中 一、安装DNS(在域控制器中) “开始—设置—控制面板—添加删除程序”,然后再点击“添加/删除Windows 组件”,则可以看到如下画面: 向下搬运右边的滚动条,找到“网络服务”,选中:

默认情况下所有的网络服务都会被添加,可以点击下面的“详细信息”进行自定义安装,由于在这里只需要DNS,所以把其它的全都去掉了,以后需要的时候再安装: 然后就是点“确定”,一直点“下一步”就可以完成整个DNS的安装。在整个安装过程中请保证Windows Server 2003安装光盘位于光驱中,否则会出现找不到文件的提示,那就需要手动定位了。

二、安装AD(Active Directory 活动目录) 先点击“开始—运行”,输入“Dcpromo”,然后回车就可以看到“Active Directory 安装向导” 在这里直接点击“下一步” 这里是一个兼容性的要求,Windows 95及NT 4 SP3以前的版本无法登陆运行到Windows Server 2003的域控制器,我建议大家尽量采用Windows 2000及以上的操作系统来做为客户端。然后点击“下一步”: 在这里由于这是第一台域控制器,所以选择第一项:“新域的域控制器”,然后点“下

一步”: 既然是第一台域控,那么当然也是选择“在新林中的域”: 在这里我们要指定一个域名,我在这里指定的是https://www.360docs.net/doc/7012018306.html,

这里是指定NetBIOS名,注意千万别和下面的客户端冲突,也就是说整个网络里不能再有一台PC的计算机名叫“demo”,虽然这里可以修改,但个人建议还是采用默认的好,省得以后麻烦。 在这里要指定AD数据库和日志的存放位置,如果不是C盘的空间有问题的话,建议采用默认。 这里是指定SYSVOL文件夹的位置,还是那句话,没有特殊情况,不建议修改:

DB集群

走近数据库集群技术 用来保存计算最终结果的数据库是整个信息系统的重要组成部分,技术也相对成熟。然而, 对于所有数据库而言,除了记录正确的处理结果之外,也面临着一些挑战:如何提高处理速 度,数据可用性、数据安全性和数据集可扩性。将多个数据库联在一起组成数据库集群来达 到上述目标应该说是一个很自然的想法。 集群(Cluster)技术是使用特定的连接方式,将价格相对较低的硬件设备结合起来,同时也能提供高性能相当的任务处理能力。 本文试图对当前主要的数据库集群用到的具体技术和市场上的主流产品进行分析并作点评,从而为读者提供一个数据库集群的评价参考。 下面讨论的数据库集群技术分属两类体系:基于数据库引擎的集群技术和基于数据库网关(中间件)的集群技术。 基于数据库引擎的集群技术(共享磁盘或非共享磁盘)

基于数据库网关(中间件)的集群技术(不共享磁盘) 关键技术 在复杂的数据库集群技术之间做比较,其实就是比较它所包含的各项子技术性能和它们之间的协调运作能力,下面的文字将介绍数据库集群最需要得到重视的核心技术,同时也关注到了一些技术细节。 提高处理速度的四种办法 提高磁盘速度:主要思想是提高磁盘的并发度。尽管实现方法各不相同,但是它们最后的目的都是提供一个逻辑数据库的存储映象。 【点评】系统为了提高磁盘访问速度,建立一个虚拟的涵盖所有数据“大”数据库,而不用去考虑数据的实际物理磁盘存放位置。 分散数据的存放:利用多个物理服务器来存放数据集的不同部分,使得不同的服务器进行并行计算成为可能。 ORACLE RAC是共享磁盘的体系结构,用户只需简单地增加一个服务器节点,RAC就能自动地将这节点加入到它的集群服务中去,RAC会自动地将数据分配到这节点上,并且会将接下来的数据库访问自动分布到合适的物理服务器上,而不用修改应用程序;UDB是非共享磁盘的体系结构,需要手工修改数据分区,MSCS和ASE也是同样情况。ICX是一种基于中间件的数据库集群技术,对客户端和数据库服务器都是透明的。可以用来集群几个数据库集群。 【点评】系统通过化整为零的策略,将数据表格分散到多个服务器或者每个服务器分管几个内容不同的表格,这样做的目的在于通过多服务器间并行运算以提高访问速度。 对称多处理器系统: 利用多处理机硬件技术来提高数据库的处理速度。 所有基于数据库引擎的集群都支持这个技术。

数据库服务器集群及磁盘阵列配置方案

销售数据库服务器及磁盘阵列配置方案 一、背景 由于销售系统的磁盘阵列故障,目前销售业务的数据暂时部署到了临时服务器及磁盘阵列上,目前仅为临时的解决方案,为了保障业务系统的稳定运行,计划于2010年5月27日晚,对销售系统原数据库服务器进行操作系统的重新安装,重新部署oracle rac集群,并对现在正在使用的临时系统的磁盘阵列重新划分配置。 二、切换方案介绍 销售系统是2008年实施上线,当时系统架构为一台应用服务器、一台通讯服务器、两台数据库服务器与一个盘阵,并安装配置了RAC集群,采用的数据库服务器是HP DL380 G5型号,配置为2C/16G/146G,操作系统预装的版本为TurboLinux 10.5,磁盘阵列配置8块300G硬盘,RAID级别为RAID5。 现计划将销售系统原有的两台数据库服务器进行操作系统的重新安装,原系统使用的磁盘阵列配置为8块300G SAS 15K硬盘做RAID5,现使用盘阵为12块146G SAS 15K硬盘,此次系统执行切换时,将临时系统的盘阵配置为RAID6,保留两块硬盘作为热备盘,提高磁盘的冗余度。 三、系统切换工作流程 1.服务器操作系统安装: 对原销售系统的数据库服务器进行操作系统重新安装,此工作已完成; 2.对临时系统盘阵进行重新配置 1)备份销售系统的数据库,为磁盘阵列下架做好数据库备份工作。 2)磁盘阵列下架,由HP工程师对临时系统盘阵进行重新配置,设置12 块 146G SAS 15K硬盘为RAID 6级别,并保留两块磁盘作为热备盘。 3)将新配置好的磁盘,挂载到原销售系统的数据库服务器上。 3.将备份出的数据库,恢复至新搭建的Oracle RAC集群数据库中,并更新

MySQL数据库及集群安装部署手册

主从模式部署 MySQL及集群安装部署手册

目 录 一、引言 1.1目的 1.2术语和缩略语 二、安装部署概述 2.1过程概述 2.2安装包概述 三、安装准备 3.1安装环境准备 3.1.1硬件要求 3.1.2系统要求 3.1.3软件要求 3.1.4网络要求 四、数据库安装步骤 4.1用户及组用户创建 4.2数据库安装 4.2.1数据库解压缩 4.2.2操作权限设定 4.2.3启动MySQL 五、数据库集群部署 5.1备份数据库实例 5.2删除现有数据库实例 5.3配置主数据库 5.4配置从数据库 5.5主服务器恢复数据库 5.6从数据库服务器查看数据是否备份成功

1、引言 1.1 目的 本安装部署手册主要对MySQL数据库及数据库集群的安装、部署相关的详细安装方法以及安装过程中需要注意的事项。 注意:本文档不包含keepalived内容;如需这个部分内容,那个查看keepalived相关材料。 安装部署概述 2.1 过程概述 本文描述的数据库集群部署,是采用主从方式部署的,也就是存在主数据库服务器和从数据库服务器——当主服务器宕机的时候,应用程序可以切换到从数据库服务器进行,此时由于主数据库服务器会实时将数据备份到从数据库服务器,所以当切换到从服务器时,应用系统将会正常运行应用系统。 2.2 安装包概述 本文档提及的安装包,是linux下的5.5.36版本MaraDB。 3、安装准备 3.1 安装环境准备 3.1.1 硬件要求 本文以两台MySQL数据库,以此两台数据库服务器构建集群。 3.1.2 系统要求 本安装和部署过程,都是以CentOS6.4版本基础的Linux操作系统的Mini server环境下进行的。 3.1.3 软件要求

相关文档
最新文档