首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Google-LevelDB简介

Google-LevelDB简介

作者头像
架构师之路
发布2018-02-28 16:57:16
1.6K0
发布2018-02-28 16:57:16
举报
文章被收录于专栏:架构师之路架构师之路

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行的数据量很小,这些数据是能够完全放入内存里的哈

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2014-10-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构师之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档