当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 五种MySQL数据库可靠性方案的分析和比较

MYSQL
mysql 常用数据库语句 小练习
MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决
mysql 字符集的系统变量说明
MySQL 在触发器里中断记录的插入或更新?
将MySQL数据库移植为PostgreSQL
mysql 操作总结 INSERT和REPLACE
linux mysql忘记密码的多种解决或Access denied for user ''root''@''localhost''
运用mysqldump 工具时需要注意的问题
mysql 优化日记
MySQL 字符串函数大全
mysql 截取指定的两个字符串之间的内容
MySQL 备份还原数据库批处理
mysql 数据库中my.ini的优化 2G内存针对站多 抗压型的设置
Mysql 数字类型转换函数
mysql 动态生成测试数据
mysql 显示SQL语句执行时间的代码
mysql 设置查询缓存
MYSQL explain 执行计划
MySQL 有输入输出参数的存储过程实例
巧用mysql提示符prompt清晰管理数据库的方法

MYSQL 中的 五种MySQL数据库可靠性方案的分析和比较


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 106 ::
收藏到网摘: n/a

这篇文章主要从基本情况、成本、优缺点和应用场合等方面对5种MySQL的可靠性方案进行了详细的分析和比较,另外,本文对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)

多台功能分离的单独服务器,没有高可靠性、负载均衡能力,明显缺点太多,不予考虑。

总结:

MySQL官方网站推荐的HA方案是结合DRBD (本文中的方案3) 和 Replication (本文中的方案4)。假如再加上Linux Heartbeat还可实现Auto-failover功能,在此种情况下,我们会发现,down机时间会大大减少。