谁说Redis数据必须全部存储到内存?Redis混合存储实例看过来! - 知乎

简介: Redis 混合存储实例是阿里云自主研发的兼容Redis协议和特性的云数据库产品,混合存储实例突破 Redis 数据必须全部存储到内存的限制,使用磁盘存储全量数据,并将热数据缓存到内存,实现访问性能与存储成本的完美平衡。

Redis 混合存储实例是阿里云自主研发的兼容Redis协议和特性的云数据库产品,混合存储实例突破 Redis 数据必须全部存储到内存的限制,使用磁盘存储全量数据,并将热数据缓存到内存,实现访问性能与存储成本的完美平衡。

作者:张友东,阿里云数据库高级技术专家

文章进行了部分删减,完整内容请点击:https://developer.aliyun.com/article/740673?utm_content=g_1000096525

架构及特性

命令兼容

混合存储兼容绝大多数 Redis 命令,与原生 Redis 相比,如下命令不支持或受限制;不支持的主要原因是考虑到性能,如业务中有使用到,请提交工单。

选型指南 - 场景

选型指南 - 规格
选择混合存储实例时,需要选择合适的【内存配置 + 磁盘配置】;磁盘决定能存储的数据总量,内存决定能存储的热数据总量,实例生产时会根据存储的规格配置选择合适的CPU资源配置,目前暂不支持自定义CPU核数。

比如【64GB内存 + 256GB磁盘】实例,意思是实例最多能存储 256GB 的数据(以KV存储引擎的物理文件总大小为准),其中 64GB 数据可以缓存在内存。

内存选型建议:Redis 混合存储为保证最大程度的兼容 redis 原生访问协议,要求所有的key必须常驻内存,value 可以根据冷热读来自动决定存储在内存还是磁盘,所以内存空间必须要足以存储所有的key、以及对应的元信息。

磁盘选型建议:因 Redis 数据存储到 KV 存储引擎,每个key都会额外元数据信息,存储空间占用会有一定的放大,建议在磁盘空间选择上,留有适当余量,按实际存储需求的 1.2 - 1.5倍预估。

案例1:用户A使用Redis Cluster 存储了 100GB 的数据,总的访问QPS不到2W,其中80%的数据都很少访问到。用户A 可以使用 【32GB内存 + 128GB磁盘】 混合存储实例,节省了近 70GB 的内存存储,存储成本下降50%+。

案例2:用户B在IDC自建 Pika/SSDB 实例,解决Redis存储成本高的问题,存储了约400GB的数据,其中活跃访问的在10%左右,集群运维负担很重,想迁移至云数据库;用户B可以使用【64GB内存 + 512GB磁盘】混合存储实例,来保证免运维的同时,服务质量不下降。


Original url: Access
Created at: 2020-01-08 19:21:20
Category: default
Tags: none

请先后发表评论
  • 最新评论
  • 总共0条评论