简单地说,我们现在是Redis
新发布的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数据集的持久化存储图.
对于每个测试版本,我们执行:
所有查询都是在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的性能就越好。
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)中,改进更加明显:
因为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基准,我们很高兴地成为改进和硬化我们的解决方案的一部分和用来。