下载啦编程开发

分类分类

Kvrocks(键值数据库)

Kvrocks(键值数据库)

v2.0.6官方版

大小:118.7 MB更新:2022/02/15

类别:数据库类系统:WinXP, Win7, Win8, Win10

立即下载
  • Kvrocks(键值数据库)(1)

Kvrocks是一个基于rocksdb的开放源码密钥库,与Redis协议兼容。与Redis相比,它的目的是降低内存成本,提高容量。复制和存储的设计灵感来自RockSplitor和BlackWidt。

Kvrocks(键值数据库) v2.0.6官方版

软件功能

1、Redis协议,用户可以使用Redis客户端来访问Kvrocks。

2、命名空间,类似于Redis数据库,但每个命名空间使用token

3、复制,像MySQL一样使用binlog进行异步复制

4、高可用性,支持redis哨兵在主站或从站发生故障时进行故障转移。

常见问题

Kvrocks 是如何进行数据复制?

Kvocks 的定位是作为大数据量场景下 Redis 的替代方案,提供与 Redis 一样的数据最终一致性保证,采用了类似 Redis 的主从异步复制模型。考虑到需要应对更多的业务场景,后续会支持半同步复制模型。在实现上,全量复制利用 RocksDB 的 CheckPoint 特性,增量复制采用直接发送 WAL 的方式,从库接收到 WAL 直接操作后端引擎。相比于 Binlog 复制方式(回放从客户端接收到的命令),省去了命令解析和处理的开销,复制速度大幅提升,这样也就解决了其它采用 Binlog 复制方式的存储服务所存在的复制延迟问题。

Kvrocks 是如何实现分布式集群?

业界常用 Redis 集群方案主要有两类:类似 Codis 中心化的集群架构和社区 Redis Cluster 去中心化的集群架构。Kvrocks 集群方案选择了类似 Codis 中心化的架构,集群元数据存储在配置中心,但不依赖代理层,配置中心为存储节点推送元数据,对外提供 Redis Cluster 集群协议支持,对于使用 Redis Cluster SDK 或者 Proxy 的用户不需要做任何修改。同时也可以避免类似 Redis Cluster 受限于 Gossip 通信的开销而导致集群规模不能太大的问题。另外,单机版的 Kvrocks 和 Redis 一样可以直接支持 Twmeproxy,通过 Sentinel 实现高可用,对于 Codis 通过简单的适配也能够比较快的支持。目前集群方案处在测试阶段,预计 7 月份发布,待正式发布后会给大家详细介绍,这里不过多展开。

对于分布式集群来说,弹性伸缩的能力是必不可少的,Kvrocks 是如何实现弹性伸缩的?

整个扩缩容拆分为迁移全量数据、迁移增量数据、变更拓扑三个阶段。迁移全量数据利用 RocksDB 的 Snapshot 特性,生成 Snapshot 迭代数据发送到目标节点。同时,为了加快迭代效率数据编码上 Key 增加 SlotID 前缀。迁移增量数据阶段直接发送 WAL。当待迁移的增量 WAL 小于设定的阈值则开始阻写,等发送完剩余的 WAL 切换拓扑之后解除阻写,这个过程通常是毫秒级的。

精品推荐
同类推荐
      相关下载
      说两句网友评论
        我要跟贴
        取消
        推荐专题