dot Redis 8 来了——而且是开源的

了解更多

Redis Enterprise for Kubernetes 现已支持闪存

Redis on Flash 可与 Redis Enterprise for Kubernetes 配合使用。 这将加快您的软件速度,并为您的公司节省资金。

Redis Enterprise 中一项令人兴奋的功能称为 Redis on Flash (RoF)。 RoF 使数据库能够使用 闪存固态硬盘 (SSD) 来扩展 DRAM 容量。 

通常,Redis Enterprise 会将整个数据集保存在 DRAM 中。 这对于大多数目的来说都是好的,但当数据集过大时就会出现问题。 但是,当您使用 RoF 时,存储在 DRAM 中的信息要少得多:键、Redis 字典(键后面的数据结构)以及数据集的频繁访问数据(也称为“热数据”或工作集)。 DRAM 仍然是更快的层,这就是它保存关键数据的原因。

但是,使用 RoF 时,非活动数据(也称为“暖值”)会移动到较低的层,即本地闪存存储层。

RoF 基于多线程异步架构,可确保对 Flash 进行的大量缓存请求和对 DRAM 进行的少量缓存请求之间不会发生阻塞。 这样可以避免由 Redis Enterprise 的单线程性质导致的队头阻塞情况。

Redis on Flash 不被设计为数据持久性的替代机制。 相同的仅附加文件和快照数据持久性机制(将数据持久保存到磁盘)也与 RoF 和 Redis Enterprise 一起使用。

到目前为止,一切都很好。 我们已经拥有 RoF 几年了。 除了其技术优势外,RoF 为公司节省了大量资金

Redis on Flash 现在可在 Redis Enterprise for Kubernetes 中使用

但是,RoF 直到现在才成为我们的 Kubernetes 产品的一部分。

RoF 现在可用于 Redis Enterprise for Kubernetes,从 6.2.12 版(可以选择启用)开始,并且 6.2.18 版将于 11 月中旬发布 – 这对于具有大型数据集的客户来说是一大福音。 即使仅 RAM 解决方案在技术上可行,但通常成本过高,并且客户更喜欢使用闪存。

与非 Kubernetes 集群上的 RoF 一样,当然也存在存储先决条件。 底层硬件需要性能良好并直接连接到 Kubernetes 集群节点。 Kubernetes 也有使用存储的特定方式,因此请务必遵循设置指南以确保顺利安装。

满足先决条件后,您在 Redis Enterprise for Kubernetes 中所做的其余操作感觉就像任何其他操作。 我们通过添加 YAML 来表达配置,从而扩展了您创建和使用 Redis Enterprise Cluster (REC) 和 Redis Enterprise Database (REDB) 的常用方式。

RoF 配置基础知识

入门非常容易。 您只需要 Kubernetes 中的一个简单配置即可使用此强大功能。 简单、快速、高效。 您还能要求什么呢?

要启用此功能,请将以下行添加到 REC

redisOnFlashSpec:
   enabled: true
   flashStorageEngine: rocksdb
   storageClassName: local-scsi
   flashDiskSize: 100G

此代码示例为集群启用 RoF,然后设置存储引擎、Kubernetes 存储类以及此集群节点的磁盘空间量。

同样,您可以通过将以下行添加到 REDB 规范来启用对数据库的 RoF 支持

 isRof: true
 memorySize: 2GB
 rofRamSize: 0.5GB

通过这些说明,您可以通过启用 RoF、确定要为数据库大小分配多少内存以及您希望在 RAM 中保留多少内存来告诉 REDB 使用 RoF。 

当然,有很多选项,其中一些非常重要。 例如,此处用于指示有多少数据位于 RAM 中的设置会直接影响性能。 不要仅仅复制上面的示例; 有配置指南,因此请花时间阅读 Redis on Flash 配置Kubernetes 特定详细信息的文档。 

祝您 RoF-ing 愉快,祝您有个美好的一天!

相关资源