数据库技术架构

合集下载

数据库集群的架构与部署方式

数据库集群的架构与部署方式

数据库集群的架构与部署方式数据库是现代应用程序中关键的数据存储和管理工具。

随着数据量的增长和用户访问的增加,传统的单节点数据库已经无法满足高性能和高可用性的要求。

为了解决这个问题,数据库集群成为了一种流行的选择。

数据库集群是由多个节点组成的分布式系统,这些节点可以同时接收和处理用户请求。

它们之间共享数据副本,可以在节点之间自动复制和同步数据。

数据库集群的架构和部署方式对于系统的可扩展性、可靠性和性能至关重要。

在选择数据库集群的架构和部署方式时,我们需要考虑以下几个因素:1. 数据复制方式数据库集群中的节点需要共享数据副本以提供高可用性和故障恢复能力。

常见的数据复制方式包括主从复制和多主复制。

主从复制中,一个节点被指定为主节点,负责接收写操作并将数据同步到其他从节点。

多主复制则允许多个节点同时接收和处理写操作。

根据应用的读写比例和延迟要求,选择适合的数据复制方式。

2. 负载均衡数据库集群中的节点需要均衡地处理用户请求,以避免出现性能瓶颈和单点故障。

负载均衡器可以根据节点的负载情况将请求分发到不同的节点。

常见的负载均衡技术包括基于DNS的负载均衡和基于代理的负载均衡。

通过合理配置负载均衡策略,可以提高系统的性能和可扩展性。

3. 数据一致性数据库集群中的数据需要保持一致性,即每个节点的数据副本都应该具有相同的值。

为了实现数据一致性,可以使用一致性哈希算法或副本同步技术。

一致性哈希算法可以将数据均匀地分布在不同的节点上,而副本同步技术可以将写操作同步到其他节点,并确保数据的一致性。

选择适合的数据一致性策略是数据库集群架构的关键决策之一。

4. 容灾和故障恢复数据库集群需要具备容灾和故障恢复的能力。

在一个节点发生故障或断电的情况下,集群应该能够自动将请求路由到其他可用的节点,并保证数据的一致性。

常见的容灾和故障恢复技术包括备份和恢复、故障转移和复原。

通过合理配置容灾和故障恢复策略,可以保证数据库集群的高可用性和稳定性。

聊聊常见的数据库架构设计方案

聊聊常见的数据库架构设计方案

一、数据库架构原则1.高可用2.3.高性能4.5.一致性6.7.扩展性8.二、常见的数据库架构方案方案一:主备架构,只有主库提供读写服务,备库冗余作故障转移用jdbc:mysql://vip:3306/xxdb1、高可用分析:高可用,主库挂了,keepalive(只是一种工具)会自动切换到备库。

这个过程对业务层是透明的,无需修改代码或配置。

2、高性能分析:读写都操作主库,很容易产生瓶颈。

大部分互联网应用读多写少,读会先成为瓶颈,进而影响写性能。

另外,备库只是单纯的备份,资源利用率50%,这点方案二可解决。

3、一致性分析:读写都操作主库,不存在数据一致性问题。

4、扩展性分析:无法通过加从库来扩展读性能,进而提高整体性能。

5、可落地分析:两点影响落地使用。

第一,性能一般,这点可以通过建立高效的索引和引入缓存来增加读性能,进而提高性能。

这也是通用的方案。

第二,扩展性差,这点可以通过分库分表来扩展。

方案二:双主架构,两个主库同时提供服务,负载均衡jdbc:mysql://vip:3306/xxdb1、高可用分析:高可用,一个主库挂了,不影响另一台主库提供服务。

这个过程对业务层是透明的,无需修改代码或配置。

2、高性能分析:读写性能相比于方案一都得到提升,提升一倍。

3、一致性分析:存在数据一致性问题。

请看,一致性解决方案。

4、扩展性分析:当然可以扩展成三主循环,但笔者不建议(会多一层数据同步,这样同步的时间会更长)。

如果非得在数据库架构层面扩展的话,扩展为方案四。

5、可落地分析:两点影响落地使用。

第一,数据一致性问题,一致性解决方案可解决问题。

第二,主键冲突问题,ID统一地由分布式ID生成服务来生成可解决问题。

方案三:主从架构,一主多从,读写分离jdbc:mysql://master-ip:3306/xxdbjdbc:mysql://slave1-ip:3306/xxdbjdbc:mysql://slave2-ip:3306/xxdb1、高可用分析:主库单点,从库高可用。

