设为首页 收藏本站
查看: 463|回复: 0

[经验分享] 云计算时代的MySQL-Clustrix Sierra分布式数据库系统

[复制链接]

尚未签到

发表于 2016-10-22 09:30:25 | 显示全部楼层 |阅读模式
  本文是2010-5-12号的《最新云计算信息》,而且也是第一期,希望大家能喜欢。本文部分参考了工作在Amazon的顶级云计算专家James Hamilton(长发飘逸男)的一篇博文,如果大家对英语不感冒的话,可以看一下。
  
  在这个云计算的时代,网络将会覆盖社会的方方面面,但这也导致了不论是商务网站还是社交网站都承受着与日剧增的负载。在业界,有些技术实力很强的公司都开始尝试NoSQL的解决方案来帮助他们解决这方面问题,但是对大多数互联网企业而言,因为技术和学习难度等原因,他们不得不继续使用着传统的关系型数据库,比如MySQL,并且做着各种细小的优化来使其数据库勉强支撑庞大的流量。就在这个月Clustrix推出了能兼容MySQL的Sierra分布式数据库系统来帮助那些对NoSQL不感冒的企业来应对日益增长的流量。接下来,让我们一探究竟
  
  简介
    Clustrix Sierra是一款分布式数据库系统,它既支持最简单的Key-Value格式,又兼容MySQL的功能,同时能非常简单通过添加新的节点来存储数十亿条数据。它的功能主要体现在下面这四个方面:
  

  • 扩展和高可用性方面:只要添加一个节点,就能在吞吐量等性能指标上实现线性提升,最多能扩展到几百个节点。   
  • 速度方面:其解决传统数据库写数据慢的情况,并保证了读数据的速度。   
  • 兼容MySQL:其支持MySQL所有功能,并支持ACID(Atomicity, Consistency, Isolation, Durability),而且在迁移现有MySQL方面非常方便。   
  • 在线修改和扩展方面:不仅能在生产环境中动态添加新的节点,而且能在在线的情况下修改数据库的表结构。
  
  技术特点
  主要有五个方面:
  

  • 模拟了MySQL的通信协议,也就是说能让使用它的应用能够沿用之前MySQL的客户端,比如JDBC等。   
  • 以1U大小的器件(Hardware Appliance)形式交付给用户,并内置NVRAM和硬盘等硬件设备。这种器件模式不仅在安装和使用方面非常简单,而且能支持一定程度的硬件优化,同时这种器件模式也被IBM WebSphere所推崇,并推出DataPower系列来支撑企业SOA环境的运作。   
  • 支持Infniband Interconnect(互联),虽然在支持RDMA(Remote Direct Memory Access)协议方面10G以太网比Infniband更经济,但是10G以太网在这方面还需要两年才能成熟,所以现在使用Infniband来支持RDMA协议是一个不错的选择。   
  • 采用Shared-Nothing的架构,这种架构不仅无需使用那些昂贵的共享存储,而且避免由于使用分布式锁管理程序而导致扩展瓶颈。   
  • 支持在线执行部分DDL操作,比如,修改数据库表或者添加一个列(column)。
  
  硬件组成
  每个Clustrix Sierra数据库器件主要包括下面这些硬件设备:
  

  • 两个四核CPU(总共八核),   
  • 32G内存。   
  • 7个160GB的SSD硬盘。   
  • 两个20G的Infiniband后台互联(back-end interconnect),应该可以理解为类似于网卡的东西。   
  • 两个1G的以太网卡。   
  • 有电池支持的NVRAM卡。
  
  比较
  在关系型数据库集群方面,主要有Shared-Everything和Shared-Nothing这两种架构,著名的Oracle RAC和新近的IBM DB2 PureScale都属于Shared-Everything架构,而Clustrix Sierra和IBM DB2 DPF(DB Partition Feature)则属于Shared-Nothing架构。
  
  运作机制
  首先,Clustrix Sierra系统主要有三个核心模块组成:其一是Distributed Query Compiler(分布式查询编译器)。其二是分布式Shared-Nothing执行引擎(Execution Engine)。其三是支持同步事务(ransactional concurrent)的存储引擎(Storage Engine)。而且整个系统通过整合这三大核心模块来实现其主要功能。
  接着,讲一下其运行流程:当很多查询发送至Front-end Network,系统会通过Database Personality Module来将这些查询翻译成系统内部的格式,接着系统会通过上面提到的Distributed Query Compiler和执行引擎以并行的方式执行这些查询,并通过存储引擎在SSD上来存储数据,在NVRAM上存储日志方面的修改,最后通过Infiniband来在多个节点之间进行通信和同步。下面是Clustrix Sierra数据库架构图:
http://vbqnmw.blu.livefilestore.com/y1p3lcOEbWZAjhSeplLcUiIiyns_MUbcq4CwebijaKzSa_lsQvL3lb_FfiGkYxjgFpWROtI3LcQxUiNwUh66H_rm12gdYKFmfcs/ClustrixArchitectureDiagram.jpg 图1. Clustrix Sierra数据库架构图
  
  问题
    问题主要集中三个方面:
  

    • Oracle的态度: 由于Oracle对MySQL准备采取的策略现在还不是很明朗,所以虽然现在Oracle对Clustrix没有什么异议,但是在今后不能排除提出意见的可能性。      
    • 技术难度:连在数据库方面有几十年经验,并设计过DB2和MS SQL Server的James Hamilton都认为实现类似于Clustrix是极度艰难(incredibly hard)的,可以想见这“海”有多深,希望Clustrix团队能够在这“海”上驰骋。      
    • 缺乏实际案例:虽然根据现有官方资料,Clustrix Sierra数据库的确非常吸引人,但是因为到现在为止它还没有在恶劣的生产环境下长时间的工作过,所以无法确定它到底是货真价实,还是言过其实。   

  
  总结
    之前谈到分布式数据库,大家肯定联想到在企业界得到广泛使用的Oracle RAC和IBM DB2 for z/OS等,但是在云计算的时代,由于经济等因素,使得类似Clustrix数据库这样的基于廉价硬件并可扩展的分布式系统也成为了一种不错的选择,那么在最后引用华为首席DBA李强先生的一段话作为结尾:“关键性业务系统中,除了考虑长数据库的在OLAP和OLTP方面的高性能、可扩展性之外,还要考虑高可靠性以及成本问题,成本不仅仅包括购买软硬件的开销,还要考虑开发工作量和后期维护等等,基于廉价硬件搭建可扩展的集群系统是大势所趋”。
  
  明天的《最新云计算信息》,将关注EMC刚在EMC World发布的VPLEX系统,敬请期待。
  参考资料:
  

    • Clustrix Database Appliance。      
    • 数据库创业公司Clustrix推MySQL杀手解决方案。      
    • 专访华为DBA李强:数据库架构设计与选型。      
    • CLX 4000 Series。      
    • Clustrix: A New Approach。      
    • Shared nothing architecture。   


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-289696-1-1.html 上篇帖子: mysql错误:Table XXX is marked as crashed and should be repaired[转] 下篇帖子: MyBatis学习之 一、MyBatis简介与配置MyBatis+Spring+MySql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表