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

了解更多

Redis Enterprise 交付线性扩展,一次又一次得到验证!

Redis Enterprise 5.0 中,我们引入了对开源 (OSS) 集群 API 的支持,该 API 允许 Redis Enterprise 集群通过添加分片和节点来无限地和线性地扩展。这篇文章描述了我们的第一个线性扩展基准测试,以及 Redis Enterprise 如何与 OSS 集群 API 协同工作,并演示了无限的线性性能可扩展性。

在过去的几个月中,我们进行了包括其他基准测试在内的测试 - k 节点 Redis Enterprise 集群上的 n 分片数据库,如下所示

Table 1: Redis Enterprise scale linearly while delivering sub-millisecond performance

表 1:Redis Enterprise 线性扩展,同时提供亚毫秒级的性能

Figure 1: Cluster throughput (@ 1 msec latency)

图 1:集群吞吐量(@ 1 毫秒延迟)

这表明,随着吞吐量的增加,节点呈线性比例增长,并且 Redis Enterprise 能够在所有数据大小和工作负载中持续提供亚毫秒级的延迟。 有关此分析的详细信息以及基准配置的完整编写,请参见此白皮书

那么什么是线性扩展?

根据维基百科的说法,可扩展的数据库是可以升级以通过添加新处理器和存储来处理更多事务的数据库,并且可以轻松透明地升级而无需关闭它。 数据库可以横向扩展(通过向集群添加节点,重新平衡,然后重新分片数据库)或纵向扩展(通过向数据库添加分片而不向集群添加节点)。 Redis Enterprise 经过优化,可以横向和纵向扩展,这仅仅是因为它不受磁盘限制。

“线性扩展”(横向扩展时)表示通过添加与增加的吞吐量相关的资源(在 Redis 术语中,“资源”是指节点和分片)来顺序扩展数据库。 真正的线性可伸缩性意味着资源量以与数据库吞吐量相同的比例增加,并且以确定性的方式增加。 例如,将集群资源增加 50% 将转换为 50% 的吞吐量增加。

线性扩展很重要!

了解多节点系统的可伸缩性对于资源规划至关重要; 重要的是要确切了解添加节点和分片将如何影响性能。 如果数据库可以线性扩展,则可以最大限度地减少运营开销,并使您能够扩展业务,而不必担心数据库中的大小限制或性能瓶颈。 但是,通常与横向扩展相关的开销,这意味着当您将容量增加 N 时,数据库吞吐量通常增加的系数小于(或远小于)N。

数据库提供

  • 亚线性扩展 - 当相对容量小于资源数量时
  • 线性扩展 - 当相对容量等于添加资源的相对数量时
  • 超线性扩展 - 当由于添加资源而导致相对容量增加时

其他 NoSQL 数据库是否线性扩展?

简单的答案是否定的!

其他数据库供应商已经发布了许多关于其扩展能力的基准和博客,但实际上,结果表明 Redis Enterprise 的性能优于其 NoSQL 竞争对手。 

下图是其他 NoSQL 供应商执行的基准测试的结果。 它比较了 NoSQL 数据库,例如 Apache Cassandra、Hbase、MongoDB 和 Couchbase。

Table 2: Nodes and throughput by vendor


表 2:按供应商划分的节点和吞吐量

Cassandra: Linear vs. Actual Scale graph
HBase: Linear vs. Actual Scale graph

MongoDB: Linear vs. Actual Scale
Couchbase: Linear vs. Actual Scale

从图表中可以明显看出,所有这些供应商都提供亚线性扩展。例如,如果我们按节点分析 Cassandra 的吞吐量,Cassandra 可以通过 1 个节点处理约 18,700 个 ops/秒(向上取整)。 然后,在 32 个节点上,它应该能够处理约 600,000 个 ops/秒。 但是,如上所示,它只能处理约 330,000 个操作/秒 - 仅占真正线性扩展数据库应能够处理的 55%。

同样的数学和结论适用于该表中的所有其他供应商。

事实上,这些数据库正在测量每秒数万个请求作为其最佳案例情景,这相当令人震惊。 现代应用程序,例如电子商务、社交网络、在线游戏、消息传递和协作、物联网以及许多其他应用程序,需要能够处理数百万个操作/秒。 这些数据库显然不是为如此大的容量而构建的,同时又降低了 TCO。

凭借其最新基准,Redis Enterprise 已证明其能够处理每秒数百万次操作,即使在使用其最基本的配置时也是如此。 如下图所示,Redis Enterprise 只是胜过其他数据库,并提供超线性扩展,而不会对性能造成任何影响!

Table 3: Redis Enterprise - Optimal vs. Actual Throughput by Node


表 3:Redis Enterprise – 按节点划分的最佳吞吐量与实际吞吐量

 
Redis Enterprise: Linear Scale vs. Actual Scale graph

这项新的基准测试证明了 Redis Enterprises 实现真正线性可伸缩性的能力,同时以最有效的方式利用资源来提供可预测且快速的性能,从而帮助您经济高效地构建可扩展的现代应用程序。