KV存储的对比

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Redis 版,经济版 1GB 1个月
简介: 最近对各种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 停止更新,没有文档
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
11月前
|
存储 XML NoSQL
KV 存储那些事儿
开发中,我们总会需要存储些 KV 数据,虽然看上去简单,但考虑因素也是很多的,实现手段也就各有差异。今天,我们就来看看 Android 目前有哪些 KV 库可以供我们使用,以及其有哪些优缺点。
281 0
|
7月前
|
存储 网络协议 NoSQL
从零实现kv存储V1.0:array初版
从零实现kv存储V1.0:array初版
41 1
|
7月前
|
存储 测试技术
从零实现kv存储V2.0
从零实现kv存储V2.0
114 1
|
11月前
|
存储 NoSQL Java
从Redis源码上来聊聊KV模型-Hash数据类型
>之前就说了要来西索Redis,现在来辣! >本文的部分内容参考自《小林Coding》,部分地方根据源代码进行剖析。 >Redis源码地址:https://github.com/redis/redis.git >阅读本文之前建议先阅读我的上一篇文章:[神奇,Redis存储原理竟然是这样! – Karos (wzl.fyi)](https://www.wzl.fyi/2023/07/20/986/)
144 3
从Redis源码上来聊聊KV模型-Hash数据类型
|
10月前
|
存储 缓存 固态存储
一文看懂存储
一文看懂存储
211 1
|
11月前
|
存储 SQL NoSQL
存储的未来
存储的未来
95 1
|
10月前
|
存储 应用服务中间件 nginx
k8s--数据存储、EmptyDir存储
k8s--数据存储、EmptyDir存储
|
存储 算法
实现分布式 kv—1 Standalone KV
TinyKV 是 PingCAP 的一个开源课程:https://github.com/tidb-incubator/tinykv,旨在实现一个简易的分布式 kv,其中很多代码框架它已经提供了,我们只需要填充具体的逻辑即可。
376 0
|
存储 编解码 NoSQL
Redis与KV存储(RocksDB)融合之编码方式
Redis与KV存储的融合可以在性能可接受的情况下以Redis协议提供巨量数据的存储服务。本文以ArDB为例介绍了Redis与KV存储(RocksDB)融合之编码方式。
10871 0