关于数据库:MyCATMySQL搭建高可用企业级数据库集群

5次阅读

共计 2315 个字符,预计需要花费 6 分钟才能阅读完成。

一. 数据库集群的定义
这里有两个关键点:

  1. 两台或者多台数据库服务器:如果只有一台数据库服务器是不能称其为集群的。
  2. 通明的服务:集群向客户端提供的服务与单机零碎向客户端提供的服务,从通信协定上保持二进制兼容。
    二. 相干名词解释
    1. 同步
    数据库客户端收回数据更新请求后,要等集群的每个节点全副更新后,才给客户端返回后果。
    2. 异步
    数据库客户端收回数据更新请求后,接受请求的节点 (这里经常是主数据库) 立马给客户端返回后果,被更新的数据则会在接下来的某个工夫里被复制传输到集群的其它节点上 (弱一致性处理)。
    3. 基于连接的负载平衡
    此种负载平衡实现技术比较简略,就是在客户端发动登陆的时候,按照某种负载平衡算法,抉择登陆到集群某台数据库,此后所有客户端的请求全副会发送到此数据库上。
    4. 基于请求的负载平衡
    此种负载平衡实现技术比较简单,然而功能弱小,就是在客户端发动登陆的时候,集群网关会同时登录到集群各节点数据库,此后所有的客户端请求,通过集群网关的分析被分成两类,查问请求根据负载平衡算法抉择一个节点执行,数据更新请求则由主机执行并实时同步数据到集群各节点。
    性质
    编辑 语音
    一. 与分布式数据库系统的区别
    数据库集群有的具备单份数据集,有的具备两份或多份相似的数据集,有的具备两份或多份实时一致的数据集;而分布式数据库系统经常具备残缺不同的数据集。
    数据库集群经常是同构的零碎,申请集群各节点都具备雷同的操作系统和数据库系统版本,以至补丁包的版本也申请保持一致;而分布式数据库系统可能是异构零碎,蕴含不同的操作系统和不同的数据库系统。
    数据库集群经常建立在高速局域网内;而分布式数据库系统既可能是高速局域网,也可能是跨部门、跨单位的异地近程网络。
    二. 数据库集群的技术指标
    因为数据库系统是任何一个信息系统的核心,因此除了业务逻辑之外,用户还关心上面三点:
  3. 零碎性能
    性能问题涉及硬件、软件、网络、利用设计架构、代码品质等多方面。然而数据库集群假如能提供负载平衡能力和主动优化能力,则是对整个零碎性能具备莫大的好处。
  4. 数据可靠性
    在零碎发生任意故障 (包含操作系统、数据库引擎、硬盘或磁盘阵列或存储网络等故障) 条件下数据丢失的可能性。有的零碎从设计原理上必然了必然会存在实践上的数据丢失可能性,而有的零碎因为冗余设计原理,可能保障实践上的数据零丢失。用容灾领域的术语来讲,这类似于 RPO(Recovery Point Objective),然而不残缺同等于 RPO。
  5. 服务可用性
    在零碎发生任意故障 (包含操作系统、数据库引擎、硬盘或磁盘阵列或存储网络等故障) 条件下整个零碎停止对外提供数据服务的可能性。与下面的数据库可靠性紧密关联,如果一个零碎从实践上存在数据丢失的可能性,那么这样的零碎必然会导致整个零碎的服务停止。同样地,用容灾领域的术语来讲,这类似于 RTO(Recovery Time Objective),然而也同样不能残缺同等于 RTO。
    三. 数据库集群的分类
    在市场上,数据库集群是一个抽象的名词,没有一个权威的定义,各市场参与者经常是各取所需,推出各种特色的数据库集群解决打算。一般地具备下列四种集群打算:
    1.基于串行数据复制技术
    串行复制技术,本来是用于数据传送和数据备份的,离人们熟悉的“数据库集群”的概念有肯定的距离。然而因为计算机软硬件技术和网络通讯技术的疾速发展,使得利用这种概念和技术形成的“数据库集群”有了肯定的可行性。此类集群,又可能分两类:
    a. 串行异步复制
    串行异步复制串行异步复制
    此种形式是数据的异步串行复制。次要采纳数据库事务日志传送或者硬盘数据块传送技术来实现,SQL Server 自带的复制、镜像和 SQL2012 新出的 AlwaysON(备机可读)以及第三的一些镜像 Mirror 技术都是属于此类产品,此类技术和产品本质上就是数据备份技术和产品。下列以事务日志传送 (Log Shipping) 为例来说明。主数据库实现事务处理后,生成事务处理日志,日志记录通过 FIFO 队列,进入备份数据库处理,从而失去备份数据。此种形式的缺点在于:
    a) 主数据库并行处理事务而日志拷贝是串行的,而备份数据库处理日志记录也是串行的。因此,FIFO 队列的溢出随时可能发生。一旦发生,队列必须重建,从而需要从新建立备份数据库。此种方法对于一般客户来讲是不可行的。
    b) 因为日志拷贝是异步的,主备数据库不是实时一致,两者之间存在“时间差”,因此如果用备份数据库作负荷均衡,这样的利用存在逻辑上的漏洞,可能会发生数据错乱。
    c) 因为主备数据存在时间差, 主数据库一旦发生事变,实践上肯定会丢失数据。在这种情况下,要么需要手工复原数据库,这会消耗大量的人工成本,或者数据根本就不能复原。
    d) 对主机的性能影响,根据测试一般在 15% 到 25% 之间。
    b. 串行同步复制
    此类集群经常是由低廉的专用软硬件形成的,原理图如图 1:
    图 1 原理图图 1 原理图
    此类零碎采纳专用的高速网络和软件技术,将每个数据库的请求,通过同步复制的形式,同步在主备两台数据库服务器上执行正确后,才将后果返回给数据库客户。此零碎的个性是:
    a) 主数据库被强制与备份数据库同步串行处理,因此性能受到限度。
    b) 主备数据库中任意一个出现问题,都会迫使事务处理交易回滚,因此整个零碎的可靠性比单机零碎升高了一半。
    c) 因为以上问题,这种备份形式只实用于近距离光纤网络(5 英里)。
    d) 专用零碎造价低廉,又加上述显著缺点,因此市场上很少被采纳。
    2.基于共享存储的双机容错技术
    从技术顺应性的角度讲,双机容错比较适合于无状态利用,或者状态信息较少的利用切换,以此达到利用级的高可用性目标,其实并不适合于数据库级的利用切换。
    基于共享存储的双机容错技术基于共享存储的双机容错技术
正文完
 0