解析大数据时代的数据库集群技术

来源:CSDN  
2014/5/16 15:59:50
集群的存在意义是为了保证高可用、数据安全、扩展性以及负载均衡,作者从一个比较高的层面解读了数据库集群技术,从数据库应用层面的Share-Disk集群直到集群的最高形式能够提供负载均衡的集群。

本文关键字: SQL Server MySQL 数据库 大数据
Share-Nothing架构
 
Share-Nothing架构又分为两种,首先是分布式架构。将数据库中的数据按照某一标准分布到多台机器中,查询或插入时按照条件查询或插入对应的分区。
 
另一种是每一个节点完全独立,节点之间通过网络连接,通常是通过光钎等专用网络。如图2所示。
 
 
图2.Share-Nothing冗余架构
 
在Share-Nothing架构中,每一个节点都拥有自己的内存和存储,都保留数据的完整副本。通常来说,又可以分为两种,可以负载均衡和不可以负载均衡。
 
首先谈谈不可负载均衡的集群,在不可负载均衡的技术中,集群中的节点会被分为主节点和辅助节点,主节点向外提供服务,辅助节点作为热备(二阶段事务提交)或暖备(不需要保证事务同步),同时有可能使得辅助节点提供只读的服务。使用这个架构的技术包括:SQL Server AlwaysOn,SQL Server Mirror,Oracle Data Guard这种架构带来的好处包括:
 
辅助节点数据和主节点保持同步或准同步,当搭配第三方仲裁后,可以实现自动的故障转移,从而实现了高可用
 
辅助节点由于和主节点完全独立且数据同步或准同步,因此主节点出现数据损坏后,可以从辅助节点恢复数据(自动或手动)
 
由于Share-Nothing架构使用了本地存储(或SAN),相较于Share-Disk架构在慢速网络时有非常大的性能优势
 
当然,弊端也显而易见,因为辅助节点无法对外提供服务或只能提供只读服务,因此该类集群的弊端包括:
 
扩展能力非常有限
 
对性能没有提升,因为涉及到各节点的数据同步,甚至带来性能的下降
 
辅助节点如果可读,虽然提升性能,但需要修改前端应用程序,对应用程序不透明
 
另一类Share-Nothing架构中,是允许负载均衡的。所谓负载均衡就是将对数据库的负载分布到集群中的多个节点上,在集群中的每一个节点都可以对外提供服务,从而达到更高的吞吐量,更好的资源利用率和更低的响应时间。前端通过代理进行调度。使用该类架构的技术包括:MySQL上的Amoeba(架构如图3,摘自MySQL大师陈畅亮的博客:http://www.cnblogs.com/gaizai/archive/2012/06/12/2546755.html),MySQL上的HA Proxy(如图4所示),格瑞趋势在SQL Server上的Moebius集群(如图5所示)。
 
 
图3.Amoeba
 
 
图4.HA Proxy
 
 
图5.Moebius集群
责编:李玉琴
vsharing微信扫一扫实时了解行业动态
portalart微信扫一扫分享本文给好友

著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
畅享
首页
返回
顶部
×
    信息化规划
    IT总包
    供应商选型
    IT监理
    开发维护外包
    评估维权
客服电话
400-698-9918