我设计了个【方案】:比redis好10倍的kv库【一统kv】

2023-05-04 14:53:50 博客园

我设计的redis9.0方案:redis自带中间件

基于ssd磁盘,此我设计了比redis更好的缓存方案。此方案:没有缓存击穿问题。没有缓存雪崩问题。没有缓存污染问题。没有热key问题。不需要snap和aof。支持任何sql库,sql库不需要带有任何分布式功能。

基于ssd磁盘,此我设计了比redis更好的缓存方案:在ssd上增加key的lru信息。从ssd到网络存储,到sql。


(资料图)

redis 好10倍 一统kv 1.0 博客园2023-0503,这个方案目前是1.0,方案会持续修补更新,版本号也会变。

世界上为什么没有这种3级数据库?

cpu3级缓存,大家都知道吧。cpu3级缓存的作用,大家都知道吧。就是分冷热数据,冷数据淘汰。

那么为什么世界上,没有一种【3级,冷热数据自动分层,数据库】?

--------【1级=内存级。lru队列。】--------

内存级。lru队列。队列有容量限制。存储redis兼容的数据类型。队列中的每个键值,都有一个热度值。客户端来读,已有数据:已有数据直接返回。客户端来读,但本级无数据:绝不会去读下级队列,而是返回本级没有数据。解决缓存污染问题。

整理队列:只在没有客户端读请求时做。超出lru队列的冷数据:放入写队列。写后移除。当内存空余超过多少mb时,读下级队列中,最热的100条数据。把下级热度值一并读取。

内存中,永远只有最热的key。不支持客户端,把key写入内存。

内存中的某些key,有个属性,此属性阻止key写入到ssd磁盘。这样的key断电将丢失。

--------【2级=ssd磁盘级。】--------

直读请求:1本级已有数据,返回数据,不写入上级队列。支持限制并发数。2本级无数据:则放入读取下级队列。定时从下级读取。比如每隔2秒。读取每个数据时,相邻的16k数据一同读取。返回数据,不写入上级队列。支持对客户端ip,限制并发数。比如,建立一个以客户端ip为key。ip{k1=v1; k2=v2}把已经向下级查找,但未返回的数据,写入到这个key中。给这个key设置警告容量=50,最大容量=100。则超过100,返回:太频繁的查询。支持对一批客户端ip,设定限制警告,最大并发数。

写请求:维护一个很小的缓冲区,基本每秒写入。

整理队列:lru队列:队列有容量限制。队列中的每个键值,都有一个热度值。超出lru队列的冷数据:放入写队列。定时写入下级,写后移除。几乎必须要有这个功能:从kv到非kv,比如到sql,到存储。定时计算出本级最热的100个key,算出几个,以供上级读取。

1级2级lru之间,有一个边缘。这个边缘记录在一个变量中。临近此边缘的数据,会被频繁移出,移入。有一个设定值:上级写下来的冷数据:标记为最冷-2。上级写下来的冷数据:标记为最热-100。

ssd中的某些key,有个属性,此属性阻止key写入到下级存储。这样的key断电不会丢失。但迁移时会被丢弃,导致丢失。

通过半夜运行的统计功能插件,实现热key分门别类统计,为数据分片,分集群提供建议。提供一个管理员命令,手动变更key的热度。

还可以在这个中间件中实现:1对后端3级库分库分表。2对后端3级库读写分离。3对后端3级库:从未分库分表,到分库分表,读写分离转换。4对后端3级库:从1种分库分表,读写分离,转换到另一种分库分表,读写分离的转换。5分布式cap,做在此中间件上。不需要后端数据库,带有任何分布式功能。不需要后端数据库,带有主从功能。

问:不需要后端数据库,带有任何分布式功能。为什么?问:它用什么实现的cap?答:中间件自己,通过客户端2步提交,实现了对数据库的cap。2步提交是一种传统cap的手艺,并不神奇。

6这种库(你叫中间件也可以),支持多种后端nosql,sql库。只需要,用各种语言开发插件即可。7* 功能以脚本为接口,采用插件的方式。* 支持各种语言编写的插件。* 插件运行后是独立进程。支持各种数据库的客户端。* 热变更。没有停服的概念。随时启动,停止所有功能。

