简单地说,我们现在是Redis

了解更多

RedisGraph 2.0提高性能高达6倍

最新版本的RediSgraph提供显着的性能改进,延迟改进可达6倍,吞吐量改进高达5倍。看看展示这些性能收益的基准。



回到博客

新发布的RedisGraph 2.0模块带来了许多改进,包括增加了对Cypher的支持,全文搜索,并支持图形可视化。同样重要的是,RedisGraph的最新版本提供了显著的性能改进:延迟改善高达6倍,吞吐量改进高达5倍.让我们来看看那些绩效收益和用于展示它们的基准。

当我们在2018年11月发布RediSgraph 1.0后,我们分享了基准基于的结果K-Hop邻域计数查询.新RedisGraph 2.0包含支持更全面的测试套件的新特性和功能,如链接数据基准委员会(LDBC) - 下面.但是我们仍然依赖k-hop基准来比较RedisGraph 2.0和v1.2。

K-Hop邻域计数查询是一个图形本地查询,其计算单个起始节点(SEED)在某个深度连接的节点数量,并且仅计算所在节点k-跳开,如下所示:

K-hop社区查询在大型图的分析任务中非常有用,比如查找社交网络中的关系,或者根据共同属性推荐朋友或广告链接。

数据集

我们保留了之前的基准图500数据集,尺度为22,图的特征如下:

为了获得更深的洞察力和覆盖数据库性能,我们将基准的种子覆盖范围扩展到100,000种随机的确定性种子而不是300。为了让任何人都可以复制我们的结果,这是一个链接到RDB格式中缩放为22的500数据集的持久化存储图

k-hop基准的方法

对于每个测试版本,我们执行:

  • 1-Hop 22米的查询
  • 2-Hop 220 k查询
  • 3-Hop 22 k查询
  • 6-Hop 22 k查询

所有查询都是在22个客户机的并发并行负载下进行的。我们报告了中位数(q50)和可达到的吞吐量。

为了获得稳态结果,我们丢弃了以前的Python基准客户支持memtier_benchmark,提供低开销和全延迟频谱延迟度量。

测试基础设施

所有基准测试变体都在Amazon Web Services实例上运行,通过我们的基准测试基础设施提供。基准测试客户机和数据库服务器都运行在单独的c5.12xlarge实例上。测试是在单个分片设置上执行的,RedisGraph版本为1.2和2.0.5。

除了上述主要基准/性能分析方案之外,还可以在网络,内存,CPU和I / O上运行基准基准,以便理解底层网络和虚拟机特性。我们代表我们的基础架构作为代码,使其稳定且易于可重复。

基准结果

RedISgraph 1.2与2.0基准值对并行工作负载(多客户)的重大改进。我们已经测量了延迟改善高达6倍吞吐量改善高达5倍当执行图遍历时。与以前的版本相比,工作负载的并行性和计算成本越高,RedisGraph 2.0的性能就越好。

OpenMP效应

RediSgraph 2.0包含Tablblas的最新版本3.2.0 -手提箱的实现graphblas.RedisGraph用于稀疏矩阵运算。通过这个版本,现在可以通过重复使用OpenMP来利用共享内存并行性,从而获得显著的性能优势。

CPU强化查询的内部测试显示RediSgraph在SuiteScare:Graphblas上花费大约75%的CPU时间。为了展示句子的性能增益:RediSgraph在RediSgraph中的基于GraphBlas并行的OpenMP的实现,我们通过计算方式测试了6跳查询邻域计数。

如下所示,使用单线程的SuiteSparse:GraphBLAS转换为q50延迟537ms,使用22个OpenMP线程转换为175ms,延迟减少了6倍,而RedisGraph不需要额外成本。在高延迟频谱(高分位数值,如q99)中,改进更加明显:

拥抱LDBC

因为RediSgraph 2.0支持更多的Cypher功能,我们决定开始接受链接数据基准委员会(LDBC)基准。LDBC以标准化图形数据管理系统的评估为使命,聚集了强大的行业参与。在本节中,我们将更新我们所取得的进展。

LDBC中的LDBC Social Network Benchmark (SNB)是RedisGraph的一个逻辑选择,因为它支持涉及大量数据的复杂读查询,具有复杂的图相关性,并要求图数据库支持复杂和创新的查询模式和算法。

在LDBC SNB基准中,节点和边的分布由一个类似于Facebook.这个基准说明了模拟社交网络的一个重要方面,即具有相似兴趣和行为的人倾向于相互联系(称为同质性原则)

与SNB的读查询同时进行的是写工作,这再现了真实世界的社交网络场景,比如在人与人之间添加友谊,或者在一篇文章上点赞和评论。

目前在LDBC SNB基准查询中,我们支持100%的写查询和52%的读查询,如下表所示:

即将支持的Cypher特性:可选MATCH(相当于SQL中的外部连接)、shortestPath(众所周知的实现最短路径问题),列表和模式理解将使我们能够100%支持SNB的复杂阅读查询。

结论

RedicAghraph 2.0与版本1.2相比带来了显着的性能增益,这可能会导致6倍的查询。不仅是顺序性能的提高,RediSgraph还能够利用共享内存并行性,包括包含最新版本的行李箱:GraphBlas,导致进一步的性能收益。

结合绩效改进,我们增加了Cypher支持的工作让我们接近支持丰富的社区驱动的LDBC基准,我们很高兴地成为改进和硬化我们的解决方案的一部分和用来。

Baidu