其他
键值数据库LevelDB的优缺点及性能分析
导读:LevelDB是一种为分布式而生的键-值数据库。
key与value采用字符串形式,且长度没有限制; 数据能持久化存储,同时也能将数据缓存到内存,实现快速读取; 基于key按序存放数据,并且key的排序比较函数可以根据用户需求进行定制; 支持简易的操作接口API,如Put、Get、Delete,并支持批量写入; 可以针对数据创建数据内存快照; 支持前向、后向的迭代器; 采用Google的Snappy压缩算法对数据进行压缩,以减少存储空间; 基本不依赖其他第三方模块,可非常容易地移植到Windows、Linux、UNIX、Android、iOS。
不是传统的关系数据库,不支持SQL查询与索引; 只支持单进程,不支持多进程; 不支持多种数据类型; 不支持客户端-服务器的访问模式。用户在应用时,需要自己进行网络服务的封装。
Fillseq:以顺序写的方式创建一个新的数据库。 Fillrandom:以随机写的方式创建一个新的数据库。 Overwrite:以随机写的方式更新数据库中某些存在的key的数据。 Fillsync:每一次写操作,均将数据同步写到磁盘中才算操作完成;而对于上述3种其他的写操作,只是将需要写的数据送入操作系统的缓冲区就算成功。
Readrandom:以随机的方式进行查询读。 Readseq:按正向顺序读。 Readreverse:按逆向顺序读。
$ ./db_bench
本文摘编自《精通LevelDB》,经出版方授权发布。(ISBN:9787111693260)
点击上图了解及购买转载请联系微信:DoctorData
推荐语:阿里、贝壳找房专家联合撰写,深入方法与关键代码层面,多注释与讲解。本书详细剖析LevelDB从使用到设计实现的方方面面,读后可了解谷歌Bigtable数据库的设计精髓。
刷刷视频👇
干货直达👇
在公众号对话框输入以下关键词查看更多优质内容!
读书 | 书单 | 干货 | 讲明白 | 神操作 | 手把手大数据 | 云计算 | 数据库 | Python | 爬虫 | 可视化AI | 人工智能 | 机器学习 | 深度学习 | NLP5G | 中台 | 用户画像 | 数学 | 算法 | 数字孪生
据统计,99%的大咖都关注了这个公众号👇