KV存储的对比

简介: 最近对各种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 停止更新,没有文档
目录
相关文章
|
Rust 算法 数据安全/隐私保护
【密码学】一文读懂XTEA加密
本篇文章,我们来看一下上一次讲过的TEA加密算法的一个升级版XTEA, 相比于TEA, XTEA的安全性显然是更高的,其中的过程要比TEA稍微复杂一点点。
1671 0
【密码学】一文读懂XTEA加密
|
8月前
|
传感器 人工智能 物联网
HarmonyOS NEXT~鸿蒙操作系统功耗优化特性深度解析
本文深入解析了华为鸿蒙(HarmonyOS)操作系统的功耗优化特性,涵盖低功耗设计原理、核心技术及实际应用效果。通过与Android对比,展现其在待机功耗、CPU调度效率和内存占用上的优势。文章重点阐述分布式任务调度、微内核架构及智能感知技术,并针对智能穿戴、物联网和智能手机等场景优化进行分析,同时为开发者提供优化建议。未来,鸿蒙将探索AI预测性管理等新技术,进一步提升能效表现。
2106 30
|
4月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
机器学习/深度学习 自然语言处理 搜索推荐
承上启下:基于全域漏斗分析的主搜深度统一粗排
两阶段排序(粗排-精排)一开始是因系统性能问题提出的排序框架,因此长期以来粗排的定位一直是精排的退化版本,业内的粗排的优化方向也是持续逼近精排。我们提出以全域成交的hitrate为目标的全新指标,重新审视了召回、粗排和精排的关系,指出了全新的优化方向
94313 3
|
存储 安全 测试技术
了解如何 在C++17 中实现 无锁数据结构
了解如何 在C++17 中实现 无锁数据结构
578 0
|
Linux Python Windows
Python中time和datetime模块详解
Python中time和datetime模块详解
330 3
|
监控 负载均衡 网络协议
Nginx神奇的499竟然不在HTTP响应码标准内?快来了解一下!
Nginx神奇的499竟然不在HTTP响应码标准内?快来了解一下!
506 0
|
Cloud Native Java 编译器
Spring之提前编译:AOT
【1月更文挑战第18天】 一、AOT概述 1、JIT与AOT的区别 2、Graalvm 3、Native Image 二、演示Native Image构建过程 1、GraalVM安装 (1)下载GraalVM (2)配置环境变量 (3)安装native-image插件 2、安装C++的编译环境 (1)下载Visual Studio安装软件 (2)安装Visual Studio (3)添加Visual Studio环境变量 (4)打开工具,在工具中操作 3、编写代码,构建Native Image (1)编写Java代码 (2)复制文件到目录,执行编译 (3)Native Image 进行构建
373 2
抓包神器wireshark安装保姆级教程
本文介绍了网络抓包工具Wireshark的安装和基础使用方法。首先,从官网下载适合操作系统的安装包,然后以管理员权限运行并按照向导进行安装。安装过程中包括同意协议、选择安装路径,以及安装NPcap和USBPcap。安装完成后,启动Wireshark进行简单抓包,选择要捕获的网卡,开始抓包。通过设置过滤条件,能过滤数据包以便分析。本文旨在帮助用户初步了解和使用Wireshark。
|
SQL 存储 消息中间件
快手基于 Apache Flink 的实时数仓建设实践
快手实时数据开发工程师冯立,快手实时数据开发工程师羊艺超,在 Flink Forward Asia 2022 实时湖仓专场的分享。
快手基于 Apache Flink 的实时数仓建设实践