友荐云推荐

内存数据库初创公司MemSQL最近开发出一个新的分布式数据库版本,在内存中不仅能够处理更大的数据集,而且同时保持了高速处理。在最新的版本中,用户将可以横跨多个商用节点(服务器)扩展MemSQL数据集,实现超大规模下完成大型负载。而在此之前的版本,MemSQL数据库被限制于在单一的主机上。该公司的联合创始人兼CEO Eric Frenkiel表示,新版本相较于老版本,可以扩展到更多的主机上。不仅如此,新版本还配备了MemSQL Watch仪表板来追踪监控数据库集群的性能表现。

MemSQL是一款内存数据库,它通过将数据存在内存中,将SQL语句预编译为C++而获得极速的执行效率。MemSQL宣称这是世界上最快的分布式关系型数据库,兼容MySQL但快30倍,能实现每秒150万次事务。 MemSQL由前Facebook工程师Eric Frenkiel和微软SQL Server高级工程师Nikita Shamgunov(CTO)联合创办,MemSQL的高性能数据库还参照了Facebook的脚本,有着强烈的Facebook印记。在2011年7月,MemSQL获得了Ashton Kutcher、SV Angel、Paul Buchheit以及New Enterprise Associates等14家风投的青睐,融资210万美元。仅一年以后又再次获得了IA Ventures和Digital Sky Technologies两家共计300万美元的风险投资。

从MemSQL官网上了解到,MemSQL具有以下几大特色:

  • 无可比拟的效率:MemSQL执行效率比传统的基于磁盘的数据库要快30倍,它优于其他内存数据库,因为它将SQL语句预编译为C++。
  • 强大的SQL执行能力:支持全功能的关系型数据库,开发者不必修改现有程序即可获得NoSQL键/值存储系统的效率。
  • 横向和纵向扩展:MemSQL支持纵向扩展,CPU越好效率就越高;而且支持向多CPU扩展;此外,MemSQL还可与MySQL节点结合起来处理PB级的负载。
  • 缺省支持数据持久性:MemSQL缺省支持数据从内存到磁盘/SSD的同步,保证数据的安全可靠。
  • 简易安装:只需30秒即可完成安装并使用MemSQL,兼容MySQL,学习曲线平滑。

MemSQL的竞争对手

MemSQL面临着 众多竞争对手的挑战,他们都宣称比SQL表现更强劲,都有一个熟谙数据库技术的创始团队。现今有很多NewSQL创新企业,包括VoltDB、NuoDB、 ScaleBase、Tokutek、JustOneDB和Clustrix,这些公司都表示能够帮助关系型数据库扩展规模,性能也比MySQL更好,而价格上也要比同类型的Oracle数据库便宜得多。

MemSQL背后的故事

在2012年11月30日-12月1日,Hadoop与大数据技术大会(HBTC 2012)在北京举办。MemSQL联合创始人兼CTO Nikita Shamgunov受邀参加了这次大会,在主题论坛做了主题为“ 数据价值的半衰期:如何在第一时间洞察大数据”的演讲。他认为摩尔定律的时代已经结束。虽然现在在很多方面提升的速度已经放缓,然而在数据上摩尔定律依然存在。数据每18个月就会翻番,这就需要更多的技术来操作如此庞大的数据。在本次大会上,MemSQL进入了我们的视线,给我们留下了深刻的印象。

图:MemSQL联合创始人兼CTO Nikita Shamgunov

CSDN后续对MemSQL做了多次报道,《 前Facebook工程师创办MemSQL公司 让数据库快步如飞》一文在网上引起了很大的反响,不过不久之后就有人表示不服, Facebook MySQL工程师吐槽MemSQL:MySQL比你们快无数倍,他认为MemSQL是由一群聪明的小伙儿鼓捣出来的,他们现在正在媒体和技术社区“兴风作浪”。Facebook的这位工程师认为,系统必须在完全不同的配置文件中运行。例如,用于数据缓冲的内存在MemSQL中本质上是解除绑定的,而InnoDB在MySQL5.5把它限制在了128MB,这是MySQL5.1默认设置的16倍。至于写入性能方面,MemSQL 能写出2G的快照日志,而InnoDB设置为10MB的事务日志,所以会更快地开始检查点。尽管如此,对于基准来说,稳定持久是最重要的。MemSQL宣称支持ACID,其中耐久性是最重要的一环。MySQL的InnoDB默认是很耐用的,如果事务返回为“同意”,就会在崩溃后刻到磁盘上。MemSQL默认也是很“耐久”的,它也会有一个事务日志,而这并不意味着跟磁盘有关。最后总结:MemSQL每秒持久事务比InnoDB慢500倍;MemSQL在做一些简单的读写查询时,比MySQL慢上千倍,也许是慢百万倍。(信息来源于CSDN网站报道)

在微博上,MemSQL也曾引起很多技术大牛的聚焦, @Fenng表示MemSQL是一种伪技术,老瓶子装新酒,并不是革命性的东西。很多人觉得需要更快的DB,实际上,他们需要的是写更有效率SQL语句的人。而 @淘宝褚霸就认为:效率差1个数量级是很难通过写SQL来提升的,除非之前的SQL不是专业人士写的。

其实MemSQL最真实的情况,我们不得而知,或许真正使用过MemSQL的人才有最有发言权。今天MemSQL又推出了自己最新的分布式版本,未来的表现究竟如何,我们将拭目以待!