目前不少互联网公司都在使用SSDB, 它是一款NoSQL的,高性能数据库,目标是替代Redis。html
咱们在 TerichDB 原生 API 的基础上,经过适配,实现了 LevelDB API,虽然适配层有必定的开销,可是,这可让全部使用 LevelDB 的程序,不须要修改任何代码,只须要修改 Makefile,就可使用 TerichDB,ssdb 就是这样的一个程序。为了方便你们编译、使用基于 TerichDB 的 ssdb,咱们 fork 了 ssdb,修改了编译脚本(Makefile 和 build.sh)。git
数据库经过装载相同的数据源(Amazon 的 movie review 数据,总共大约9GB)github
multi-get
批量操做,每次读取100个随机key
经过上面的对比,咱们能够看到,只有当原生 SSDB 的专用缓存不受限制的时候(此时全部的数据都被缓存下来了,加上OS Cache,其实是有两分内存占用),性能才略好于使用 TerichDB 的 SSDB。而这种状况下,他们的内存占用状况能够看下面的对比。web
能够看到,一旦内存受限,没法加载所有的数据的时候,原生 SSDB 的随机读性能会极大地降低,这主要是频繁的块解压致使的。数据库