集群术语须知

  • 服务硬件:指提供计算服务的硬件,比如 PC 机、PC 服务器。
  • 服务实体:服务实体通常指服务软体和服务硬体。
  • 节点(NODE):运行 Heartbeat 进程的一个独立主机称为节点,节点是 HA 的核心组成部分,每个节点上运行着操作系统和Heartbeat 软件服务。
  • 资源(RESOURCE):资源是一个节点可以控制的实体,当节点发生故障时,这些资源能够被其他节点接管。如: 磁盘分区、文件系统、IP 地址、应用程序服务、共享存储。
  • 事件(EVENT):事件也就是集群中可能发生的事情,例如节点系统故障、网络连通故障、网卡故障和应用程序故障等。这些事件都会导致节点的资源发生转移,HA 的测试也是基于这些事件进行的。

什么是集群

集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源,这些单个的计算机系统就是集群的节点(node)。集群提供了以下关键的特性。

  1. 可扩展性。集群的性能不限于单一的服务实体,新的服务实体可以动态的加入到集群,从而增强集群的性能。
  2. 高可用性。集群通过服务实体冗余使客户端免于轻易遭遇到“out of service”警告。当一台节点服务器发生故障的时候,这台服务器上所运行的应用程序将在另一节点服务器上被自动接管。消除单点故障对于增强数据可用性、可达性和可靠性是非常重要的。
  3. 负载均衡。负载均衡能把任务比较均匀的分布到集群环境下的计算和网络资源,以便提高数据吞吐量。
  4. 错误恢复。如果集群中的某一台服务器由于故障或者维护需要而无法使用,资源和应用程序将转移到可用的集群节点上。这种由于某个节点中的资源不能工作,另一个可用节点中的资源能够透明的接管并继续完成任务的过程叫做错误恢复。

分布式与集群的联系与区别如下:

  1. 分布式是指将不同的业务分布在不同的地方。
  2. 而集群指的是将几台服务器集中在一起,实现同一业务。
  3. 分布式的每一个节点,都可以做集群,而集群并不一定就是分布式的。而分布式,从狭义上理解,也与集群差不多,但是它的组织比较松散,不像集群,有一定组织性,一台服务器宕了,其他的服务器可以顶上来。分布式的每一个节点,都完成不同的业务,一个节点宕了,这个业务就不可访问了。

集群主要分成三大类:

  1. HA:高可用集群(High Availability Cluster)。
  2. LBC:负载均衡集群/负载均衡系统(Load Balance Cluster)
  3. HPC:科学计算集群(High Performance Computing Cluster)/高性能计算(High Performance Computing)集群。

为什么搭建数据库集群

随着经济的高速发展,企业规模的迅猛扩张,企业用户的数量、数据量的爆炸式增长,对数据库提出了严峻的考验。对于所有的数据库而言,除了记录正确的处理结果之外,还面临着以下几方面的挑战。

  • 如何提高处理速度,实现数据库的均衡负载。
  • 如何保证数据库的可用性、数据安全性、以及如何实现数据集群可扩性。
  • 怎么综合解决这些问题成为众多企业关注的焦点。

在数据库上,组建集群也是同样的道理,主要有以下几个原因:

  1. 伴随着企业的成长,业务量提高,数据库的访问量和数据量快速增长,其处理能力和计算速度也相应增大,使得单一的设备根本无法承担。
  2. 在以上情况下,若扔掉现有设备,做大量的硬件升级,势必造成现有资源的浪费,而且下一次业务量提升时,又将面临再一次硬件升级的高额投入。于是,人们希望通过几个中小型服务器组建集群,实现数据库的负载均衡及持续扩展;在需要更高数据库处理速度时,只要简单的增加数据库服务器就可以得到扩展。
  3. 数据库作为信息系统的核心,起着非常重要的作用,单一设备根本无法保证系统的下持续运行,若发生系统故障,将严重影响系统的正常运行,甚至带来巨大的经济损失。于是,人们希望通过组建数据库集群,实现数据库的高可用,当某节点发生故障时,系统会自动检测并转移故障节点的应用,保证数据库的持续工作。
  4. 企业的数据库保存着企业的重要信息,一些核心数据甚至关系着企业的命脉,单一设备根本无法保证数据库的安全性,一旦发生丢失,很难再找回来。于是,人们希望通过组建数据库集群,实现数据集的冗余,通过备份数据来保证安全性。

