关于数据库:KeeWiDB兼容Redis协议领跑NoSQL

7次阅读

共计 2964 个字符,预计需要花费 8 分钟才能阅读完成。

如果当初的咱们来到了互联网,生存会是什么样子?

互联网 ++++,曾经粗浅渗透到人们的生存中。

不晓得大家有没有想过?每一个互联网 + 联合的背地都是海量的存储需要。你查看的每一个商品、组建的每一个战队、浏览的每一篇文章,基于互联网的每一个兴趣爱好,都有它的 key 和 value。

在 key-value 数据库畛域,Redis 因其高吞吐、低提早、丰盛的数据结构始终受开发者欢送,但 Redis 全内存计划无奈解决海量数据所带来的规模与老本问题,数据可靠性也面临挑战

目前业界也有很多基于磁盘的键值存储计划,比方 RocksDB、SSDB 等。这些存储引擎设计之初是为了施展磁盘的极致性能,很难在命中内存拜访的时候提供 Redis 级的吞吐;同时磁盘自身的提早远远高于内存,吞吐也是无限的。

讲道理,咱们的市场须要一款产品既要保障用户的极致体验,又要确保海量数据的高牢靠,还要尽可能低的老本。

怎么办呢?这里为大家介绍咱们的新敌人:KeeWiDB,它能够给开发者提供一个高牢靠、高效率、低成本的键值数据库解决方案。

KeeWiDB,什么来头?

KeeWiDB 是腾讯云数据库团队推出的新一代分布式 KV 存储数据库,兼容 Redis 协定和数据结构,上手门槛低(开发者狂喜)。

也就是说,Redis 有的它都有!它有的,就是它才有。那 KeeWiDB 有什么呢?

它能够,通过 WAL 机制反对数据的高速长久化,实现写入即存储;通过内存和长久内存提供热数据的极致读写性能,NVMe SSD 磁盘提供大容量、低成本的存储能力,实现数据的冷热分级,优化存储老本。

总的来说,KeeWiDB 领有前瞻的架构设计、行业当先的性能体现,可助力企业晋升生产效率、升高经营老本。

接下来开展说说什么是前瞻的架构设计。

图:KeeWiDB 总体架构图

proxy:兼容主从版、集群版客户端,客户端申请通过 proxy 实现智能路由和后果聚合;同时,proxy 还提供了流量管制和申请统计等性能。

集群设计:通过改良原生 Redis 的 gossip 计划,KeeWiDB 可无效升高在大集群场景下 gossip 自身的流量耗费。数据 sharding 则采纳 Redis 集群版策略,将所有 key 划分为 16384 个 slot,每个 shard 服务若干个 slot,key 通过 crc16(key) % 16384 来取得 slot,再依据 slot 信息路由到对应节点。

分级存储:创新性地提供内存(DRAM),长久内存(PMEM),固态硬盘(SSD)分级存储解决方案,依据数据拜访热度主动分级,将不同拜访密度的数据存储到不同老本的介质中,无效实现了性能和老本的均衡。

图:KeeWiDB 分级存储架构

在该架构中,DRAM 次要存储大量高速索引,如果查问操作间接命中高速索引,则能够间接定位到 value 的地位,最多仅须要一次 IO。

为了升高内存耗费,DRAM 层不存储 key,只存储 hashcode,这样可把 key 大小和索引容量解耦。举个例子,假如一个索引占用内存 hashcode(4) + posinfo(6),共计 10 个字节,100w key 索引仅须要占用 10MB 内存。

如果高速缓存未命中,则须要通过 PMEM 来做查找,PMEM 的读取速度还是比拟快的,假如依照 DRAM 100ns 计算, PMEM 可达到 1000ns。KeeWiDB 通过惯例的 clock-sweep 算法淘汰不常拜访的冷数据到 SSD,PMEM 保留的则是热数据,如果拜访的是 key 命中,性能将大幅晋升。

如果命中的是冷数据,则须要到磁盘(SSD)读取,得益于 SSD 的疾速倒退,也可实现高性能。目前 KeeWiDB 的设施上,单盘 4k 随机读取 iops 可达到 40w+,单盘 4k 随机写入也能够达到 15w+。因而理论应用中,特地是在次要读的场景下,即便 PMEM 和数据的比例达到 1:10,仍然能够取得不错的性能。

