Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1707469
  • 博文数量: 607
  • 博客积分: 10031
  • 博客等级: 上将
  • 技术积分: 6633
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-30 17:41
文章分类

全部博文(607)

文章存档

2011年(2)

2010年(15)

2009年(58)

2008年(172)

2007年(211)

2006年(149)

我的朋友

分类: LINUX

2009-04-09 10:18:49

网上有篇文章基本情况、成本、优缺点和应用场合等方面对5MySQL的可靠性方案进行了分析和比较,对MySQL的开发和管理有一定的借鉴作用。现翻译出来供大家参考。

1MySQL Clustering(ndb-cluster stogare)

简介:

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

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

优点:

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

缺点:

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

速度:

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

应用场合:

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

2. MySQL / / HA (Active/Passive)

简介:

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

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

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

成本:

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

优点:

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

缺点:

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

速度

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

应用场合

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

3. MySQL / / 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)。如果再加上还可实现Auto-failover功能,这样down机时间会大大减少。
阅读(1529) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~