数据库集群的分类

数据库集群技术是将多台服务器联合起来组成集群来实现综合性能优于单个大型服务器的技术,这种技术不但能满足应用的需要,而且大幅度的节约了投资成本。数据库集群技术分属两类体系:基于数据库引擎的集群技术和基于数据库网关(中间件)的集群技术。在数据库集群产品方面,其中主要包括基于数据库引擎的集群技术的 Oracle RAC、Microsoft MSCS、IBM DB2UDB、Sybase ASE,以及基于数据库网关(中间件)的集群技术的 ICX-UDS 等产品。

一般来讲,数据库集群软件侧重的方向和试图解决的问题划分为三大类:

  • 负载均衡集群(LOAD BALANCE CLUSTER,LBC)侧重于数据库的横向扩展,提升数据库的性能。
  • 高可用性集群(HIGH AVAILABILITY CLUSTER,HAC)侧重保证数据库应用持续不断。大部分的数据库集群侧重与此。
  • 高安全性集群(HIGH SECURITY CLUSTER,HSC)侧重于容灾。

只有 ORACLE RAC 能实现以上三方面

可扩展的分布式数据库架构

ORACLE RAC

其架构的最大特点是共享存储架构(SHARED-STORAGE),整个 RAC 集群是建立在一个共享的存储设备之上的,节点之间采用高速网络互联。OracleRAC 提供了非常好的高可用特性,比如负载均衡和应用透明切块(TAF),其最大的优势在于对应用完全透明,应用无需修改便可切换到RAC 集群。但是RAC 的可扩展能力有限,首先因为整个集群都依赖于底层的共享存储,所以共享存储的 I/O 能力和可用性决定了整个集群的可以提供的能力,对于 I/O 密集型的应用,这样的机制决定后续扩容只能是 Scale up(向上扩展)类型,对于硬件成本、开发人员的要求、维护成本都相对比较高。Oracle显然也意识到了这个问题,在 Oracle 的 MAA(Maximum Availability Architecture)架构中,采用 ASM 来整合多个存储设备的能力,使得 RAC 底层的共享存储设备具备线性扩展的能力,整个集群不再依赖于大型存储的处理能力和可用性。

RAC 的另外一个问题是,随着节点数的不断增加,节点间通信的成本也会随之增加,当到某个限度时,增加节点可能不会再带来性能上的提高,甚至可能造成性能下降。这个问题的主要原因是 Oracle RAC 对应用透明,应用可以连接集群中的任意节点进行处理,当不同节点上的应用争用资源时,RAC 节点间的通信开销会严重影响集群的处理能力。所以对于使用 ORACLE RAC 有以下两个建议:

  • 节点间通信使用高速互联网络;
  • 尽可能将不同的应用分布在不同的节点上。

基于这个原因,Oracle RAC 通常在 DSS 环境(决策支持系统Decision Support System ,简称DSS)中可以做到很好的扩展性,因为 DSS 环境很容易将不同的任务分布在不同计算节点上,而对于 OLTP 应用(On-Line Transaction Processing联机事务处理系统),Oracle RAC 更多情况下用来提高可用性,而不是为了提高扩展性。

