Redis 使用 DRAM 存储数据,只要数据适合可用内存。但是 DRAM 是有限的且昂贵的;这些限制阻碍了开发和运行依赖于大型数据集的应用程序,例如欺诈检测、用户配置文件管理和网络安全。
Redis Enterprise 的自动分层允许您使用固态硬盘 (SSD) 将数据库扩展到 DRAM 容量之外,因此您可以使用相同的 Redis API 构建需要大型数据集的应用程序。与仅使用 DRAM 部署相比,使用 SSD 可以将基础设施成本降低高达 70%。
Redis Enterprise 的自动分层基于高性能存储引擎 (Speedb),该引擎管理使用 SSD 和 DRAM 作为 Redis Enterprise 集群中数据库的总可用内存的复杂性。这种实现提供了高达每数据库核心每秒 10K 次操作的性能提升,使 Redis 在 Flash 上的性能提升了一倍。
应用程序数据有其自己的生命周期。经常使用的数据,称为热数据,应位于最快的内存级别,以提供实时用户体验。访问频率较低的数据,称为温数据,可以保存在速度稍慢的内存层中。
在大多数应用程序中,只有整个数据集的一部分是热数据。很大一部分处于待命状态,等待需要时使用。但是,在层之间移动数据很困难。自动分层将热数据保留在 DRAM 中,将温数据保留在 SSD 中,并在层之间自动传输数据。通过将 Redis 的灵活性和 SSD 的大容量相结合,我们增强了 Redis Enterprise 的实时数据管理功能。最终结果:即使您的应用程序调用大量数据集合,它们也能实现更多功能并运行得更快。
当您必须对大量数据提供高速数据处理时,自动分层尤其有利。将所有数据保留在 DRAM 中可能很昂贵,尤其是在处理热数据和温数据时。
为了区分两者:活跃客户生成的数据(他们经常购买商品)通常被认为是热数据。相反,休眠用户(已有一段时间未登录但可能随时出现的现有客户)被视为温数据。您希望将他们的数据保存在某处,但如果检索它需要多一点时间是可以的。
情况可能迅速发生变化,例如当以前的用户回来进行新购买时。无论情况如何,企业应用程序都必须以速度和敏捷性做出响应。
在这种情况下,自动分层会自动调整工作集。它将所需数据移动到 DRAM 中以进行实时处理,并将未使用的数据逐出到 SSD 中以备后用。
Redis Enterprise 的自动分层允许开发人员调整 DRAM 与 SSD 的比例,而无需更改数据库的内存配额。这将保持最佳的存储空间,以便将热数据集或活跃数据集保存在内存中,并将温数据保存在 SSD 中,从而降低总拥有成本 (TCO),因为 DRAM 和 SSD 之间存在明显的成本差异。
当数据集很大,内存存储成本变得沉重时,您可以为访问频率较低的数据配置 SSD 空间。这将帮助您保持 DRAM(用于吞吐量和降低延迟)和 SSD 存储(用于温数据扩展数据集和最佳 TCO)的适当比例。相反,当应用程序需要更高的性能、更好的吞吐量或更低的延迟时,您可以添加更多 DRAM 以将更多热数据保存在工作数据集中。
立即免费开始使用 Redis 云
下载 Redis Enterprise