MemSQL 是一款内存数据库,它通过将数据存在内存中,将 SQL 语句预编译为 C++ 而获得极速执行效率。
从 MemSQL官方网站了解到,MemSQL 具有以下几大特色:
- 无可比拟的效率
MemSQL 的执行效率是传统的基于磁盘的数据库的 30 倍,同时它优于其他内存数据库的数据,因为它将 SQL 转换成 C++。- 强大的 SQL 执行能力
支持全功能的关系型数据库,开发者不必修改现有程序即可获得 NoSQL 键值存储系统的效率。- 水平和垂直扩展
MemSQL 支持垂直扩展,CPU 越好效率就越高;支持向多 CPU 扩展;此外,MemSQL 还可与 MySQL 节点结合起来处理百万兆级的负载。- 缺省支持数据持久性
MemSQL 缺省支持数据从内存到磁盘 /SSD 的同步,保证数据的安全可靠。- 简易安装
只需 30 秒即可完成安装并使用 MemSQL,兼容 MySQL,学习曲线平滑。
因为其快速,所以 MemSQL 非常适用于哪些视时间为金钱的行业,如资本市场、广告服务、云计算与移动应用等。
感兴趣的读者可从开源中国社区学习 MemSQL 的安装和简单使用、将数据库从 MySQL 移植到 MemSQL 和 MemSQL 的配置文件解析等。
MemSQL 在微博上引起了众多技术人士的围观。 @Fenng 说:
MemSQL 是一种伪技术,老瓶子装新酒,并不是革命性的东西。很多人觉得需要更快的 DB,实际上,他们需要的是写更有效率 SQL 语句的人。
这条微博引起了关于“更快的 DB vs 能写更有效率的 SQL 的人?”的讨论。 @林枫 - 孙靖楠说:
……更多人需要的是写出高效率的 SQL,而不是寄托在某种技术上。
也有持不同意见者,如 @淘宝褚霸就认为:
效率差 1 个数量级是很难通过写 SQL 来提升的,除非之前的 SQL 不是专业人士写的。
写好 SQL 会有很大的提升,但是写对了以后想继续提高就非常难,毕竟天花板是在数据库的实现上。
双方的观点都不无道理,只是出发点不同罢了。我们既需要能写出更有效率的 SQL 语句的人,也需要更效率更高的数据库系统。当语句写到最优却仍然不能解决满足需求时,就需要新技术的产生。二者有机结合起来才能推动技术的进步。且不论 MemSQL 是否伪技术,但它至少是技术前进道路上的一小步。正是由于这许许多多的小步,才推动着技术不断革新的大步。
评论