数据库管理系统的架构与工作原理

数据库管理系统的架构与工作原理

数据库管理系统的架构与工作原理数据库管理系统(Database Management System,简称DBMS)是一种软件系统,用于管理和组织数据。

它为用户提供了操作数据库的操作界面和功能,可以有效地管理大量的数据,并提供数据的安全性和一致性。

本文将介绍数据库管理系统的架构和工作原理。

一、数据库管理系统的架构数据库管理系统的架构可以分为三个主要层次:外层模式、概念模式和内层模式。

1. 外层模式(外模式):外层模式是用户与数据库之间的接口,它定义了用户如何看待和访问数据库中的数据。

不同用户可以有不同的外层模式,以适应他们的需求和角色。

外层模式对于用户来说是透明的,用户可以通过查询语句和命令来对数据库进行操作。

2. 概念模式(模式):概念模式是数据库的全局逻辑视图,它描述了数据库中数据的整体结构和关系。

概念模式定义了实体、属性、关系以及数据之间的约束和依赖关系。

概念模式通常由数据库管理员定义,并为数据库系统提供一致性和完整性的保证。

3. 内层模式(内模式):内层模式是数据库的物理存储视图,它定义了数据在存储介质上的组织方式和访问方法。

内层模式包括数据的物理结构、索引结构和数据存储的算法等。

内层模式是对数据库的物理实现进行描述,并对用户来说是不可见的。

二、数据库管理系统的工作原理数据库管理系统的工作原理可以分为以下几个方面:1. 数据库的创建和定义:数据库管理员通过数据库管理系统创建数据库,并定义数据库中的实体、属性和关系。

管理员还可以设置数据的完整性约束和安全权限等。

2. 数据的存储和组织:数据库管理系统负责将数据存储到物理介质上,并组织数据的物理结构和索引结构。

它通过使用适当的数据结构和算法来提高数据的访问效率。

3. 数据的查询和操作:用户可以通过数据库管理系统提供的查询语言(如SQL)对数据库进行查询和操作。

数据库管理系统会解析用户的查询请求,并通过查询优化技术选择最优的查询执行计划。

4. 数据的完整性和安全性:数据库管理系统通过完整性约束和安全权限来保证数据的一致性和安全性。

数据库集群架构与优化

数据库集群架构与优化

数据库集群架构与优化数据库集群是一种架构模式,主要用于提高数据库系统的性能、可靠性和可扩展性。

本文将介绍数据库集群架构的基本原理、常见的集群模式以及优化方法。

一、数据库集群架构的基本原理数据库集群架构基于分布式计算的理念,通过将数据库系统划分为多个节点,实现数据的分布存储和并行处理。

其基本原理如下:1. 数据分片:将数据库中的数据分割成多个片段,分布到不同的节点上。

每个节点只负责存储和处理一部分数据,从而降低了单个节点的负载压力。

2. 数据复制:为了提高数据库的可靠性和冗余性,集群架构通常采用数据复制机制,将数据复制到多个节点上。

这样,即使某个节点发生故障,系统仍然能够正常运行。

3. 事务一致性:为了保持数据的一致性,集群架构需要保证在多个节点上执行的事务具有一致的结果。

常见的方法包括两阶段提交和多版本并发控制等。

二、常见的数据库集群模式数据库集群架构有多种模式可供选择,根据具体的需求和场景选择适合的模式非常重要。

下面介绍几种常见的数据库集群模式:1. 主从复制模式:由一个主节点和多个从节点组成,主节点负责写操作,从节点负责读操作。

主节点将写操作的日志传播给从节点,从节点按照相同的顺序执行,从而保证了数据的一致性。

2. 共享存储模式:多个节点共享同一份数据存储,通过共享存储设备实现数据的读写。

这种模式适用于读密集型应用,能够减少数据的复制和传输。

3. 分片模式:将数据分散到多个节点上,每个节点只负责处理自己分片的数据。

这种模式适用于数据量较大的应用,能够提高处理能力和吞吐量。

三、数据库集群架构的优化方法1. 合理设计数据库模式:合理的数据库设计是优化数据库集群性能的重要一环。

包括选择合适的数据类型和索引、避免冗余数据、规范化数据结构等。

2. 负载均衡:通过合理分配请求到不同节点上,实现负载的均衡。

可以使用硬件负载均衡器或者软件负载均衡算法来实现。

