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 | |||
BoltDB | btree | Go | LMDB的go版本 | ||||
leveldb | LSM | c++ | No.15 | ||||
goleveldb | LSM | Go | leveldb的go版本 | 個人 | |||
levigo | LSM | Go | Go wrapper for LevelDB | 個人 | |||
rocksdb | LSM | c++,java | No.18 | ||||
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 | 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 | 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 | 停止更新,沒有文件 |
相關文章
- 一個全新的 kv 儲存引擎 — LotusDB儲存引擎
- 一種KV儲存的GC最佳化實踐GC
- 檔案系統儲存與oracle資料庫儲存對比Oracle資料庫
- Nebula Graph 的 KV 儲存分離原理和效能測評
- MySQL的鍵值儲存以及與MongoDB的對比MySqlMongoDB
- MySQL和Oracle對比之儲存過程MySqlOracle儲存過程
- 可靠的分散式KV儲存產品-ETCD-初見分散式
- 用 Go 語言造了一個全新的 kv 儲存引擎Go儲存引擎
- 200 行程式碼實現基於 Paxos 的 KV 儲存行程
- 分散式kv儲存系統之Etcd叢集分散式
- 編寫你的第一個 Java 版 Raft 分散式 KV 儲存JavaRaft分散式
- 如何基於MySQL及Redis搭建統一的KV儲存服務MySqlRedis
- MySQL 儲存過程引數IN OUT INOUT對比MySql儲存過程
- 小紅書自研KV儲存架構如何實現萬億量級儲存與跨雲多活架構
- 面向不同需求的物件儲存系統對比:Ceph與Swift物件Swift
- 資料儲存加密的主流方案對比與難點解析加密
- 微軟建立雲端儲存對比圖:SkyDrive是最強的微軟
- 位元組跳動極高可用 KV 儲存系統詳解
- MySQL三種InnoDB、MyISAM和MEMORY儲存引擎對比MySql儲存引擎
- 大資料儲存系統對比:Ceph VS Gluster大資料
- Python 和 c++/c/java 對於負數的儲存方式對比PythonC++Java
- 使用開源技術構建有贊分散式 KV 儲存服務分散式
- Kubernetes 幾種儲存方式效能對比 (轉載)
- 儲存技術對比:NVMe與SATA孰強孰弱?
- [ 丹臣]INNODB與ORACLE單行儲存長度對比Oracle
- mmap共享儲存對映(儲存I/O對映)系列詳解
- 儲存比展現更重要
- 滴滴從KV儲存到NewSQL實戰SQL
- 物件儲存服務與圖片伺服器的優缺點對比物件伺服器
- 儲存結構的種類與比較
- 深入瞭解瀏覽器儲存:對比Cookie、LocalStorage、sessionStorage與IndexedDB瀏覽器CookieSessionIndex
- 基於 SmartX 分散式儲存的 RDMA 與 TCP/IP 技術與效能對比分散式TCP
- 加大對儲存器國產化的投入
- 實現鍵值對儲存(二):以現有鍵值對儲存為模型模型
- Laravel Model查詢結果的3種儲存格式記憶體佔用對比Laravel記憶體
- 實現鍵值對儲存(三):Kyoto Cabinet和LevelDB的架構比較分析架構
- VMware 與 SmartX 分散式儲存快取機制淺析與效能對比分散式快取
- 【Qt】QVector對儲存資料的釋放QT