集群:通过一个标签,如ip,或域名,或项目名,来标识集群peer,最终写入文件名。对于集群,提供如下管理功能:1 收。把ssd上的信息,丢弃掉不需要保存的后,从每个集群peer,按照项目备份。2 放。把备份的恢复到ssd上。3 整理热key。根据key的热度,在每个peer上平均key。通过这一点,可以达到热key永远平均分布在每个peer。经过热key重新分布后,在每个peer上的键值对,和项目无法一一对应。即节点1上,有项目125的热key。

--------【3级=网络存储。】--------

不分冷热,存有所有数据。

--------【3级=任意sql,nosql数据库。数据库不需要带cap,数据库不需要带主从。】--------

不分冷热,存有所有数据。与上述3互斥。

--------【此数据库的特性:】--------

1必须有2级存储。即必须使用ssd。

2程序永远只操作redis的kv对象,不关心是否有sql。后端库sql库不关心kv功能。因为所有的活,都被这个库中的2级缓存中的,中间件干了。

3对于一个冷读取,至少需要等待3秒:即从3级库hdd磁盘到2级磁盘等2秒,从2级磁盘到1级ssd等1秒。

4对于每个写请求:可选写入:4-1内存表示写入成功,4-2写入ssd表示写入成功,4-3写入hdd磁盘表示成功,4-4写入分布式库表示成功。4-1会丢数据。丢数据情况为:断电,进程死机,数据被列入队列抛弃。234不会。这其中,最不重要的数据写入4-1,其次大多数写入4-2,剩下所有重要的数据写入4-4。从4-2,到4-3,或到4-4,只能管理员手动操作。给管理员提供一个命令即可。

5不需要redis的snap,和aof,落盘功能。因为上述234保证了数据安全。

ssd2级磁盘,相当于redis的snap。hdd3级磁盘,相当于redis的snap的snap。但又不是单纯的snap。这里面有很多种玩法。

5-1 hsnap比ssnap更大。是数据库,这样就不需要任何sql数据库,nosql库。5-2 hsnap文件的大小,格式,都可以自定义。5-3 hsnap可以带上域名,服务器ip。这样就成了分布式缓存。如此一来只需要网络上的2个副本,redis3主3从集群也没必要了。

6redis只是缓存,不能当库用。redis不存冷数据,但这个库可以。redis存储空间有限,但这个库可以看做空间无限。

6没有缓存击穿问题。没有缓存雪崩问题。没有缓存污染问题。没有热key问题。

--------【结论】--------

内存缓存 ---> ssd硬盘 ---> 网络存储上的文件内存缓存 ---> ssd硬盘 ---> nosql,sql数据库 <--- 数据分析工具

问:为什么说redis集群没必要了?为什么说redis集群错了?

答:

网络磁盘分为:【单台】,【冗余】。对于自带冗余的网络磁盘,我们只需要简单的写入1台即可。这里我们只谈:【单台】。单台需要从ssd读取,写入到所有2台【单台】网络磁盘。这里采用2步提交即可。对于从【ssd】到【nosql,sql数据库】也是采用2步提交。也就是说redis的集群,维持心跳,都没必要。我再说明白点:1客户端给ab提交,带着uuid,和写入时间,只要成功写入其中1台ssd即可。2读的时候,任意1台客户机读成功即可。

redis集群特色:每个集群节点,只有部分数据。通过分插槽的方法,尽量平均读写压力。

本架构集群特色:

集群服务器不需要选主。没有raft。不需要3,5节点。支持1-4节点。

每个节点【最多】只需要2台网络副本,简称网络raid1。不分主,从。基于2级磁盘ssd,可以人为手动,或配置文件自动,分库,分表,合库,合表。继而实现:分节点,合节点。

集群客户端:

每个集群节点内存中,内有个key,含有所有集群的节点的ip,端口,版本。此key永远存在内存中。客户端来读,非本集群的key,返回错误。客户端来写,非本集群的key,返回错误。或者说从客户端,选择返回数据的服务器。即,假如客户端不知道某key所在的节点,客户端首次读写某key,需要遍历所有服务器。得到某个key所在的服务器后,会把本key的服务器ip,端口,写在本地。也就是说,客户端维持每个key的服务器属性。这个属性,保存到磁盘上。当服务器上的key,迁移到其他服务器后,不会通知客户端,只会返回错误。此时,客户端将从新遍历服务器,以查找key的所在。

假设集群有10个节点,那么客户端最多读10次,才能读到key值。为了给这个操作提速,可以增加一个【key索引服务器】。【key索引服务器】也是一个内存kv库。它频繁从10个节点上的ssd中,读key,然后建立索引。有了【key索引服务器】,客户端只需要2次,即可读到key值:1读key索引服务器,返回此key所在的peer的ip,记录在本地。2从peer的ip,读取值。很显然,集群节点少的情况,不需要【key索引服务器】。

问:为什么说redis的snap错了?

答:客户端进来的数据,直接写入ssd,相当于aof。因为本架构不需要snap。本架构没有snap过程。在本架构中,1级缓存写入数据到ssd,必须经过lru。分buffer,分时段,写入。这个过程最多耗时1-2秒。即分片写入。而进程重启后,从下级ssd缓存读取,也只选择ssd盘上lru队列中的topn条数据,塞满内存缓存的95%即可。或者说redis的缺点是:snap保存到磁盘时,丢失了lru队列信息。

--------【关于名字】--------

中文名字:一统kv英文名字:kvAIO

这个数据库架构,我看不但能够一统kv,还能一统db。

标签:

相关文章

我设计了个【方案】:比redis好10倍的kv库【一统kv】

基于ssd磁盘,此我设计了比redis更好的缓存方案。此方案:没有缓存击穿问题。没有缓存雪崩问题。没有缓存污

2023-05-04

天风证券:给予四川双马买入评级

天风证券股份有限公司鲍荣富,周颖婕近期对四川双马进行研究并发布了研究报告《2022&1Q23点评:Carry或逐步

2023-05-04

伦敦艺术大学丨天麟ICA 五月创意艺术课程&体验工作坊

伦敦艺术大学|天麟ICA(天麟海外艺术创意启发中心)推出系列创意艺术体验课程后,同学们踊跃报名,积极参与

2023-05-04

古田有什么好玩的景区_古田有什么好玩的地方 每日精选

想必现在有很多小伙伴对于古田有什么好玩的地方方面的知识都比较想要了解,那么今天小好小编就为大家收集了

2023-05-04

天天观察:香蕉皮的功效与作用_下次记得别扔掉

1 淡化黑眼圈:剪成眼膜的形状,贴在眼前,可以有效淡化黑眼圈。能稳定血清素和褪黑素,还能有效防止皮肤下

2023-05-04

每日热点:软实力担当、“朋友圈”扩大|古蔺文旅“出圈”跑出加速度

文化是旅游的灵魂,旅游是文化的载体,文旅融合打造“诗和远方”栖息地,是88万蔺州儿女的共同心愿。4月...

2023-05-04

东方证券:给予海通证券增持评级,目标价位11.87元

东方证券股份有限公司孙嘉赓近期对海通证券进行研究并发布了研究报告《海通证券1Q2023业绩点评:自营大幅扭

2023-05-04

世界观热点:初中生考不上高中可以上哪些学校 有什么出路

初中生考不上高中,首选的出路就是复读,如果成绩不好或不想复读也可以选择上职业技术类学校,学习一门技术

2023-05-04

【环球新要闻】天风证券:给予中国中铁买入评级,目标价位11.43元

天风证券股份有限公司鲍荣富,武慧东近期对中国中铁进行研究并发布了研究报告《收入利润平稳增长,现金流延

2023-05-04

今热点:68岁李琦无戏可拍卖烧烤,公园旁忙活生意好,赤膊上阵皮肤被烤红

5月4日,有网友偶遇了老艺术家李琦。自从隐退后,他无戏可怕专注生活,没想到却被网友偶遇了在外摆摊售卖烤

2023-05-04

三支一扶考什么内容_考完三支一扶的哭了

1、在线查询登录报名网站,查询自己的报考信息,如果审核状态栏中显示的是审核成功,那就是报名成功了!毕

2023-05-04

“插队母女”被曝已抑郁,准备起诉网友

五一小长假即将结束,很多人体会到了从“辛苦工作”到“辛苦游玩”的变化,但四川这对“插队母女”却体...

2023-05-04

瀑布线使用技巧_瀑布线 快看