oracle集群概念详解相关推荐

  1. 基于Kubernetes构建Docker集群管理详解

    from: 基于Kubernetes构建Docker集群管理详解 Kubernetes是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度.均衡容灾.服务注册.动 ...

  2. Linux的企业-Codis 3集群搭建详解

    Codis 3集群搭建详解 Codis 3介绍 对于Redis集群方案有好多种,基本常用的就是twemproxy,codis.redis cluster这三种解决方案,本人有幸工作中都大量使用过,各有 ...

  3. Elastic search入门到集群实战操作详解(原生API操作、springboot整合操作)-step1

    Elastic search入门到集群实战操作详解(原生API操作.springboot整合操作)-step2 https://blog.csdn.net/qq_45441466/article/de ...

  4. Application Request Route实现IIS Server Farms集群负载详解

    Application Request Route实现IIS Server Farms集群负载详解 原文:Application Request Route实现IIS Server Farms集群负载 ...

  5. Apache + Tomcat集群配置详解(1)

    Apache + Tomcat集群配置详解(1) 一.软件准备 Apache 2.2 : http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl ...

  6. Solr系列二:solr-部署详解(solr两种部署模式介绍、独立服务器模式详解、SolrCloud分布式集群模式详解)...

    一.solr两种部署模式介绍 Standalone Server 独立服务器模式:适用于数据规模不大的场景 SolrCloud  分布式集群模式:适用于数据规模大,高可靠.高可用.高并发的场景 二.独 ...

  7. redis集群模式详解

    redis集群模式详解 一,redis集群 1,哨兵集群 2,redis Cluster 二,redis Cluster集群的搭建 1,配置文件 2,redis服务启动 三,springboot连接r ...

  8. Slurm集群调度策略详解(2)-回填调度

    1. slurm集群调度系统简介 作业调度系统其实就是指按一定策略把并行程序的各子任务或者是面向多用户的一组作业按一定的选择策略使之与各计算节点的空闲资源相对应,让其在对应的资源上运行,所以作业调度系 ...

  9. mysql cluster rpm包的作用_MySQL之——MySQL Cluster集群搭建详解(基于RPM安装包)

    1.下载MySQL-cluster 7.3.7 http://dev.mysql.com/downloads/cluster/ 2.环境清理及安装 1)清理CentOS6.5自带的mysql服务,其中 ...

最新文章

  1. 30分钟掌握ES6/ES2015核心内容(上)
  2. 18awg线材最大电流_小米生态链拉车线:2.4A大电流,苹果MFi认证,高速充电不断裂...
  3. BugkuCTF-Crypto题一段Base64
  4. 怎么把pdf转换为html,如何将PDF转换成HTML网页格式呢?
  5. 电子商务对物流的影响
  6. Java Servlet JSP
  7. 瞻博网络:创新是绝对优势
  8. 经常用everything对硬盘有伤害吗?
  9. ubuntu目录结构
  10. 乘风破浪,遇见未来新能源汽车(Electric Vehicle)之特斯拉提车必须知道的十个流程
  11. Android JNI开发笔记二:动态库和静态库
  12. 常用邮箱服务器(SMTP,POP3)地址
  13. java通过FTP连接到NAS服务器
  14. 大寰机器人通讯转换系统(CTS-B1.0) 操作说明
  15. 量子计算机原理以及量子算法
  16. 扫描格式的pdf文件怎样进行识别
  17. android IPC通信(下)-AIDL
  18. python 创业_如何在下午使用python和破折号创业
  19. 著名数据恢复工具有哪些是好用的
  20. MySQL免安装版下载及安装

热门文章

  1. linux 生产者消费者 多进程,Linux多线程,生产者消费者算法和条件变量的使用
  2. Identity(四)
  3. StringUtils的一些例子
  4. 大内存时代虚拟内存现在还有用吗
  5. 游戏片子“战火兄弟连”正式公映
  6. Efficient Inference in Fully Connected CRFs with Gaussian Edge Potentials
  7. GESP2023年6月 c++三级考试答案详解
  8. http://s22.app1105796624.qqopenapp.com/
  9. Github语义分割框架(包含Unet,Unet++,MAnet等)
  10. compareTo 时间比较