MongoDB拥有灵活的文档型数据结构和方便的操作语法,在新兴的互联网应用中得到了广泛的部署,但对于其底层的存储引擎一直未对外开放,虽说开源却有失完整。Mongo版本3中开发了插件式存储引擎API,为第三方的存储引擎厂商加入Mongodb提供了方便。也许是迫于TokuMX的压力,内存配置在版本3中都有很好的体现。即便如此,在面对文档数据库的技术造型时,我们又多了一个选择。
什么是TokuMX,什么又是Percona(破裤拿)呢?
TokuMX实现了绝大部分MongoDB2.4的功能,应用程序无需做任何修改。但需要注意的是,TokuMX的数据存储格式与MongoDB完全不一样,需要使用mongodump导出数据,然后用mongorestore导入才可以使用。 TokuMX 提供了三个主要的特性:性能的优化提升,数据压缩特性,支持事务【支持事务,不是进步还是倒退】。有份测试结果表明,在不影响性能的前提下 TokuMX 比原生的 MongoDB 节约了90%的存储空间。
由于mongodb近期已经升级到3版本,想必大家肯定会对TokuMX还是基于2版本的mongo有所疑虑,从其官网的下载链接我们也可以看出。
当然这只是针对mongo2版本,算是一个比较旧的版本。难道Percona会停滞不前吗?破库拿团队新推出的Percona Server for MongoDB®完全是基于Mongo的3版本的,完全可以秒杀MongoDB3了吧,官方也是推荐使用此版本。
哪要不要迁移至TokuMX或Percona Server for MongoDB呢?一定要据自身的条件作判断依据,毕竟新东西有学习成本,相应工具、运营、维护、监控等等也是需要成本的。手痒痒的话,down下来做个测试跑跑先。