mysql数据库可靠性分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql数据库可靠性分析相关的知识,希望对你有一定的参考价值。

1、mysql数据库有undo空间吗
2、mysql数据库做可靠性分析,需要考虑哪些方面?

mysql数据库有undo空间
5种mysql做可靠性分析的方案:
1.MySQL Clustering(ndb-cluster stogare)
简介:
MySQL公司以存储引擎方式提供的高可靠性方案,是事务安全的,实时复制数据,可用于需要高可靠性及负载均衡的场合。该方案至少需要三个节点服务器才能达到较好的效果。
成本:
节点服务器对RAM的需求很大,与数据库大小呈线性比例;
最好使用千兆以太网络;
还需要使用Dolphin公司提供的昂贵的SCI卡。
优点:
可用于负载均衡场合;
可用于高可靠性场合;
高伸缩性;
真正的数据库冗余;
容易维护。
缺点:
随着数据库的变大,对RAM的需求变得更大,因此成本很高;
速度:
几乎 比典型的单独服务器(无千兆以太网,无SCI卡,存储引擎相关的限制少)慢10倍。
应用场合:
冗余,高可靠性,负载均衡
2. MySQL / GFS-GNBD/ HA (Active/Passive)
简介:
如果多个MySQL服务器使用共享硬盘作为数据存储,此方案如何?
GFS/GNBD可以提供所需的共享硬盘。
GFS是事务安全的文件系统。同一时刻你可以让一个MySQL使用共享数据。
成本:
最多n台高性能服务器的成本,其中一个激活的,其他作为备份服务器。
优点:
高可靠性
某种程度的冗余
按照高可靠性进行伸缩
缺点:
没有负载均衡
没有保证的冗余
无法对写操作进行伸缩
速度:
单独服务器的2倍。对读操作支持得较好。
应用场合:
需要高可靠性的、读操作密集型的应用
3. MySQL / DRBD / HA (Active/Passive)
简介:
如果多个MySQL服务器使用共享硬盘作为数据存储,此方案如何?
DRBD可以提供这样的共享硬盘。DRBD可以被设置成事务安全的。
同一时刻你可以让一个MySQL使用共享数据。
成本:
最多n台高性能服务器的成本,其中一个激活的,而其他则作为备份服务器。
优点:
高可靠性;
一定程度的冗余;
以高可靠性名义来看是可伸缩的。
缺点:
没有负载均衡
没有保证的冗余
在写负载方面没有伸缩性
速度:
在读写方面相当于单独服务器
应用场合
需要高可靠性、读操作密集型的应用
4. MySQL Write Master / Multiple MySQL Read Slaves (Active/Active)
简介:
考虑不同的读、写DB数据库连接的情况。可以使用一台主服务器用于写操作,而采用n台从服务器用于读操作。
成本:
最多1台高性能写服务器,n台读服务器的成本
优点:
读操作的高可靠性;
读操作的负载均衡;
在读操作负载均衡方面是可伸缩的。
缺点:
无写操作的高可靠性;
无写操作的负载均衡;
在写操作方面无伸缩性;
速度:
同单独服务器;在读操作方面支持得较好
应用场合
读操作密集型的、需要高可靠性和负载均衡的应用。
5. Standalone MySQL Servers(Functionally separated) (Active)
多台功能分离的单独服务器,没有高可靠性、负载均衡能力,明显缺点太多,不予考虑。
参考技术A redo 存在于 ib_logfile0 ib_logfile1 数据取决于你的my.cnf 中的 innodb 相关配置

1.MySQL Clustering(ndb-cluster stogare)
简介:

MySQL公司以存储引擎方式提供的高可靠性方案,是事务安全的,实时复制数据,可用于需要高可靠性及负载均衡的场合。该方案至少需要三个节点服务器才能达到较好的效果。

成本:
节点服务器对RAM的需求很大,与数据库大小呈线性比例;
最好使用千兆以太网络;
还需要使用Dolphin公司提供的昂贵的SCI卡。
优点:

可用于负载均衡场合;
可用于高可靠性场合;
高伸缩性;
真正的数据库冗余;
容易维护。
缺点:

随着数据库的变大,对RAM的需求变得更大,因此成本很高;

速度:

几乎 比典型的单独服务器(无千兆以太网,无SCI卡,存储引擎相关的限制少)慢10倍。

应用场合:

冗余,高可靠性,负载均衡

2. MySQL / GFS-GNBD/ HA (Active/Passive)
简介:

如果多个MySQL服务器使用共享硬盘作为数据存储,此方案如何?

GFS/GNBD可以提供所需的共享硬盘。

GFS是事务安全的文件系统。同一时刻你可以让一个MySQL使用共享数据。

成本:

最多n台高性能服务器的成本,其中一个激活的,其他作为备份服务器。

优点:

高可靠性
某种程度的冗余
按照高可靠性进行伸缩
缺点:

没有负载均衡
没有保证的冗余
无法对写操作进行伸缩
速度

单独服务器的2倍。对读操作支持得较好。

应用场合

需要高可靠性的、读操作密集型的应用

3. MySQL / DRBD / HA (Active/Passive)
简介:

如果多个MySQL服务器使用共享硬盘作为数据存储,此方案如何?

DRBD可以提供这样的共享硬盘。DRBD可以被设置成事务安全的。

同一时刻你可以让一个MySQL使用共享数据。

成本:

最多n台高性能服务器的成本,其中一个激活的,而其他则作为备份服务器。

优点:

高可靠性;
一定程度的冗余;
以高可靠性名义来看是可伸缩的。
缺点:

没有负载均衡
没有保证的冗余
在写负载方面没有伸缩性
速度:

在读写方面相当于单独服务器

应用场合

需要高可靠性、读操作密集型的应用

4. MySQL Write Master / Multiple MySQL Read Slaves (Active/Active)
简介:

考虑不同的读、写DB数据库连接的情况。可以使用一台主服务器用于写操作,而采用n台从服务器用于读操作。

成本:

最多1台高性能写服务器,n台读服务器的成本

优点:

读操作的高可靠性;
读操作的负载均衡;
在读操作负载均衡方面是可伸缩的。
缺点:
无写操作的高可靠性;
无写操作的负载均衡;
在写操作方面无伸缩性;
速度:

同单独服务器;在读操作方面支持得较好

应用场合

读操作密集型的、需要高可靠性和负载均衡的应用。

5. Standalone MySQL Servers(Functionally separated) (Active)
多台功能分离的单独服务器,没有高可靠性、负载均衡能力,明显缺点太多,不予考虑。

