Bootstrap

KV存储的对比

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

存储引擎的类型

类型全称
btree
LSHLog-Structured Hash Table
LSMLog-Structured Merge Tree
FractalTree分型树

存储引擎

类型名称语言备注应用/dbengine排名出品
berkeleyDBBTREE, HASH, QUEUE, RECNOC,JavaNo.9oracle
Wiredtigerbtree, LSMCmongodb,No.24WiredTiger/mongodb
Tokyo Cabinet /Kyoto Cabinetb+tree,hash tablenmdb,Kyoto TycoonNO.27/No.36FAL Labs
LMDBbtreeCOpenLDAPsymas OpenLDAP
BoltDBbtreeGoLMDB的go版本
leveldbLSMc++No.15google
goleveldbLSMGoleveldb的go版本个人
levigoLSMGoGo wrapper for LevelDB个人
rocksdbLSMc++,javaNo.18facebook
gorocksdbLSMGoGo wrapper for RocksDB个人
mongo-rocksLSMC++RocksDB Storage Engine Module for MongoDBmongo partner
bitcastLSHCbeansdb,riakbasho
PerconaFTFractalTreeC++Mysql存储引擎之TokuDBpercona

单机kvstore

类型名称存储引擎语言出品主从复制应用/dbengine排名/github star
kv对nmdbqdbm, berkeley db, tokyo cabinet,tdbC个人Alberto Bertogli
kv对memcachedbBerkeley DBC新浪yes
kv对Kyoto TycoonKyoto CabinetC/C++FAL Labs
结构化kv(redis兼容)ssdbleveddbC/C++个人ideawuyes4k+
结构化kv(redis兼容)ssdb-rocksrocksdbC/C++个人ideawu92
结构化kv(redis兼容)ardbLevelDB, RocksDB, LMDB, WiredTigerC++个人yinqiwenyes800+
结构化kv(redis兼容)(reborndb)qdbRocksdb and LevelDBGo个人ngaut200+
结构化kv(redis兼容)PikaRocksdbCQihoo360yes900+
结构化kv(redis兼容)LedisDBLevelDB, goleveldb, LMDB, RocksDB, BoltDB or MemoryGo个人SiddonTang2K+

单机kvstore的分布式代理

名称语言存储出品应用/githubstar分片弹性备注
ReborndbGoqdb个人ngaut200+yesyes
Netflix DynomiteCredis,memcachedNetflix1.9K+Dynamo
CodisGocodis-server(定制redis)社区CodisLabs5K+
TwenproxyCredis,memcachedtwitter6K+

分布式KVstore

类型名称语言出品dbengine排名/githubstar存储引擎社区活跃特性备注
kv型riakerlangbashoNo.3/2K+bitcaskDynamo
kv型beansdbCdouban600+bitcask模型近2年没有更新,没有文档Dynamo
kv型project VoldmortJavaLinkedInNo.29/1.8K+BDB-JE,MySQL,Read-Only
kv型ScalriserlangZuse Institute BerlinNo.35/88
kv型aeospikeaespikeNo.7
kv型TairC/C++alibaba400+自研的fdb停止更新,没有文档
;