KeeWiDB,有多强?

写入即存储

KeeWiDB 采纳WAL(预写日志)长久机制,保障数据的原子性和持久性。日志内容会长久化到 PMEM 层,后盾进行数据异步落盘,在保证数据实时长久化的同时实现数据的高速、低提早写入。

极致性能

KeeWiDB 为 KV 场景定制了新一代存储引擎,大部分数据组织都是采纳 Hash 的存取形式,同时与长久内存(PMEM)耦合,单节点最大性能可达到 18 万写入、28 万读取,P99 提早小于 2ms,同时可程度重叠,性能线性晋升。

分级存储

基于内存(DRAM)+ 长久内存(PMEM)+NVMe SSD 磁盘搭建分级存储架构,由长久内存(PMEM)缓存拜访热数据,磁盘(SSD)存储全量数据,长久内存和磁盘的容量可灵便配置。同时 反对数据的冷热拆散、主动升热降冷。无需在业务中解决缓存和存储的替换逻辑,可大幅提高版本迭代效率。

大容量低成本

KeeWiDB 的原生分布式架构能够提供 单实例百 TB 级规模;通过长久内存(PMEM)和磁盘(SSD)提供更加灵便的存储形式,在满足业务性能要求的同时提供低成本计划。

智能运维

通过智能 proxy 和引擎层的多路采集,KeeWiDB 提供丰盛的性能、时延、网络、容量、命中率等监控指标,帮忙用户提前预警危险,疾速定位和解决问题

KeeWiDB,怎么用?

电商场景

电商类利用通常领有海量的商品数据,应用 KeeWiDB 能够轻松冲破内存容量限度,并且大幅升高业务老本。在失常业务申请中,沉闷的商品数据会从长久内存中读取,而不沉闷的商品数据将从磁盘读取。KeeWiDB 新一代存储引擎带来更强劲的读取能力,单节点最大反对 28W + QPS、P99 提早小于 2ms,轻松应答百万申请。在电商流动期间,可通过缓存资源的无损扩缩容,疾速撑持陡增的性能需求。

游戏全服务

游戏业务包含登陆服务、匹配服务、组队服务、战队服务、社交服务等,须要存储不同的数据结构,比方 Hash 存储玩家信息、Zset 存储排行榜。KeeWiDB 兼容 Redis 的数据结构,对开发者十分敌对,同时可将在线沉闷的玩家数据继续缓存,未登录的玩家数据落冷至磁盘,玩家上线后数据主动缓存,从而 大幅降低成本 ,保障热数据的极致性能,无需在业务侧解决缓存和存储替换的逻辑,可 极大晋升开发效率

新闻 / 内容平台

随着业务经营工夫越来越长,内容数据在业务稳固后会有线性的增长,而客户拜访的内容以近期、热点数据为主,所以热数据的容量比较稳定,冷数据会一直增大。KeeWiDB 可替换相似 Redis + MySQL 的缓存加存储计划,一体化的缓存 + 存储架构设计,解决缓存一致性问题的同时,晋升业务开发效率,升高存储老本。

画像 / 举荐业务

以后互联网公司的外围资产是用户,基于用户行为的画像和举荐零碎也成为互联网的基础设施,画像、特色、embedding 给企业带来了海量的 KV 存储需要,申请以点读和批量导入为主。KeeWiDB 通过冷热分级存储提供大容量、低成本的 KV 存储能力;通过命令级长久化,实现高速写入,缩短批量导入的窗口工夫;通过分布式架构,可能提供百 TB 的存储规模。

也说了不少了,大家应该对新敌人 KeeWiDB 有了肯定的意识。

想具体理解 KeeWiDB 的高性能之路?且听下回分解。

腾讯云数据库始终致力于非关系型数据库产品的研发和投入,目前曾经涵盖了包含缓存、文档、时序、KV 在内的七款数据库产品,并且在继续丰盛数据库服务的品种。目前,腾讯云 NoSQL 数据库服务了金融、电商、游戏、视频等数十个行业利用场景。

正文完
 0