本文是2010-5-12号的《最新云计算信息》,而且也是第一期,希望大家能喜欢。本文部分参考了工作在Amazon的顶级云计算专家James Hamilton(长发飘逸男)的一篇博文,如果大家对英语不感冒的话,可以看一下。
在这个云计算的时代,网络将会覆盖社会的方方面面,但这也导致了不论是商务网站还是社交网站都承受着与日剧增的负载。在业界,有些技术实力很强的公司都开始尝试NoSQL的解决方案来帮助他们解决这方面问题,但是对大多数互联网企业而言,因为技术和学习难度等原因,他们不得不继续使用着传统的关系型数据库,比如MySQL,并且做着各种细小的优化来使其数据库勉强支撑庞大的流量。就在这个月Clustrix推出了能兼容MySQL的Sierra分布式数据库系统来帮助那些对NoSQL不感冒的企业来应对日益增长的流量。接下来,让我们一探究竟
Clustrix Sierra是一款分布式数据库系统,它既支持最简单的Key-Value格式,又兼容MySQL的功能,同时能非常简单通过添加新的节点来存储数十亿条数据。它的功能主要体现在下面这四个方面:
技术特点
主要有五个方面:
硬件组成
每个Clustrix Sierra数据库器件主要包括下面这些硬件设备:
比较
在关系型数据库集群方面,主要有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数据库架构图:
问题主要集中三个方面:
之前谈到分布式数据库,大家肯定联想到在企业界得到广泛使用的Oracle RAC和IBM DB2 for z/OS等,但是在云计算的时代,由于经济等因素,使得类似Clustrix数据库这样的基于廉价硬件并可扩展的分布式系统也成为了一种不错的选择,那么在最后引用华为首席DBA李强先生的一段话作为结尾:“关键性业务系统中,除了考虑长数据库的在OLAP和OLTP方面的高性能、可扩展性之外,还要考虑高可靠性以及成本问题,成本不仅仅包括购买软硬件的开销,还要考虑开发工作量和后期维护等等,基于廉价硬件搭建可扩展的集群系统是大势所趋”。
明天的《最新云计算信息》,将关注EMC刚在EMC World发布的VPLEX系统,敬请期待。
参考资料: