对于应用服务器集群,应该是非常常见的。通过集群,可以很简单地通过乘法的方式将服务能力扩大(而且这种扩充的成本要远低于垂直扩充,你只要比较一下一个满配4CPU的PC服务器与2台满配2CPU的服务器的价格就知道了),并且,可以提供系统的高可用性,当一台服务器出现问题时,可以由其他服务器提供服务,避免了服务的中断。
而对于数据库服务器,集群就比较少见了,以往只用于高端系统,比如象ORACLE就提供了并行模块。
而ICX的出现,则为SQL SERVER数据库的集群提供了良好的解决方案。(参见:ICX-实现SQL SERVER数据库集群)。
我们先看一下这种产品的原理:
数据库服务器的集群,之所以比应用服务器复杂,是因为数据库要有一个同步的问题,在两边不仅要读,更有一个写的数据如何一致的问题。如果依靠数据库本身的同步,则效率很低,很难以事务级的方式进行(即同步成功才向前端报告事务完成)。
而ICX的原理,则是象一个路由器一样(所以称为数据库路由器),对服务请求进行分发,如果是查询,则象应用服务器那样,分发到某一台数据库服务器,而如果是更新的请求(包括新增、修改、删除等各类),则同时发送到两边的服务器,并且在两边的更新均完成后才报告事务完成。
下面分析一下ICX的性能问题:
首先是提交时的性能,查询是没关系了,因为路由器式的分发相对于查询操作本身时间是很短的,主要要关注的是更新操作。但相对于依靠数据库或文件系统的同步方式而言,ICX的更新是在两边同时进行的,而其他方式是采用A更新-同步-B更新的方式,要做三步工作,所以ICX的效率远高于其他同步方式,可以说其时间基本上就是两台服务器中较慢的一台的时间。(而且注意由于做了负载均衡,这台的速度要比只有一台服务器时还要快)
其次是整体的并发处理能力,我们以两台服务器为例。如果只有查询,应该基本上可以处理2倍的并发量。但与应用服务器不同的是,更新的操作是在两边同步进行的。因此,并发能力的提升,实际与更新/查询的比例、复杂程度是相关的,如果更新多、查询少,处理能力的提升相对就小一些。但是,常识上数据库应用查询的比例远大于更新,而且查询的复杂度、占用服务器资源也远大于更新(比如更新经常是单表的,基于索引的,而查询中多表联接、多个条件之类的非常常见),所以,可以大致认为提供1.5-1.8倍左右的处理能力。当然,这个只是个很粗的估计。
另外一点是关于速度的提升。相对于并发而言,对速度的提升相对有限,因为在每台机器上都是对整个数据库进行操作。但是,如果一个数据库服务器的负载少了将近一半,其速度也是可能会有一个明显的提升的。
至于在数据库路由器进行路由分配时的时间与资源消耗,是很小的,可以忽略不计。除非你是做数量极大的特别简单的数据库操作。
分享到:
相关推荐
集群系列的经典书籍,学完之后可以有一个新的视角看待
DBTWin数据库集群安装使用手册 DBTWin数据库集群安装使用手册是关于DBTWin V4.2数据库集群软件的安装和使用手册。该手册详细介绍了DBTWin集群软件的安装、配置、测试和注意事项等内容。下面是该手册中的一些重要...
### SQL Server 数据库集群搭建详解 #### 一、数据库集群的作用与优势 数据库集群是一种将多台数据库服务器组织起来共同提供服务的技术。理想中的数据库集群能够实现以下几点: 1. **扩展性能**:当需要更高的...
Oracle RAC 数据库集群技术详解 Oracle RAC 数据库集群技术是指通过多个服务器节点的集群来提供高可用性、负载均衡和可扩展性的数据库解决方案。该技术可以满足企业对高性能、可靠性和可扩展性的需求。 为什么要...
【SQLSERVER_并行数据库集群实现】 SQL Server的并行数据库集群,如Moebius集群,是一种高效且高可用性的解决方案,尤其适用于大型企业或高流量应用。Moebius集群采用了无共享磁盘架构,这使得它能够在多台服务器...
综上所述,“MySQL分布式数据库集群高可用设计及应用”不仅涵盖了CAP定理的基本原理,还详细介绍了多种实现高可用性的具体技术方案,包括共享存储、DRBD、主从复制、多主模式以及MySQL Cluster架构。每种方案都有其...
数据库集群技术通过多节点协同工作,提供了高可用性、高性能和数据一致性的解决...本文详细介绍了数据库集群的工作原理、实现方法和性能优化策略,并提供了代码示例,希望能帮助读者更好地理解和应用数据库集群技术。
【高校数字化校园ORACLERAC数据库集群分析与部署】 随着信息技术的发展,高校的管理与教学逐渐依赖于数字化校园系统,而数据库系统作为其中的核心组成部分,其稳定性和可用性至关重要。Oracle RAC(Real ...
MS SQL SERVER 数据库集群是微软提供的企业级数据库解决方案,它通过在多个服务器之间共享数据,提供了高可用性和灾难恢复能力。下面将详细讲解SQL Server数据库集群的关键知识点。 1. **集群概念**:数据库集群是...
9. **数据库性能优化**:探讨索引、查询优化器、存储过程、分区和集群等技术,以提高数据库的运行效率。 10. **分布式数据库**:介绍分布式数据库的概念,包括分片、复制、分布式事务处理和一致性模型。 11. **...
根据提供的信息,我们可以推断出该文档主要涉及的是IBM Informix数据库系统的技术细节与实现原理。下面将基于这些信息展开,详细介绍与“数据库实现原理”相关的知识点。 ### 一、IBM Informix 概述 IBM Informix ...
Postgres-XL是一个开源的SQL数据库集群解决方案,它构建在PostgreSQL之上,提供了横向扩展的能力。横向扩展意味着可以通过增加更多的服务器来提升数据库的处理能力,它特别适合于需要处理大规模并行数据处理任务的...
【Oracle RAC数据库集群系统】是Oracle公司提供的一种高可用性、高性能的数据库解决方案,它允许多台服务器(节点)共享同一数据库,从而构建出一个集群环境。在Oracle RAC中,每个节点运行一个数据库实例,所有实例...
- **集群基本原理**:介绍数据库集群的基本概念、优点和应用场景。 - **主从复制**:MySQL主从复制的原理、配置和管理,包括异步复制和半同步复制。 - **多主复制**:MySQL多主复制的实现和管理,适用于高可用性...
### MySQL数据库集群优缺点分析 #### 一、MySQL数据库集群概念 MySQL数据库集群是指通过一组相互连接的数据库服务器组成的系统,这些服务器共同提供数据服务,旨在提高数据的可用性、可扩展性和性能。集群通常包括...
《MySQL数据库原理及应用》是一门深入探讨关系型数据库管理系统MySQL的课程,旨在教授学生如何设计、创建和管理数据库,以及如何在实际应用场景中高效利用MySQL。教案详细涵盖了该课程的所有章节,为教学提供了全面...
### 数据库集群在医疗教育领域的应用 #### 一、背景介绍与需求分析 在医疗教育领域,随着信息化技术的快速发展,医院和教育机构都在加速推进信息化建设,旨在提高服务质量、教学质量和核心竞争力。这一过程中,...
### Sysbase数据库集群配置详解 #### 一、Sysbase数据库集群概述 Sysbase数据库系统是一种高性能的企业级数据库管理系统,广泛应用于各种规模的企业中。在高可用性和数据完整性方面有着非常出色的表现。对于需要高...