LevelDB
LevelDB 是 Google 开源的持久化 KV 单机数据库,具有很高的随机写,顺序读/写性能,但是随机读的性能很一般,也就是说,LevelDB很适合应用在查询较少,而写很多的场景
LevelDB 是一个 C++ 语言编写的高效键-值嵌入式数据库,目前对亿级的数据也有着非常好的读写性能。虽然 LevelDB 有着许多键-值数据库所不具备的优秀特性,但是与 Redis 等一些主流键-值数据库相比也有缺陷。
优点
- key 与 value 采用字符串形式,且长度没有限制;
- 数据能持久化存储,同时也能将数据缓存到内存,实现快速读取;
- 基于 key 按序存放数据,并且 key 的排序比较函数可以根据用户需求进行定制;
- 支持简易的操作接口 API,如 Put、Get、Delete,并支持批量写入;
- 可以针对数据创建数据内存快照;
- 支持前向、后向的迭代器;
- 采用 Google 的 Snappy 压缩算法对数据进行压缩,以减少存储空间;
- 基本不依赖其他第三方模块,可非常容易地移植到 Windows、Linux、UNIX、Android、iOS。
缺点
- 不是传统的关系数据库,不支持 SQL 查询与索引;
- 只支持单进程,不支持多进程;
- 不支持多种数据类型;
- 不支持客户端-服务器的访问模式。用户在应用时,需要自己进行网络服务的封装。