圆点 将来快速的方法将在您所在城市的活动中实现。

加入我们在 Redis 发布会上

Redis Enterprise 如何管理不断增长的数据

我们最近对我们的客户进行了一次调查,并收到了很多很棒且有趣的反馈。例如,我们发现 71% 的用户增加了对 Redis Enterprise 的使用,因为其业务增长了。 


图 1. Redis 客户增加了其 Redis 使用量。

在我们的客户群中,我们发现数据库大小和吞吐量需求的增长速度有多快。假设你在一段时间前启动了一款新应用,并且它在 Redis 中存储数据。假设你在启动时数据集大小约为 1 GB,但你的应用变得非常流行。你的 Redis 数据集可能已增长到超过 20 GB,并且可能会在未来几天内达到约 50 GB。在此类场景中,100,000 次操作/秒的启动吞吐量现在可能逐渐接近 1,000,000 次操作/秒的要求,这对任何数据库来说都是一个挑战。 

Redis Enterprise Cloud 用户在这种情况下,可以通过简单地切换到 Redis Enterprise Cloud 控制台中更高的限制,轻松增加其数据库大小和吞吐量容量。这种完全托管的无服务器 DBaaS(数据库即服务)由 Redis Enterprise 架构提供支持,它使你能够以完全透明的方式增加数据集大小和吞吐量。


图 2. Redis Enterprise Cloud 包含用于增加内存大小和吞吐量的管理员仪表板。

幕后发生了什么?

在幕后,这一切都得益于 Redis Enterprise 无共享的对称架构得以无缝运行。这项技术包括一个集群和一组物理或虚拟节点。每个节点包含 0 到几百个可以配置为简单数据库、高可用性 (HA) 数据库、集群数据库或 HA 集群数据库的数据库。


图 3. 可以按照简单、HA、集群和 HA 集群模式配置 Redis Enterprise 数据库。

如下面的图四所示,集群中的 Redis Enterprise 节点包含 Redis 分片、零延迟代理、集群管理器和安全的 REST API。该代理维护数据库端点,并且通过隐藏详细信息来屏蔽集群复杂性。例如,对于数据集跨越多个分片的分片数据库,代理是单个端点,并将每个请求转发到相应的碎片。


图 4. Redis Enterprise 节点组件

在你增加数据库的内存或吞吐量大小时,Redis Enterprise 会根据你的要求计算所需的分片和集群节点的额外数量,向集群添加新的分片和节点,并重新平衡数据以获得最佳性能。Redis Enterprise 还会优化你的分片大小,以使其足够小,以便快速复制、分片迁移、备份和恢复。图 5 显示在你向现有数据库添加一对新的主从片时发生的情况。 


图 5. 使用 Redis Enterprise 通过重新分片进行扩展。 

Redis Enterprise 中的代理在这个操作中发挥着关键作用。由于其为跨越多个分片的 Redis 数据库启用了一个单一端点,因此即使在重新分片后,您的应用程序仍然与同一个端点进行连接。这确保您不必随着数据库大小的增加而对应用程序代码做任何更改。


图 6. 前置代理主分片和从分片的 Redis Enterprise 数据库

重新分片:四步流程

为了更准确地了解这项工作的运作方式,让我们探讨一下 Redis Enterprise 在重新分片过程中执行的四个主要步骤。

步骤 1:平台构建两个新的从分片(R1 和 R2),将数据集的一半分移到主分片 R1,将互斥数据集的另一半从从分片移到 R2。

步骤 2:接下来,Redis Enterprise 会耗尽所有未完成的请求,然后再完成重新分片的过程。这可以保证一致性,并避免丢失任何“写入”操作。

步骤 3:第三步包括将主分片转换为主分片 1,将从分片转换为主分片 2,然后停止耗尽 process。现在,新的请求都将由主分片 1 和主分片 2 进行处理,并且在步骤 1 中引入的新分片(R1 和 R2)将变成这两个新主分片的从分片。 

步骤 4:最后,平台会修整主分片 1 和主分片 2,以便每个分片都保存与一半的 Redis 哈希槽关联的数据集。

如您所见,Redis Enterprise Cloud 以真正的无服务器方式管理分片和代理。作为用户,您不必担心节点或群集,而上面描述的扩展操作对您来说是完全透明的。如果您使用的是 Redis Enterprise 软件,管理员控制台提供了您执行线性无缝扩展操作所需的所有工具。

使用 Redis Enterprise 扩展到新等级

如果您的目标是更大规模地扩展,您可以在 Redis Enterprise 中配置多个代理服务器。借助此配置,您可以利用我们的群集 API 来连接到您的应用程序所需的所有代理服务器。最近,我们展示了这种独特的无共享架构如何以完全线性的方式扩展到每秒 200 百万次操作。 

Redis on Flash(RoF)是扩展数据库的另一种方式,同时节省超过 70% 的基础设施成本。当您的数据集大小超过 100GB 并且该数据集的平均值大小高于平均键值大小时,此选项可能非常划算。此外,当大部分数据库查询都针对数据集的子集时,RoF 是最佳选择,其允许 RoF 仅将工作数据集保存在内存(RAM)中。


图 7. Redis on Flash 的多层内存架构

Redis 致力于了解和满足客户的需求。当我们得知管理不断增长的数据所带来的痛点时,我们投资构建了克服这些痛点的合适功能。目前,超过 7400 家企业客户从我们上述的 Redis Enterprise 扩展功能中受益。

了解适用于您的情况的最佳扩展选项。请立即致电 (415) 930-9666 联系我们的专家。如果您已知道所需数据库的大小,请与我们联系了解定价