复述在闪光

万博体育彩Redis Enterprise允许创建Redis on Flash (RoF)数据库,通过SSD和持久内存扩展您的DRAM容量,以更少的资源存储更多的数据,降低成本。在Flash上的Redis并不是被设计用来作为数据持久化的替代机制——同样的AOF和快照数据持久化机制也被用于Flash上的Redis。RoF基于核心开源Redis架构,并进行了一些主要的增强:

  • 而不是保持整个数据集在DRAM, RoF保持只有键和Redis字典(键背后的数据结构)在DRAM,以及“热值”的数据集(工作集)。“温暖值”,即数据集中较少使用的部分,保存在本地Flash存储中。
  • 为了避免Redis单线程特性导致的线头阻塞场景,RoF是基于多线程异步架构的,它保证了对Flash的重请求和对DRAM的轻请求之间没有阻塞。

这个多层内存结构如下图所示:

Redis闪存架构图

何时使用RoF

RoF非常适合以下用例:

  • 当您的工作集明显小于您的数据集时
  • 当键的平均大小小于值的平均大小时
  • 当您的数据库大小(数据集+复制)超过100GB时

使用高射速:

  • 当访问你的数据集对象是完全随机的,即你的工作集是你的数据集的大小
  • 当数据集中键的平均大小与值的平均大小大致相同时
  • 当数据集大小很小且具有极高的吞吐量要求时(>1M ops/sec)

调整dram - flash比例

RoF允许您调整您的DRAM- Flash比例,而不改变您的数据库的内存配额(DRAM+Flash):

  1. 如果需要更多的吞吐量或必须减少延迟,则可以向配额中添加更多的DRAM
  2. 如果您对性能满意,但希望使用更少的集群资源,您可以添加更多的Flash到您的配额

注1:在VPC中使用Redis Enterprise作为全管业务时,会自动调整DRAM-to-Flash。万博体育彩对于本地/自管理部署,调整您的DRAM:Flash比例就像移动滑块一样简单。

注2:当向内存配额中添加更多的DRAM时,可能会触发一个扩展进程,当向内存配额中添加更多的Flash时,可能会触发一个扩展进程。当Redis Enterprise作为一个完全管理的服务在您的VPC上使用时,这些流程将完全自动化,但当Redi万博体育彩s Enterprise软件是自部署时,需要手动干预。万博电竞客服

dram - flash的比例调整如下:

Redis Flash RAM to Flash Diagram
Redis Flash Cluster Scale Out 2018

存储引擎

RoF构建在一个可插拔的存储引擎架构上,默认支持以下存储引擎:

  • x86架构上的RocksDB
  • 基于Power8架构的IBM Ark

Redis工程师提供了关键修复这些引擎,使他们与Redis兼容。

性能

在Flash上的Redis非常快;在优化良好的环境中,RoF可以和Redis在DRAM上一样快。在最近的一次基准测试中,在一台配备Intel nvme SSD卡的裸金属Intel服务器上,RoF在亚毫秒级延迟下实现了超过3M的操作/秒,同时在Flash内存之间传输超过1GB的数据:

关于这个基准的更多信息可以找到在这里

随着最近对公共云中基于nvme的SSD的支持,我们的工程师进行了一个基准测试,比较了在AWS I2实例上运行的基于sata的旧SSD与在AWS I3实例上运行的基于nvme的新SSD的性能。结果比较了不同类型使用不同数据库对象大小的单个云实例的性能:

关于这个基准的更多信息可以找到在这里

Redis关于Flash和持久存储技术(如3DXPoint)

RoF从头开始设计,以实现新的持久内存技术,如英特尔3DXPoint的最佳性能。持久内存的设计是将DRAM和NAND (Flash)集成在同一个芯片组中,使用该芯片组的软件可以控制哪些数据应该驻留在芯片组的DRAM端,哪些数据应该驻留在Flash上——这正是RoF的工作方式万博电竞客服!

英特尔的持久内存技术目前被两种不同的产品使用:

  1. Optane:新的nvme SSD卡
  2. Apache Pass: NVDIMM (non-volatile dual-inline memory module)

英特尔和Redis的工程团队正在合作,为这些产品制定基准。下面是英特尔基于optane的NVMe与前一代基于NVMe的P3700的对比:

注意:Intel Apache Pass上的RoF基准测试将很快发布。


下一节►万博体育彩Redis企业集群架构

Baidu