开发者社区> cadem> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

KV存储的对比

简介: 最近对各种KV存储进行一个比较,从存储引擎到存储引擎的类型,到单机版的kvstore,再到分布式kvstore集群。
+关注继续查看

最近对各种KV存储进行一个比较,从存储引擎到存储引擎的类型,到单机版的kvstore,再到分布式kvstore集群。

存储引擎的类型

类型 全称
btree
LSH Log-Structured Hash Table
LSM Log-Structured Merge Tree
FractalTree 分型树

存储引擎

类型 名称 语言 备注 应用在___ dbengine排名 出品
berkeleyDB BTREE, HASH, QUEUE, RECNO C,Java No.9 oracle
Wiredtiger btree, LSM C mongodb No.24 WiredTiger/mongodb
Tokyo Cabinet /Kyoto Cabinet b+tree,hash table nmdb,Kyoto Tycoon NO.27/No.36 FAL Labs
LMDB btree C OpenLDAP symas
BoltDB btree Go LMDB的go版本
leveldb LSM c++ No.15 google
goleveldb LSM Go leveldb的go版本 个人
levigo LSM Go Go wrapper for LevelDB 个人
rocksdb LSM c++,java No.18 facebook
gorocksdb LSM Go Go wrapper for RocksDB 个人
mongo-rocks LSM C++ RocksDB Storage Engine Module for MongoDB mongo partner
bitcast LSH C beansdb,riak basho
PerconaFT FractalTree C++ Mysql存储引擎之TokuDB percona

单机kvstore

类型 名称 采用的存储引擎 语言 出品 主从复制 github star
kv对 nmdb qdbm, berkeley db, tokyo cabinet,tdb C 个人Alberto Bertogli
kv对 memcachedb Berkeley DB C 新浪 yes
kv对 Kyoto Tycoon Kyoto Cabinet C/C++ FAL Labs
结构化kv(redis兼容) ssdb leveddb C/C++ 个人ideawu yes 4k+
结构化kv(redis兼容) ssdb-rocks rocksdb C/C++ 个人ideawu 92
结构化kv(redis兼容) ardb LevelDB, RocksDB, LMDB, WiredTiger C++ 个人yinqiwen yes 800+
结构化kv(redis兼容) (reborndb)qdb Rocksdb and LevelDB Go 个人ngaut 200+
结构化kv(redis兼容) Pika Rocksdb C Qihoo360 yes 900+
结构化kv(redis兼容) LedisDB LevelDB, goleveldb, LMDB, RocksDB, BoltDB or Memory Go 个人SiddonTang 2K+

单机kvstore的分布式代理

名称 语言 存储 出品 应用/githubstar 分片 弹性 备注
Reborndb Go qdb 个人ngaut 200+ yes yes
Netflix Dynomite C redis,memcached Netflix 1.9K+ Dynamo
Codis Go codis-server(定制redis) 社区CodisLabs 5K+
Twenproxy C redis,memcached twitter 6K+

分布式KVstore

类型 名称 语言 出品 dbengine排名/githubstar 存储引擎 社区活跃 特性 备注
kv型 riak erlang basho No.3/2K+ bitcask Dynamo
kv型 beansdb C douban 600+ bitcask模型 近2年没有更新,没有文档 Dynamo
kv型 project Voldmort Java LinkedIn No.29/1.8K+ BDB-JE,MySQL,Read-Only
kv型 Scalris erlang Zuse Institute Berlin No.35/88
kv型 aeospike aespike No.7
kv型 Tair C/C++ alibaba 400+ 自研的fdb 停止更新,没有文档

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
PL/SQL函数和存储过程
前言 活到老,学到老。 基本概念 --ORACLE 提供可以把PL/SQL 程序存储在数据库中,并可以在任何地方来运行它。这样就叫存储过程或函数。过程和函数统称为PL/SQL子程序,他们是被命名的PL/SQL块,均存储在数据库中,并通过输入、输出参数或输入/输出参数与其调用者交换信息。
1135 0
存储过程
存储过程简介 存储过程(Stored Procedure)是数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
840 0
存储过程
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
748 0
双网卡连接公共存储
双网卡mysql服务器连接公共存储iscsi!  [环境 RHEL6] 客户端与iscsi连接了的时候,会有两块新的硬盘出来/dev/sdb,/dev/sdc! 然后配置之后,会有一块新的假硬盘出来/dev/mapper/mpathb,它可以自动进行线路的切换!   .[client双网卡]<-------->[storage-iscsi] [故障迁移] sh
1126 0
+关注
cadem
陈东明,饿了么北京研发中心架构组负责人;曾任百度架构师;公众号:dongming_cdm
17
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载