Google-LevelDB简介

简介: Google-LevelDB简介

image.png

LevelDB简介

LevelDB一句话描述

LevelDB是google开发的,一个速度非常块的KV存储库(storage library),它支持字符串的key与字符串的value,并且这种映射关系按key排序(ordered mapping)。

LevelDB的十大特性
1)key和value可以是字符串或者字节流
2)数据按key排列,有序存储
3)调用方可以重载排序方法,以实现自定义排序
4)基本操作只有3种:
4.1)Put(key, value)
4.2)Get(key)
4.3)Delete(key)
5)提供原子批量修改接口
6)支持数据快照
7)支持向前和向后的迭代器
8)支持数据自动压缩,使用的是snappy压缩算法
9)和操作系统之间的外部交互是通过虚接口(virtual interface)来进行,这样用户就能定制化这些交互了
10)开源,源码里的文档相当详尽哟

LevelDB的局限性

1)LevelDB不是一个SQL数据库,没有关系型的存储模型,不支持SQL语句,不支持索引
2)同时只能有一个进程(当然,这个进程可以是多线程的)访问一个特定的数据库
3)LevelDB只是一个lib库,没有实现什么client-server网络通讯什么的,当然用户可以自己将lib包装一层,实现自己的server

LevelDB的性能

测试库共100w行记录,每条记录16字节的key,100字节的value,压缩后的value大概50字节

写性能

顺序写:平均每次操作耗时1.765微秒,即支持每秒大概55w次顺序写操作
顺序写+每次都刷盘:平均每次操作耗时268.409微妙,即支持每秒大概3700次的刷盘写操作
随即写:平均每次操作耗时2.460微秒,即支持每秒大概40w次随机写操作
更新写:平均每次操作耗时2.380微秒,性能和随机写差不多

读性能

随机读:平均每次操作耗时16.677微秒,即支持每秒大概6w次随机读操作
顺序读:平均每次操作耗时0.476微秒,即支持每秒大概210w次顺序读操作
逆序读:平均每次操作耗时0.724微秒,即支持每秒大概130w次逆序读操作
上述性能都是在没有打开“压缩”功能下的结果,如果打开“压缩”选项,性能会有所提升,例如随机读性能会提升至11.602微秒,即8.5w次每秒

另:google非常诚实的提到,由于100w行的数据量很小,这些数据是能够完全放入内存里的哈

目录
相关文章
|
JSON Cloud Native 网络协议
gRPC简介: Google的高性能RPC框架
gRPC简介: Google的高性能RPC框架
250 0
|
定位技术 数据库
Win之Software Installation:谷歌地球(Google Earth) 的简介、安装、使用方法之详细攻略
Win之Software Installation:谷歌地球(Google Earth) 的简介、安装、使用方法之详细攻略
Win之Software Installation:谷歌地球(Google Earth) 的简介、安装、使用方法之详细攻略
|
JavaScript 前端开发 定位技术
Google Earth Engine(GEE)——JavaScript基本功能介绍(变量和数据类型及几何类型的简介)
Google Earth Engine(GEE)——JavaScript基本功能介绍(变量和数据类型及几何类型的简介)
275 0
Google Earth Engine(GEE)——JavaScript基本功能介绍(变量和数据类型及几何类型的简介)
【Google Play】Google Play 开放式测试 ( 简介 | 发布开放式测试版本 )(二)
【Google Play】Google Play 开放式测试 ( 简介 | 发布开放式测试版本 )(二)
290 0
【Google Play】Google Play 开放式测试 ( 简介 | 发布开放式测试版本 )(二)
【Google Play】Google Play 开放式测试 ( 简介 | 发布开放式测试版本 )(一)
【Google Play】Google Play 开放式测试 ( 简介 | 发布开放式测试版本 )(一)
616 0
【Google Play】Google Play 开放式测试 ( 简介 | 发布开放式测试版本 )(一)
|
5G Android开发 开发者
【Google Play】App Bundle 使用详解 ( 简介 | 应用内更新 | 即时更新 | 灵活更新 )
【Google Play】App Bundle 使用详解 ( 简介 | 应用内更新 | 即时更新 | 灵活更新 )
431 0
【Google Play】App Bundle 使用详解 ( 简介 | 应用内更新 | 即时更新 | 灵活更新 )
|
索引
Google Earth Engine(GEE)——数组及其切片简介
Google Earth Engine(GEE)——数组及其切片简介
517 0
|
JavaScript 前端开发 算法
GEE(Google Earth Engine)——earth engine算法简介
GEE(Google Earth Engine)——earth engine算法简介
345 0
|
API Android开发
【Android 应用开发】Google 官方 EasyPermissions 权限申请库 ( 简介 | 权限申请处理细节 | 添加依赖 | 界面权限申请结果处理 | 权限申请结果回调接口 )
【Android 应用开发】Google 官方 EasyPermissions 权限申请库 ( 简介 | 权限申请处理细节 | 添加依赖 | 界面权限申请结果处理 | 权限申请结果回调接口 )
324 0

热门文章

最新文章

下一篇
无影云桌面