继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

[转]KV存储的对比

拉丁的传说
关注TA
已关注
手记 448
粉丝 126
获赞 788

本文转自饿了么的高级架构师陈东明(cadem)发布于云栖社区的文章: KV存储的对比。作者还整理了另外一篇文章: 存储系统的分类,列举了常见的一些kv存储模型和实现。

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

存储引擎的类型

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

存储引擎

Welcome to Oschina Tools website

类型名称语言备注应用在___dbengine排名出品
berkeleyDBBTREE, HASH, QUEUE, RECNOC,Java

No.9oracle
Wiredtigerbtree, LSMC
mongodbNo.24WiredTiger/mongodb
Tokyo Cabinet /Kyoto Cabinetb+tree,hash table

nmdb,Kyoto TycoonNO.27/No.36FAL Labs
LMDBbtreeC
OpenLDAP
symas
BoltDBbtreeGoLMDB的go版本


leveldbLSMc++

No.15google
goleveldbLSMGoleveldb的go版本

个人
levigoLSMGoGo wrapper for LevelDB

个人
rocksdbLSMc++,java

No.18facebook
gorocksdbLSMGoGo wrapper for RocksDB

个人
mongo-rocksLSMC++
RocksDB Storage Engine Module for MongoDB
mongo partner
bitcastLSHC
beansdb,riak
basho
PerconaFTFractalTreeC++Mysql存储引擎之TokuDBpercona


单机kvstore

类型名称采用的存储引擎语言出品主从复制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++个人ideawu
92
结构化kv(redis兼容)ardbLevelDB, RocksDB, LMDB, WiredTigerC++个人yinqiwenyes800+
结构化kv(redis兼容)(reborndb)qdbRocksdb and LevelDBGo个人ngaut
200+
结构化kv(redis兼容)PikaRocksdbCQihoo360yes900+
结构化kv(redis兼容)LedisDBLevelDB, goleveldb, LMDB, RocksDB, BoltDB or MemoryGo个人SiddonTang
2K+

单机kvstore的分布式代理

名称语言存储出品应用/githubstar分片弹性备注
ReborndbGoqdb个人ngaut200+yesyes
Netflix DynomiteCredis,memcachedNetflix1.9K+

Dynamo
CodisGocodis-server(定制redis)社区CodisLabs5K+


TwenproxyCredis,memcachedtwitter6K+


分布式KVstore

类型名称语言出品dbengine排名/githubstar存储引擎社区活跃特性备注
kv型riakerlangbashoNo.3/2K+bitcask

Dynamo
kv型beansdbCdouban600+bitcask模型近2年没有更新,没有文档
Dynamo
kv型project VoldmortJavaLinkedInNo.29/1.8K+BDB-JE,MySQL,Read-Only


kv型ScalriserlangZuse Institute BerlinNo.35/88



kv型aeospike
aespikeNo.7



kv型TairC/C++alibaba400+自研的fdb停止更新,没有文档

鸟窝补充

原文中没有提到的,在这里添加上作为补充。

  • tidb: 国产的分布式NewSQL产品,底层采用tikv, 支持MySQL协议, PingCap出品。

  • badger: 性能优异,特别为SSD优化,仅仅key存储在LSM tree中。


打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP