MemSQL,号称世界上最快的内存数据库

  • 马国耀

2012 年 6 月 25 日

话题:语言 & 开发架构

MemSQL 是一款内存数据库,它通过将数据存在内存中,将 SQL 语句预编译为 C++ 而获得极速执行效率。

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

  • 无可比拟的效率

    MemSQL 的执行效率是传统的基于磁盘的数据库的 30 倍,同时它优于其他内存数据库的数据,因为它将 SQL 转换成 C++。
  • 强大的 SQL 执行能力

    支持全功能的关系型数据库,开发者不必修改现有程序即可获得 NoSQL 键值存储系统的效率。
  • 水平和垂直扩展

    MemSQL 支持垂直扩展,CPU 越好效率就越高;支持向多 CPU 扩展;此外,MemSQL 还可与 MySQL 节点结合起来处理百万兆级的负载。
  • 缺省支持数据持久性

    MemSQL 缺省支持数据从内存到磁盘 /SSD 的同步,保证数据的安全可靠。
  • 简易安装

    只需 30 秒即可完成安装并使用 MemSQL,兼容 MySQL,学习曲线平滑。

因为其快速,所以 MemSQL 非常适用于哪些视时间为金钱的行业,如资本市场、广告服务、云计算与移动应用等。

感兴趣的读者可从开源中国社区学习MemSQL 的安装和简单使用将数据库从 MySQL 移植到 MemSQLMemSQL 的配置文件解析等。

MemSQL 在微博上引起了众多技术人士的围观。@Fenng说:

MemSQL 是一种伪技术,老瓶子装新酒,并不是革命性的东西。很多人觉得需要更快的 DB,实际上,他们需要的是写更有效率 SQL 语句的人。

这条微博引起了关于“更快的 DB vs 能写更有效率的 SQL 的人?”的讨论。@林枫 - 孙靖楠说:

……更多人需要的是写出高效率的 SQL,而不是寄托在某种技术上。

也有持不同意见者,如@淘宝褚霸就认为:

效率差 1 个数量级是很难通过写 SQL 来提升的,除非之前的 SQL 不是专业人士写的。

写好 SQL 会有很大的提升,但是写对了以后想继续提高就非常难,毕竟天花板是在数据库的实现上。

双方的观点都不无道理,只是出发点不同罢了。我们既需要能写出更有效率的 SQL 语句的人,也需要更效率更高的数据库系统。当语句写到最优却仍然不能解决满足需求时,就需要新技术的产生。二者有机结合起来才能推动技术的进步。且不论 MemSQL 是否伪技术,但它至少是技术前进道路上的一小步。正是由于这许许多多的小步,才推动着技术不断革新的大步。

语言 & 开发架构