KV存儲的對比

最近對各種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 OpenLDAP
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

類型 名稱 存儲引擎 語言 出品 主從複製 應用/dbengine排名/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 停止更新,沒有文檔
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章