3. 数据库缓存:使用缓存技术可以减少对数据库的频繁访问,提高系统的响应速度。

架构设计之数据架构

架构设计之数据架构

架构设计之数据架构数据架构是指在软件系统中,对数据进行组织、存储、管理和访问的结构和规范。

一个良好的数据架构设计能够提高系统的性能、可靠性和可扩展性。

在本文中,将介绍数据架构的基本概念、设计原则和常用技术,以及一个示例数据架构设计的详细说明。

一、数据架构的基本概念1. 数据模型:数据模型是对现实世界中的实体和关系进行抽象和描述的方法。

常用的数据模型有层次模型、网络模型、关系模型和对象模型等。

2. 数据库管理系统(DBMS):DBMS是负责管理和操作数据库的软件系统。

它提供了数据存储、数据访问、数据安全和数据一致性等功能。

3. 数据库:数据库是指存储在物理介质上的数据集合。

它按照一定的数据模型进行组织和管理,可以被DBMS管理和访问。

4. 数据库实例:数据库实例是指在内存中加载数据库,并提供对数据库的访问和操作的运行时环境。

5. 数据库表:数据库表是数据在数据库中的组织形式,由行和列组成。

每一行表示一个记录,每一列表示一个属性。

6. 数据库索引:数据库索引是一种提高数据检索速度的数据结构。

它通过建立索引键和数据之间的映射关系,加快数据的查找和访问速度。

二、数据架构的设计原则1. 数据一致性:数据架构应该保证数据的一致性,即数据在不同的地方和时间访问时,保持一致的值和状态。

2. 数据完整性:数据架构应该保证数据的完整性,即数据的约束条件和业务规则得到满足,不会浮现错误或者不一致的数据。

3. 数据安全性:数据架构应该保证数据的安全性,即数据只能被授权的用户访问和修改,防止未经授权的访问和恶意操作。

4. 数据可扩展性:数据架构应该具备良好的可扩展性,能够适应系统的增长和变化,保持系统的性能和可靠性。

5. 数据性能:数据架构应该优化数据的访问和操作性能,提高系统的响应速度和吞吐量。

三、常用的数据架构技术1. 分布式架构:分布式架构将数据分布在多个节点上,通过网络进行通信和协作,提高系统的可扩展性和性能。

常用的分布式架构有主从架构、集群架构和分布式数据库等。

数据库的体系结构

数据库的体系结构

数据库的体系结构1。

三级模式结构数据库的体系结构分为三级:外部级、概念级和内部级(图5。

1),这个结构称为数据库的体系结构,有时亦称为三级模式结构或数据抽象的三个级别。

虽然现在DBMS的产品多种多样,在不同的操作系统下工作,但大多数系统在总的体系结构上都具有三级结构的特征。

从某个角度看到的数据特性,称为数据视图(Data View)。

外部级最接近用户,是单个用户所能看到的数据特性,单个用户使用的数据视图的描述称为外模式。

概念级涉及到所有用户的数据定义,也就是全局性的数据视图,全局数据视图的描述称概念模式.内部级最接近于物理存储设备,涉及到物理数据存储的结构,物理存储数据视图的描述称为内模式。

图5。

1 三级模式结构数据库的三级模式结构是对数据的三个抽象级别。

它把数据的具体组织留给DBMS去做,用户只要抽象地处理数据,而不必关心数据在计算机中的表示和存储,这样就减轻了用户使用系统的负担.三级结构之间往往差别很大,为了实现这三个抽象级别的联系和转换,DBMS在三级结构之间提供两个层次的映象(Mapping):外模式/模式映象,模式/内模式映象.这里的模式是概念模式的简称。

数据库的三级模式结构,即数据库系统的体系结构如图5。

2所示.图5.2 数据库系统的体系结构2.三级结构和两级映象(1)概念模式概念模式是数据库中全部数据的整体逻辑结构的描述。

它由若干个概念记录类型组成,还包含记录间联系、数据的完整性安全性等要求。

数据按外模式的描述提供给用户,按内模式的描述存储在磁盘中,而概念模式提供了连接这两级的相对稳定的中间点,并使得两级中任何一级的改变都不受另一级的牵制。

概念模式必须不涉及到存储结构、访问技术等细节,只有这样,概念模式才能达到物理数据独立性.概念模式简称为模式。

(2)外模式外模式是用户与数据库系统的接口,是用户用到的那部分数据的描述。

外模式由若干个外部记录类型组成。

用户使用数据操纵语言(DML)语句对数据库进行操作,实际上是对外模式的外部记录进行操作.有了外模式后,程序员不必关心概念模式,只与外模式发生联系,按照外模式的结构存储和操纵数据.(3)内模式内模式是数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织方式,以及数据控制方面的细节.(4)模式/内模式映象模式/内模式映象存在于概念级和内部级之间,用于定义概念模式和内模式之间的对应性。

数据库技术中的数据建模与数据架构(三)

数据库技术中的数据建模与数据架构(三)

数据库技术中的数据建模与数据架构数据建模和数据架构在数据库技术中扮演着重要的角色。

数据建模指的是将现实世界中的对象和关系转化为数据库中的数据结构,而数据架构则是指数据库中存储、管理和访问数据的组织结构。

本文将从数据建模和数据架构的定义、目的、常用方法以及应用案例等方面进行探讨。

一、数据建模的定义和目的数据建模是指根据所需存储和处理的信息,将实际应用领域中的对象、实体以及它们之间的关系转化为数据库中的数据结构的过程。

其目的在于捕捉业务需求和实现,确保在数据库中以最有效和准确的方式存储数据,以支持应用程序的开发和功能实现。

在数据建模过程中,常用的方法包括实体关系模型(ER模型)、关系数据模型(RDM)、面向对象数据模型(OODM)等。

实体关系模型是最为常用的方法之一,通过定义实体、属性和关系,以图形化的方式呈现出数据的结构和关系,方便开发人员和数据分析师理解和使用。

二、数据架构的定义和目的数据架构是数据库中存储、管理和访问数据的组织结构。

它定义了数据库中各种数据对象的结构、关系和行为,以及它们与外部系统之间的接口和交互方式。

数据架构的主要目的是确保数据库的高效性、可扩展性和安全性。

常见的数据架构模式包括集中式架构、分布式架构和云架构等。

集中式架构是传统的数据库架构模式,将所有数据集中存储在单一的数据库服务器上。

分布式架构则是将数据分散存储在多个数据库服务器上,以提高存储和处理的效率。

而云架构则是将数据库部署在云平台上,以提供更灵活和可扩展的服务。

三、数据建模和数据架构的关系数据建模和数据架构是相互关联且相互依赖的。

数据建模是在数据库设计阶段进行的,它确定了数据库中实体、属性和关系的定义和结构。

而数据架构则是在数据库实施阶段进行的,它决定了数据库的组织结构和存储方式。

数据建模与数据架构的关系可以理解为建筑设计和建筑结构的关系。

建筑设计确定了建筑物的外部形式、功能分布和内部布局,而建筑结构则决定了建筑物的承重能力和稳定性。

数据库三层架构

数据库三层架构

数据库三层架构⼀:什么是数据库架构DBMS体系结构有助于数据库的设计,开发,实现和维护,数据库可以存储企业的关键信息,选择正确的数据库体系结构有助于快速安全地访问数据。

⼆:数据库架构有⼏层1层架构最简单的数据库体系结构是1层,其中客户端,服务器和数据库都驻留在同⼀台机器上。

⽆论何时在系统中安装数据库并访问,都是1层架构,但这种架构很少⽤于⽣产。

2层架构双层体系结构是⼀种数据库体系结构,表⽰层在客户端(PC,移动设备,平板电脑等)上运⾏数据存储在服务器上。

⼀种称为ODBC(开放式数据库连接)的应⽤程序接⼝,它允许客户端程序调⽤DBMS,在今天,⼤多数DBMS为DBMS提供ODBC驱动程序,并且2层架构为DBMS提供了额外的安全性,因为它不直接向最终⽤户公开。

⽬前双层体系结构的⽰例就是使⽤MS-Access创建的联系⼈管理系统。

3层架构3层架构是2层架构的扩展。

3层架构具有以下层,表⽰层(PC,平板电脑,⼿机等)应⽤层(服务器)数据库服务器该DBMS体系结构在⽤户和DBMS之间包含⼀个Application层,它负责将⽤户的请求传递给DBMS系统,并将响应从DBMS发送给⽤户,应⽤程序层(业务逻辑层)还在将数据传递给⽤户或向下传递到DBMS之前处理功能逻辑,约束和规则三层体系结构是最流⾏的DBMS体系结构。

三:总结DBMS体系结构有助于数据库的设计,开发,实现和维护。

