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

google/leveldb
https://github.com/google/leveldb
leveldb-handbook
https://leveldb-handbook.readthedocs.io/zh/latest/basic.html
Leveldb 基本介绍和使用指南
https://zhuanlan.zhihu.com/p/322520485
既生 Redis 何生 LevelDB ?
https://zhuanlan.zhihu.com/p/53299778
网友评论