总结:
MySQL官方网站推荐的HA方案是结合DRBD (本文中的方案3) 和 Replication (本文中的方案4)。假如再加上Linux Heartbeat还可实现Auto-failover功能,在此种情况下,我们会发现,down机时间会大大减少。本回答被提问者和网友采纳
参考技术B 1 不是很理解你说的undo,是不是数据库里面的rollback,就是说如果中间发生错误设置强制回退进行数据复原的ACID操作的话,那你需要把mysql的数据库引擎设置为inno db。如在存储过程中处理数据,除SQL本身语法的错误外,你可以在业务逻辑出现异常的时候自己设置一些必然会出错的SQL,比如向一个有唯一索引的表里插入重复的记录,让SP强制报错,进而执行业务的回滚,如果你在程序中执行SQL语句,控制好你的commit就好;
2 mysql的可靠性分析说的比较笼统,mysql本身是很可靠的,是否满足你的业务需求需要看你对业务的设计。比如经常遇到的问题,mysql的并发连接数,sql的长度,内存数据库的大小,各种逻辑锁等。这些都可以在my.cnf或my.ini中设置。个人经验使用mysql处理过上亿条数据,主要的权衡还是集中在数据处理的效率,但这些效率基本上都和自己的设计相关,mysql本身的问题比较少见。但当你处理的业务逻辑比较复杂,数据量比较大的情况下还是比较容易出问题,这时需要具体问题具体对待
参考技术C 1 / undo 存在于共享表空间,
2/
1、MySQL Clustering(ndb-cluster stogare)
简介:
MySQL公司以存储引擎方式供给的高可靠性方案,是事务安全的,实时复制数据,,可用于需要高可靠性及负载均衡的场合。该方案至少需要三个节点服务器才干达到较好的效果。
成本:
节点服务器对RAM的需求很大,与数据库大小呈线性比例;
最好应用千兆以太网络;
还需要应用Dolphin公司供给的昂贵的SCI卡。
优点:
可用于负载均衡场合;
可用于高可靠性场合;
高伸缩性;
真正的数据库冗余;
容易维护。
缺点:
随着数据库的变大,对RAM的需求变得更大,因此成本很高;
速度:
几乎比典型的单独服务器(无千兆以太网,无SCI卡,存储引擎相关的限制少)慢10倍。
使用处合:
冗余,高可靠性,负载均衡
2、MySQL / GFS-GNBD/ HA (Active/Passive)
简介:
如果多个MySQL服务器应用共享硬盘作为数据存储,此方案如何?
GFS/GNBD可以供给所需的共享硬盘。
GFS是事务安全的文件系统。同一时刻你可以让一个MySQL应用共享数据。
成本:
最多n台高性能服务器的成本,其中一个激活的,其他作为备份服务器。
优点:
高可靠性
某种程度的冗余
遵照高可靠性进行伸缩
缺点:
没有负载均衡
没有保证的冗余
无法对写操作进行伸缩
速度
单独服务器的2倍。对读操作支持得较好。
使用处合
需要高可靠性的、读操作密集型的使用
3、MySQL / DRBD / HA (Active/Passive)
简介:
如果多个MySQL服务器应用共享硬盘作为数据存储,此方案如何?
DRBD可以供给这样的共享硬盘。DRBD可以被设置成事务安全的。
同一时刻你可以让一个MySQL应用共享数据。
成本:
最多n台高性能服务器的成本,其中一个激活的,而其他则作为备份服务器。
优点:
高可靠性;
一定程度的冗余;
以高可靠性名义来看是可伸缩的。
缺点:
没有负载均衡
没有保证的冗余
在写负载方面没有伸缩性
速度:
在读写方面相当于单独服务器
使用处合
需要高可靠性、读操作密集型的使用
4、MySQL Write Master / Multiple MySQL Read Slaves (Active/Active)
简介:
考虑不同的读、写DB数据库连接的情况。可以应用一台主服务器用于写操作,而采纳n台从服务器用于读操作。
成本:
最多1台高性能写服务器,n台读服务器的成本
优点:
读操作的高可靠性;
读操作的负载均衡;
在读操作负载均衡方面是可伸缩的。
缺点:
无写操作的高可靠性;
无写操作的负载均衡;
在写操作方面无伸缩性;
速度:
同单独服务器;在读操作方面支持得较好
使用处合
读操作密集型的、需要高可靠性和负载均衡的使用。
5、Standalone MySQL Servers(Functionally separated) (Active)
多台功能分离的单独服务器,没有高可靠性、负载均衡能力,明显缺点太多,不予考虑。
总结:
MySQL官方网站推选的HA方案是结合DRBD (本文中的方案3) 和 Replication (本文中的方案4)。假如再加上Linux Heartbeat还可实现Auto-failover功能,在此种情况下,我们会发现,down机光阴会大大减少
参考技术D the time that your

可靠性设计通用准则


可靠性工程的核心是持续不断地与故障做斗争。与故障做斗争的设计分析方法又可以分为可靠性定性设计和可靠性定量设计分析。可靠性的定量设计分析方法的应用需要有大量的基础数据,而基础数据的获得一方面需要开展大量的基础工作,另一方面由于影响产品的可靠性的因素很多,加之科学技术的发展迅速,产品的更新换代很快,要想得到准确的可靠性基础数据是非常困难的,因此可靠性的定性设计分析方法就非常重要。可靠性定性设计分析方法是在产品设计和开发中制定和实施产品可靠性设计准则,这是提高设计开发产品可靠性最有效的方法。


新产品可靠性设计准则的制定依据有三个方面:一是本单位的相似产品在开发、生产和使用过程中,与故障做斗争的成功经验和失败教训的总结和升华;二是国内外相关专业和产品的标准、规范和手册中提出的可靠性设计准则;三是使用方或用户方的可靠性要求。


