mysql数据库迎来了云计算时代
云的概念在互联网时代被提出,对于大数据,同样也是有大数据的云时代,在MySQL数据库中,同样云的概念被运用,Clustrix提出的针对mysql数据存储进行扩展,那么这项技术究竟是怎样的呢?
NewSQL数据库初创公司Clustrix最近获得1650万美元的C轮融资,该轮融资的投资方包括红杉资本(SequoiaCapital)、U.S.VenturePartners以及ATAVentures。而截至目前为止,这家成立于2005年的创新公司总融资金额已经高达4650万美元。Clustrix公司总部在旧金山,在2006年曾是YCombinator资助的一个创业项目。
Clustrix在两年前曾推出了一个可高度扩容的伸缩式数据库解决方案Sierra,它提供了和SQL数据库相似的功能,同时还可以对数据存储进行扩展。ClustrixSierra在业内被称之为云计算时代的MySQL。
公司的CEORobinPurohit告诉记者:“我们已经在世界上多家云平台之上运行了自己的应用,但是现在我们的目标是将这个分布式系统开放给开发者。”而且最近Clustrix在AWS平台上发布了专有的数据库5.0新版本。当然该版本在Rackspace、GoGrid、Equinix以及BlueBoxGroup等平台上也可以运行。(2010年,在Clustrix初始版本发布的时候,GigaOM的记者StaceyHigginbotham对该产品也做了报道。)
ClustrixSierra
ClustrixSierra是一款分布式数据库系统,它既支持最简单的Key-Value格式,又兼容MySQL的功能,同时能非常简单通过添加新的节点来存储数十亿条数据。它的功能主要体现在下面这四个方面:
扩展和高可用性方面:只要添加一个节点,就能在吞吐量等性能指标上实现线性提升,最多能扩展到几百个节点。
速度方面:其解决传统数据库写数据慢的情况,并保证了读数据的速度。
兼容MySQL:其支持MySQL所有功能,并支持ACID(Atomicity,Consistency,Isolation,Durability),而且在迁移现有MySQL方面非常方便。
在线修改和扩展方面:不仅能在生产环境中动态添加新的节点,而且能在在线的情况下修改数据库的表结构。
运作机制
首先,ClustrixSierra系统主要有三个核心模块组成:其一是DistributedQueryCompiler(分布式查询编译器)。其二是分布式Shared-Nothing执行引擎(ExecutionEngine)。其三是支持同步事务(ransactionalconcurrent)的存储引擎(StorageEngine)。而且整个系统通过整合这三大核心模块来实现其主要功能。ClustrixSierra数据库架构图如下:
运行流程
当很多查询发送至Front-endNetwork,系统会通过DatabasePersonalityModule来将这些查询翻译成系统内部的格式,接着系统会通过上面提到的DistributedQueryCompiler和执行引擎以并行的些查询,并通过存储引擎在SSD上来存储数据,在NVRAM上存储日志方面的修改,最后通过Infiniband来在多个节点之间进行通信和同步。