1、瀑布线原理:均线类指标用法:  瀑布线是趋势性指标,因其在运行的过程中,形态与瀑布极其相似,故得

2023-05-04

怎么解冻qq号不要验证_怎么解冻qq号

你们好,最近小未来发现有诸多的小伙伴们对于怎么解冻qq号不要验证,怎么解冻qq号这个问题都颇为感兴趣的,

2023-05-04

澳大利亚矿商Newcrest(NCMGF.US)董事会支持纽曼矿业(NEM.US)195亿美元收购要约

指股网获悉,澳大利亚矿业公司wcrtiigLtd (CGF U)临时首席执行官hrryDuh表示,公司董事会准备向其股东推荐

2023-05-04

理想再次夺冠 4月新势力销量排行榜

从4月的新势力销量排名来看,理想一骑绝尘,遥遥领先;紧随其后的是哪吒和腾势,销量也纷纷过万;今年曾出

2023-05-04

武汉白癜风去那里治疗好?如何正确处理面部白癜风?_环球看热讯

  武汉白癜风去那里治疗好?如何正确处理面部白癜风?近年来,患白癜风的人数非常高。它一直在上升,没有下

2023-05-04

热点在线丨戏剧迷,走!阿拉去上海的公园里看“莎士比亚”

“一江一河”今年新增“一带”——环城生态公园带,凸显了上海打造公园城市的目标;而“一带”中首个高...

2023-05-04

深圳退休人员拿到养老金核定单后,要关注这6个数据~ 全球头条

深圳退休人员拿到养老金核定单后,要关注这6个数据~社保网小编为您整理了以下最新资讯供您参考。当我们拿

2023-05-04

今日热搜:金隅集团“名优特新”惊艳亮相“京企直卖·国企消费季”活动

4月29日,由北京市国资委、北京市商务局、石景山区人民政府主办的2023“京企直卖——国企消费季”活动在...

2023-05-04

老白干酒董秘回复: 请关注公司已披露的2023年第一季度经营数据公告

老白干酒(600559)05月04日在投资者关系平台上答复了投资者关心的问题。

2023-05-04

焦点速递!三菱“神车”卖不动了,退出中国市场已成必然?

在中国车市,可有可无就意味着放弃

2023-05-04

【世界快播报】西青区“五一”假期接待游客超百万人次

“五一”假期,凭借着郊野公园、夜市等今年流行的文旅元素,西青区接待游客超百万人次。

2023-05-04

环球观速讯丨美联储宣布加息25个基点

当地时间3号,美国联邦储备委员会宣布,将联邦基金利率目标区间上调25个基点,到5%至5 25%之间。这是美联

2023-05-04

2023年贵阳5.20结婚网上预约入口(官网)

预约入口:点击进入婚姻登记办理材料:【一般材料】1 本人常住户口簿、居民身份证。2 本人无配偶以及与对方

2023-05-04

当前速讯:oda是什么意思啊_oda是什么意思

1、oda支付是一种全新的支付技术。持卡人无需预先充值,就可以直接“滴”卡快速过闸。乘客可使用带有银...

2023-05-04

全球快看:多国专家谈人工智能与人类劳动 AI智能行业市场深度分析20233

AI智能行业市场多大?随着聊天机器人ChatGPT火爆全球,人工智能这个诞生于1956年达特茅斯会议上的概念,历经

2023-05-04

曝周海媚长期被骚扰,怕被乱摸不敢上厕所,TVB戏骨曾为其揍色狼

有时候美貌是一种天生的优势,但有时候也会成为负担。女明星在舞台上光鲜亮丽,受到众人追捧,私下却可能会

2023-05-04

小米13Ultra 1TB白色16GB+1TB版本今天开售:首发7299元|资讯推荐

5月4日消息,小米官方今日宣布,小米13Ultra白色16GB+1TB版本今天开售,首发价7299元。小米13Ultra共提供橄

2023-05-04

溧阳南山竹海游(上)

南山竹海位于溧阳南部山区,属天目山余脉,处苏浙皖三省交界之地,景区竹海壮阔,静湖澄澈,山水相映,风光

2023-05-04

最新发布
精彩图文
精彩推送

Copyright ©  2015-2022 国华娱乐网版权所有  备案号:京ICP备2021034106号-22   联系邮箱:55 16 53 8 @qq.com