下面为大家介绍一下通用可靠性设计准则:


可靠性简化设计

1、应对产品功能进行分析权衡,合并相同或相似功能,消除不必要的功能。

2、应在满足规定功能要求的条件下,使其设计简单,尽可能减少产品层次和组成单元的数量。

3、尽量减少执行同一或相近功能的零部件、元器件数量。

4、应优先选用标准化程度高的零部件、紧固件、连接件、管线、缆线。

5、最大限度地采用通用的组件、零部件、元器件,并尽量减少其品种。

6、必须使用故障率高、容易损坏、关键的单元应具有良好的互换性和通用性。

7、采用不同工厂生产的相同型号成品件必须能安装互换和功能互换。

8、产品的修改不应改变其安装和连接方式以及有关部位的尺寸,使新旧产品可以互换安装。


可靠性冗余设计

1、当简化设计、降额设计及选用的高可靠性的零部件、元器件仍然不能满足任务可靠性要求时,则应采用冗余设计。

2、在重量、体积、成本允许的条件下,选用冗余设计比其他可靠性设计方法更能满足任务可靠性要求。

3、影响任务成功的关键部件如果具有单点故障模式,则应考虑采用冗余设计技术。

4、硬件的冗余设计一般在较低层次(设备、部件)使用,功能冗余设计一般在较高层次(分系统、系统)进行。

5、冗余设计中应重视冗余切换装置的设计,必须考虑切换装置的故障概率对系统的影响,尽量选择高可靠性的切换装置。

6、冗余设计应考虑对共模/共因故障的影响。


可靠性热设计

1、传导散热设计。例如,选用导热系数大的材料;加大与导热零件的接触面积;尽量缩短热传导的路径;在传导路径中不应该有绝热或隔热件等。

2、对流散热设计。例如,加大温差,即降低周围对流介质的温度;加大流体与固体间的接触面积;加大周围介质的流动速度,使它带走更多的热量等。

3、辐射散热设计。例如,在发热体表面涂上散热的涂层以增加黑度系数;加大辐射体的表面面积等。

4、耐热设计。例如,接近高温区的所有操纵组件、电线、线束和其他附件均采取防护措施并用耐高温材料制成;导线间应有足够的间隙,在特定高温源附近的导线要使用耐高温绝缘材料。

5、保证热流通道尽可能短,横截面积尽量大。

6、尽量使用金属机箱或底盘散热。

7、力求使所有的接触面都能传热,必要时,加一层导热硅胶提高传热性能。尽量加大热传导面积和传导零件之间的接触面积,提高接触表面的加工精度、加大接触压力或垫入可展性导热材料。

8、器件的方向及安装方式应保证最大热对流。

9、将热敏部件装在热源下面,或将其隔离,或加上光滑的热屏蔽涂层。

10、安装零件时,应充分考虑到周围零件辐射出的热,以使每一器件的温度都不超过其最大工作温度。

11、尽量确保热源具有较好的散热性能。

12、玻璃环氧树脂线路板是不良散热器,不能全靠自然冷却。若它不能充分散发所产生的热量,则应考虑加设散热网络和金属印制电路板。

13、选用导热系数大的材料制造热传导零件。例如,银、紫铜、铜、氧化铍陶瓷及铝等。

14、尽可能不将通风孔及排气孔开在机箱顶部或面板上。

15、尽量减低气流噪音与振动,包括风机与设备箱间的共振。

16、尽量选用以无刷交流电动机驱动的风扇、风机和泵,或者适当屏蔽的直流电动机。


医械研发实验有困难,找嘉峪检测网


嘉峪检测网编辑整理

大家都在看


5000+国内外研发测试实验室,任您选

以上是关于mysql数据库可靠性分析的主要内容,如果未能解决你的问题,请参考以下文章

腾讯云:MySQL数据库的高可用性分析

腾讯云数据库团队:MySQL数据库的高可用性分析

vue+node.js+mysql项目搭建

mysql主从异步复制过程

MySQL 主从复制(实时热备)原理与配置

面试官问我MySQL如何保证数据的可靠性,被虐的体无完肤