最简单的数据库体系结构是1层,其中客户端,服务器和数据库都驻留在同⼀台机器上。

双层体系结构是⼀种数据库体系结构,其中表⽰层在客户端上运⾏,⽽.data存储在服务器上。

3层体系结构由表⽰层(PC,平板电脑,移动设备等),应⽤层(服务器)和数据库服务器组成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库技术架构第1.00版目录1.综述 (3)2.实现目标 (3)3.架构分析 (3)3.1异步集群(MySQL Replication) (3)3.1.1概述 (3)3.1.2方案拓扑图 (4)3.1.3优缺点 (5)3.1.4服务器要求 (5)3.1.5承载量 (5)3.2 mysql + heartbeat + 共享存储 (5)3.2.1概述 (5)3.2.2 Mysql+heartbeat+共享存储方案拓扑图 (6)3.2.3 Mysql+heartbeat+共享存储优缺点 (6)3.2.4服务器要求 (7)3.2.5承载量 (7)3.3 Mysql+drbd+heartbeat (7)3.3.1概述 (7)3.3.2 Mysql+drbd+heartbeat方案拓扑图 (8)3.3.3 Mysql+drbd+heartbeat优缺点 (8)3.3.4服务器要求 (9)3.3.5承载量 (9)3.4同步集群Mysql cluster (9)3.4.1概述 (9)3.4.2 Mysql cluster方案拓扑图 (10)3.4.3 Mysql cluster优缺点 (11)3.4.4服务器要求 (11)3.4.5承载量 (11)4.可行性方案选择 (11)1.综述数据库位于现代企业应用的核心,它储存了组织机构中最有价值的资产,包括商家信息、商品信息、订单信息和历史数据。

另外,组织机构依赖于数据库来运行他们关键业务应用。

几小时甚至是几分钟的宕机,往往会造成收入的大量流失和客户的不满。

因此,保证数据库高可用是所有组织机构优先考虑的事情。

对于希望在当今瞬息万变的经济环境立于不败之地并取得成功的企业来说,构建一个具有高可用性的IT 基础架构至关重要。

2.实现目标通过技术手段实现MySql数据库的高可用性,从而减少停工时间保证服务的正常稳定运行。

3.架构分析Mysql作为一款开源软件经过多年的发展,已经形成很多套实现高可用方案,并且均都投入生产使用,主要为这几种:mysql + replication 、mysql + heartbeat + 共享存储、mysql + drbd + heartbeat 、mysql cluster。

以下将依次对各个方案进行分析。

3.1异步集群(MySQL Replication)3.1.1概述Mysql的复制(Replication)是一个异步的复制,从一个Mysqlinstace(称之为Master)复制到另一个Mysql instance(称之Slave)。

实现整个复制操作主要由三个进程完成的,其中两个进程在Slave(Sql进程和IO进程),另外一个进程在Master(IO进程)上。

3.1.2方案拓扑图Mysql+replication主从复制拓扑图方案具体解释:要实施复制,首先必须打开Master端的binary log(bin-log)功能,否则无法实现。

因为整个复制过程实际上就是Slave从Master端获取该日志然后再在自己身上完全顺序的执行日志中所记录的各种操作。

3.1.3优缺点优点:1)易实施、成本低、经济实惠;2)后期维护方便;3)由于整套系统架构简单,不涉及到存储及双机软件,因此系统出现故障率很低;4)方便做到读写分离;5)速度较快;缺点:1)在主机出现问题后不能自动切换到备份机,需要人工干涉更改IP地址;2)数据放在几台服务器上,冗余一般;3)扩展性差;4)无法实现高可用性和负载均衡(只能在程序级别实现读写分离,减轻对主数据库的压力);5)配置和管理较差,可能会丢失数据;3.1.4服务器要求至少2台服务器。

3.1.5承载量3.2mysql + heartbeat + 共享存储3.2.1概述HA双机热备软件将操作环境推广到一种群集操作系统。

群集是一种松散耦合的计算节点集合,提供网络服务或应用程序(包括数据库、web 服务和文件服务)的单一客户视图。

HA双机热备软件的目标是:1:减少或消灭由软件或硬件故障引起的系统停机时间2:提供增强的系统可用性,能够不必关掉整个群集就可执行维护3.2.2Mysql+heartbeat+共享存储方案拓扑图方案具体解释:本方案采用高可靠性的HA双机热备软件来保证服务的高稳定性及连续性。

