LevelDB是google出品的高性能key-value数据库,它提供了一个有序的以字符串为key和value的Map
特点
- Key 和 value 可以为随意的byte数组
- 数据通过key值被有序的存储
- 使用者可以重写key值的比较方法来改变数据的排序
- 基础的操作方法是
Put(key,value)
,Get(key)
,Delete(key)
. - 多个修改操作可以在一个原子化的批处理(batch)中进行
- 用户可以创建一个临时快照来为数据库创建备份
- 提供可以前向和后项迭代的迭代器
- 通过使用Snappy compression library来自动地压缩数据
- 外部的操作(列如文件系统操作)都依赖于与操作系统无关的虚拟接口。因此用户可以自定义这些接口,使leveldb能在不同的操作系统上运行
文档
限制
- leveldb不是SQL数据库,它也不是关系型数据库。因此它不能支持SQL的使用,并且不支持索引
- 在同一时间内,只有一个进程(可以是多线程)能对leveldb进行访问
- leveldb并没有内置库来支持client-server,如果应用想要支持这个功能,那么应用应该自己进行封装
网友评论