通用Key-Value存储系统的存储管理策略解析
比方当前开源最热门的Memcached和Redis;淘宝的Tair、腾讯的Cmem、
Amazon的Dynamo等等,不管是做缓存还是持久存储,均使用内存作为主要存储介质,故内存管理策略就显得尤为重要了,是影响性能的重要因素。
2 Slab页:固定大小的内存块(页),申请内存的基本单位,默觉得1MB,每一个SlabClass会把申请的Slab切分成同样大小Chunk来存数据
生成的SlabClass例如以下所看到的(perslab值为每一个
Slab页能切割出的Chunk个数):
确定这个
SlabClass有无空暇的Chunk块,没有的话则先给这个SlabClass申请一个Slab页,将该Slab页按本SlabClass的Chunk块大小进行分割,然后分配1个来存放用户数据。
(这里还有LRU算法淘汰旧数据的逻辑。就不放在这里分析)。
- 实现较复杂
- 參数的选择(最小数据尺寸,增长因子)直接影响性能及内存利用率
- 每一个数据存放于1个Chunk块。读写简单
- 简单易实现,不易出错
- 内存的利用率高
- 大量系统调用开销大
- 导致内存碎片。加重操作系统内存管理器负担
- 实现较复杂
- 代码不健壮有写乱Shm块链的风险
- Shm数据块大小的选择直接影响性能及内存利用率
- 用户数据块链组织成用户数据需多一次拷贝影响性能
* 开足够大的Shm(400MB)保证能存下全部数据
须要在这2着间取个平衡点
版权声明:本文博客原创文章,博客,未经同意,不得转载。
通用Key-Value存储系统的存储管理策略解析相关推荐
- 头豹研究院发布《2022年中国数据库产品策略解析报告》
本文援引于报告<2022年中国数据库产品策略解析报告>,首发于头豹科技创新网(www.leadleo.com).云和恩墨 MogDB 数据库及其在某城商行的实践案例入选该报告,为有采购和应 ...
- 数据分区与放置策略解析_数据策略好数据与坏数据
数据分区与放置策略解析 In 1990 the Virginia based bank "Signet Bank" decided to trust two smart peopl ...
- Redis[5] key的过期时间删除策略、实现lru算法、持久化配置
文章目录 Redis[5] key的过期时间删除策略.持久化配置 **Redis6的key过期时间删除策略** Redis服务器实际使用的是惰性删除和定期删除两种策略:通过配合使用这两种删除策略,服务 ...
- Shopee关键词广告投放策略解析-马六甲erp
Shopee关键词广告投放指的是给商品设置的关键词和买家搜索输入的词相匹配而达到一致,当用户搜索到卖家所设定的关键词时,广告商品会优先显示在产品列表内.卖家入驻新平台,难免会接触到广告投放,尤其是新 ...
- Json中key为数字动态格式怎么解析
JSON数据就是一段字符串而已,只不过有不同意义的分隔符将其分割开来而已,我们看上面的符号,里面有[] ,{}等符号,其中 1 []中括号代表的是一个数组: 2 {}大括号代表的是一个对象 3 双引号 ...
- 商品cta策略_CTA策略解析
CTA策略解析 西方有句名谚:"不要把鸡蛋放在同一个篮子里",用在投资中,特别是量化投资领域,就是投资要分散,将资产合理地配置在不同的资产类中.提起资产类别,除了股票.债券.现金这 ...
- 跨境电商亚马逊2022年亚马逊店铺策略解析(一)
这又到了一年年底了,反正每年到了年底,不管是已经入行的还是准备入行的,都会谈论下一年注册的难易程度,或者是讨论下一年,亚马逊的这个政策的扶持方向,看自己能不能享受一波平台的扶持和福利. 今年上半年反正 ...
- left join 多条件_第九篇|Spark的五种JOIN策略解析
JOIN操作是非常常见的数据处理操作,Spark作为一个统一的大数据处理引擎,提供了非常丰富的JOIN场景.本文分享将介绍Spark所提供的5种JOIN策略,希望对你有所帮助.本文主要包括以下内容: ...
- 【Kubernetes】 多云管理策略解析
文章目录 Kubernetes 多云的实现 1. 前言 1.1 Kubernetes 多云的现实需求 2. Kubernetes 多云的架构设计 2.1 跨云 Kubernetes 的挑战 2.1.1 ...
最新文章
- c1 c2在c语言中,c1和c2科目一样吗
- 按计算机的地位划分计算机网络可分为,2010年全国自考计算机网络基本原理模拟试卷(三)及答案...
- WebMagic实现分布式抓取以及断点抓取
- 用存储过程创建的分页
- java实现系统多级文件夹复制
- luogu P1519 穿越栅栏 Overfencing
- jmeter web监听结果_Jmeter性能测试
- mysql 1045错误ODBC_MySQL ERROR 1045 (28000) 错误的解决办法
- 次债危机:全世界陪着美国等死
- 【pytorch】pytorch-LSTM
- 杂记 什么是ABC记谱法
- spdy_buffer
- pid温度控制算法c语言程序,温度控制的PID算法的C语言程序
- 风力摆控制系统赛题分析
- 旅游B2B2C系统解决方案
- 腾讯面试题, 2020年,让我们愉快的赛一次马!
- uniapp自定义导航栏,手机顶部通知栏字体颜色修改
- 高通骁龙665能不能升级鸿蒙系统,高通骁龙665性能好不好 高通骁龙665性能测试...
- 扫雷• 规则: (1)随机产生 8*8 的雷分布图;• (2)用户“y”表示游戏,“q”退出游戏;• (3)让用户输入行列号,用键盘“m”标雷,“k”打开;• (4)打开区域为雷或者全部区
- DecimalFormat format 方法的使用