默认情况下两台mysql机器只有一台机器在工作,当工作机mysql主机出现问题后,系统将自动切换到mysql备机上继续提供服务,而整个过程只需要30秒的时间,当mysql主机故障维修完毕后,服务将自动切换回mysql主机上继续提供服务。

3.2.3Mysql+heartbeat+共享存储优缺点优点:。

缺点:。

优点:1)安全性、稳定性高,出现故障系统将自动切换,从而保证服务的连续性;缺点:1)相对mysql replication成本提高,需要有共享存储设备;3.2.4服务器要求至少2台服务器。

3.2.5承载量3.3Mysql+drbd+heartbeat3.3.1概述此方案除了刚刚介绍完的heartbeat外,主要用了DRBD这个工具,DRBD是一种块设备,可以被用于高可用(HA)之中.它类似于一个网络RAID-1功能.当你将数据写入本地文件系统时,数据还将会被发送到网络中另一台主机上.以相同的形式记录在一个文件系统中.本地(主节点)与远程主机(备节点)的数据可以保证实时同步.当本地系统出现故障时,远程主机上还会保留有一份相同的数据,可以继续使用.3.3.2Mysql+drbd+heartbeat方案拓扑图3.3.3Mysql+drbd+heartbeat优缺点优点:1)安全性、稳定性高,出现故障系统将自动切换,从而保证服务的连续性;2)相对mysql+heartbeat+存储来说对大优点是节约了存储这个硬件设备缺点:1)mysql主机宕机,切换到备机,备机接管服务,待主机修复完配置failback机制的话会发生脑裂情况,需要手工执行命令进行主机接管;3.3.4服务器要求至少2台服务器。

3.3.5承载量3.4同步集群Mysql cluster3.4.1概述MySQL Cluster 是MySQL适合于分布式计算环境的高实用、高冗余版本。

它采用了NDB Cluster 存储引擎,允许在1个Cluster 中运行多个MySQL服务器。

在MyQL 5.0及以上的二进制版本中、以及与最新的Linux版本兼容的RPM中提供了该存储引擎。

MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的Cluster 。

通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。

此外,由于每个组件有自己的内存和磁盘,不存在单点故障。

MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDB Cluster 的数据节点,管理服务器,以及(可能)专门的数据访问程序。

所有的这些节点构成一个完成的MySQL集群体系。

数据保存在“NDB存储服务器”的存储引擎中,表(结构)则保存在“MySQL服务器”中。

应用程序通过“MySQL服务器”访问这些数据表,集群管理服务器通过管理工具(ndb_mgmd)来管理“NDB存储服务器”。

通过将MySQL Cluster 引入,MySQL为所有需要它的人员提供了具有高可用性、高性能和可缩放性的Cluster 数据管理。

3.4.2Mysql cluster方案拓扑图3.4.3Mysql cluster优缺点优点:1)安全性、稳定性高,可以在线增加节点,官方声称可用度可达到99.999%;2)内存级别的,对硬件要求较低,但是对内存要求较大。

换算比例为:1:1.1;3)数据同时放在几台服务器上,冗余较好;4)扩展性强;5)可以实现高可用性和负载均衡,实现对大型应用的支持;6)配置和管理方便,不会丢失数据;7)必须是特定的mysql版本,如:已经编译好的max版本;缺点:1)至少三个节点,对主机的数量又要求,无形增加方案成本、对于数据节点要求内存一直、对于引擎只能使用ndb、不支持外键功能、管理复杂;2)速度一般;3)建表需要声明为engine=ndbcluster3.4.4服务器要求至少5台服务器。

3.4.5承载量4.可行性方案选择在上面列出的四种方案,我们都根据公司的对数据库的生产要求,做了一些筛选。

mysql cluster 这个方案管理复杂ndb引擎的硬性要求凸显出来的一些大的限制,我们将此先做了排除。

Mysql replication 这个方案公司目前正在使用,但是对mysql的同步的主机的高可用没有保障,固先保留。

Mysql + drbd + heartbeat这个方案虽然能方便的做到主机到备机的切换,也能节约硬件的成本,但是备机向主机回切的过程中drbd的限制容易产生脑裂情况,须手工执行命令,此方案也先保留。

最后就剩下了myslq + heartbeat + 共享存储方案,此方案对硬件有要求需要一个共享存储设备,在出现问题后的故障切换以及主机恢复资源的回切都表现的相当良好,固此方案将被优先考虑。

相关文档
最新文档