视频

了解更多
越来越多的应用程序依赖于庞大的数据集,而这些应用程序必须快速响应。Redis Enterprise 7.2 使开发者无需额外工作即可创建超快速应用程序。这有什么不好呢?
组织一直依赖于他们收集的数据,但这些数据集正在不断增长——尤其是在电子商务、金融、基于位置的计算和高端游戏等分析密集型市场。例如,在医学图像分析研究中,数据集的中位数规模在2011年至2018年间增长了三到十倍。
Redis 之所以受欢迎,原因之一是它提供了极快的数据访问。它通过将数据存储在内存中来实现这一点,因此应用程序可以以最快的速度检索和操作数据。应用程序需要处理的数据越多,存储数据集所需的内存就越多。尽管如此,即使数据源庞大,这些应用程序仍然必须以接近即时的速度响应。
当应用程序访问的数据量以 TB 为单位时,开发者必须应对内存处理的局限性。因此,他们转向基于磁盘的解决方案来在后台支持 Redis。这样做迫使开发者在其应用程序中构建一个完整的数据管理系统,这意味着他们将时间花在无关紧要的任务上,而不是实现提供高性能应用程序的最初目标。
一定有更好的选择。确实有。
利用 Redis Enterprise 的自动分层功能,开发者可以通过使用固态硬盘 (SSD) 作为可用内存的一部分,将大容量数据库扩展到集群中现有 DRAM 的限制之外。得益于我们的一些巧妙编程,Redis Enterprise 可以识别在任何给定时刻哪些数据应保留在内存中,哪些数据应保留在 SSD 上,从而将吞吐量提高一倍,并将延迟降低到以前解决方案的一半。
一切都是自动进行的。开发者无需编写额外的代码或学习新的技术。通过将动态 RAM 与快速外部存储相结合,Redis Enterprise 可以轻松高效地利用系统资源,同时仍能快速访问常用数据。
自动分层会自动管理数据。它将热数据提升到 DRAM 中,并智能地将未使用的érience数据降级到 SSD。这为依赖大型数据集的应用程序开辟了新的可能性。
在大型数据集上实现快速数据访问并非唯一的好处。省钱是另一个优势——也是财务部门能够理解的原因。内存存储可能很昂贵。通过将不经常访问的数据卸载到 SSD,开发者可以优化内存使用,并降低与高容量内存需求相关的成本。
实际上,这使得数据密集型应用程序无需开发者额外努力即可运行得更快。与仅使用 DRAM 的部署相比,它还可以节省高达 70% 的基础设施成本。而且由于自动分层高效且自动地管理数据访问模式,您无需花费时间(计算或人力)来区分热数据和温数据。
为了增强此功能,Redis 与创新型键值存储引擎 Speedb 建立了战略合作伙伴关系。我们将其技术集成为默认的自动分层引擎。
通过集成 Speedb,Redis Enterprise 在性能方面实现了显著提升,在利用相同资源的情况下,将吞吐量提高了一倍,并将延迟降低了一半。这显著扩展了可以利用自动分层优势的使用场景范围。在此改进之后,使用自动分层功能的 Redis Enterprise 数据库的规模已增加到每核 10k ops/sec。
当然,我们使吞吐量翻倍,并将延迟降低了一半,但数字只说明了一部分。实际例子很重要。
下图显示了自动分层在实际工作负载场景中的性能演变示例。蓝色条形图代表使用先前存储引擎 (RocksDB) 的 Redis Enterprise 6.4,红色条形图代表使用 Speedb 的 Redis Enterprise 7.2。在基础设施方面,我们使用了 I4i.8xlarge AWS 实例来托管一个 1TB 数据库,该数据库位于 10 个分片上,为了高可用性进行了复制,总共 20 个分片,服务于 1,024 个客户端。
为了模拟最标准的 Redis 使用场景,我们在 20% DRAM 和 80% SSD 的配置下定义了两种不同的负载,1KiB 和 10KiB,并采用三种可能的使用模式:均衡读/写 (1:1)、重读 (1:4) 和重写 (4:1)。在这两种场景中,我们测量了每秒的操作吞吐量以及相应的延迟。以下图表显示了结果。
与 RS 6.4 (RocksDB) 相比,RS 7.2 (Speedb) 有所改进
与 RS 6.4 (RocksDB) 相比,RS 7.2 (Speedb) 有所改进
在所有情况下,集成 Speedb 的 Redis Enterprise 7.2 都具有更好的吞吐量,这意味着更快的应用程序以及维持这种性能水平所需更少的基础设施。
自动分层特别适用于需要将数据分为热数据和温数据的场景。一个例子是需要访问实时数据和历史数据的银行应用程序。
让我们仔细看看一个手机银行应用程序的例子。
如今,每个人都在其移动设备上安装了银行应用程序。用户登录应用程序,查看余额,检查最近的交易,并获取其他相对较小且重点明确的信息。每个人都希望这个过程流畅、简单、即时。这些数据就是我们的热数据,它们存储在 Redis Enterprise 数据库的 DRAM 中。
用户不太频繁地需要额外的信息,例如旧交易记录——可能是两年前的税务文件。这些信息需要可访问,但数据访问速度不那么关键。这些数据集是我们的温数据,可以保存在 SSD 中。
速度在其他行业也很重要。例如,游戏应用程序对延迟有严格要求。此外,游戏本身具有流行性。随着时间的推移,游戏公司会积累用户数据,这些数据存储在档案数据库中。但并非所有用户都是活跃用户。通过自动分层,活跃用户的档案信息可以存储在 DRAM 中,而其余用户的信息则存储在 SSD 中。
我们的自动分层产品页面提供了更多技术细节。或者如果您今天就准备使用它,您可以在 Redis Enterprise Cloud 的免费或灵活计划中创建数据库,或从我们的下载中心部署自托管实例,然后按照自动分层配置指南来试用带自动分层功能的 Redis Enterprise 7.2。