艾体宝产品 | 基准测试:ArangoDB性能碾压Neo4j,速度最高提升8倍!

引言

本文呈现了ArangoDB图形分析引擎(GAE)与Neo4j的基准测试结果,其中GAE是ArangoDB数据科学套件的重要组成部分。

本次测试具备可重复性,旨在对两款数据库进行中立、全面的对比,确保评估结果公平无偏。测试采用了wiki-Talk数据集——这是一个广泛应用的真实世界图形数据集,源自维基百科的编辑和讨论历史,精准捕捉了维基百科用户间的互动模式,尤其是用户讨论页上的交流行为。

该数据集因具备有向图结构、丰富的节点与边、时间维度属性及稀疏性等独特特征,成为图数据库和图分析系统基准测试的优选。测试结果充分展现了两款数据库的效率与扩展性,为企业评估图数据库提供了极具参考价值的基准模型。

基准测试结果亮点

测试结果揭示了多项关键发现,尤其凸显了ArangoDB在图分析任务中的卓越性能,具体如下:

  • 在多种图计算算法上,ArangoDB表现持续优于Neo4j,性能提升幅度在1.3倍至8倍不等。

  • 在图数据加载速度上,优势同样显著。针对wiki-Talk数据集,ArangoDB的图加载效率较Neo4j实现了100%的提升。

这一出色表现得益于ArangoDB优化的数据存储与检索机制、先进的查询执行逻辑,以及对集群部署的高效利用,使其在各类场景中都能发挥出色性能。这些发现充分证明:

  • ArangoDB能够支撑更大规模、更高速度的实时图分析应用。

  • 对于需要快速数据处理与分析的行业和企业而言,ArangoDB是更具吸引力的选择,例如实时推荐系统、社交网络分析、欺诈检测及网络安全等领域。

测试详情

数据集(wiki-Talk)

本次测试选用了业内公认的wiki-Talk数据集来评估图数据库的性能,具体数据规模如下:

使用的图节点数边数
wiki-Talk2,394,3855,021,410

硬件环境

所有测试均在同一台设备上进行,硬件配置如下:

  • 操作系统:Ubuntu 23.10(64位)

  • 内存:192 GB(4800 MHz)

  • CPU:Ryzen 9 7950X3D(16核32线程)

数据库配置

数据库版本部署方式
Neo4j5.19.0(社区版)本地部署,单进程
ArangoDB3.12.0-NIGHTLY.20240305(社区版)本地部署,单进程

主要测试流程

测试采用两种工作流来衡量性能:

  • 工作流A:创建内存图(in-memory representation) → 每个算法执行一次 → 测量整个流程耗时

  • 工作流B:创建内存图(in-memory representation) → 测量图创建时间 → 分别执行每个算法 → 测量计算耗时

测试算法

本次测试涵盖以下四种核心图算法:

  1. PageRank(页面排名):基于节点连接关系对节点进行排名,广泛应用于搜索引擎。

  2. WCC(弱连通分量):识别图形中任意两个顶点可通过路径连接(忽略边的方向)的子集。

  3. SCC(强连通分量):识别图形中同一子集内所有顶点可相互到达的子集。

  4. Label Propagation(标签传播):用于图形社区检测的半监督学习算法,节点通过迭代方式向相邻节点传播自身标签。

所用技术

  • JavaScript框架:Vitest + tinybench

  • 通信方式:

    • Neo4j:官方Neo4j JS驱动("neo4j-driver": "^5.18.0")

    • GAE:基于Axios的纯HTTPS 请求("axios": "^1.6.8")

测试结果

图加载性能(wiki-Talk数据集)

任务GAE耗时(秒)Neo4j耗时(秒)速度提升倍数
加载wiki-Talk图9.9181.8倍
加载带属性的wiki-Talk图10.719.21.8倍

图计算性能(wiki-Talk数据集)

任务GAE耗时(秒)Neo4j 耗时(秒)速度提升倍数
计算PageRank3.810.62.8倍
计算WCC2.34.51.7倍
计算SCC3.26.72.1倍
计算Label Propagation1.5138.5倍

ArangoDB性能领先的原因

ArangoDB在wiki-Talk数据集上的出色表现,源于其特定的架构优化,而非单纯的计算性能优势。本次测试中,ArangoDB承担数据存储角色,图分析引擎(GAE)负责计算任务,核心优化集中在两个关键阶段:

图加载阶段优化

  • 并行数据提取(Parallel Data Extraction):ArangoDB支持从单节点和分布式系统中并行加载数据,可横向扩展至多台设备,通过提升并行度加快数据传输速度,相比串行或非并行提取方案,性能大幅提升。

  • 定向数据传输(Projections for Targeted Data Transfer):仅传输分析所需的数据属性。例如,若仅需边ID和单个属性,系统会精准提取并传输这些字段,避免传输完整文档带来的额外开销,减少数据量和网络延迟。

图分析引擎(GAE)优化

  • 高效的内存结构:采用高度优化的内存数据结构存储图数据,在降低内存占用的同时,保证极快的访问速度,图加载后可立即投入计算,无额外延迟。

测试范围说明

需特别说明的是,本次测试未评估以下内容数据插入ArangoDB的耗时和ArangoDB自身执行的计算任务。测试核心评估维度为:

  • 从ArangoDB向GAE加载图数据的效率。

  • GAE执行图算法的能力。

通过聚焦这两个阶段,测试充分展现了ArangoDB设计上的优势——能够通过快速数据加载和与GAE的高效协同,支撑大规模图工作流。

测试可重复性保障

本次测试结果100%可复现,确保结果的一致性和可验证性。如需复现测试,可按照以下步骤操作:

  1. 搭建硬件环境:安装Ubuntu 23.10操作系统,配置192 GB内存和Ryzen 9 7950X3D CPU。

  2. 安装配置数据库:使用提供的Docker配置,安装并配置最新版本的Neo4j和ArangoDB,两者均采用单线程(非集群)配置。

  3. 执行测试:使用wiki-Talk数据集,按照测试配置中概述的工作流A和B,运行指定的图算法(PageRank、WCC、SCC、Label Propagation)。

  4. 结果对比:测量内存中图创建时间和计算时间,对比两款数据库的表现。

结语

基准测试结果清晰表明,在图计算和数据加载任务中,ArangoDB的性能远超Neo4j。其显著的速度优势——尤其是在执行复杂算法和加载大规模数据集时的高效表现,彰显了其优化的架构设计和出色的数据处理能力。

  • 如果你的应用需要大规模图数据处理+实时或近实时图分析,ArangoDB显然比Neo4j更适合。

  • 对于推荐系统、社交网络分析、欺诈检测、网络安全、知识图谱、复杂关系分析等场景,ArangoDB的速度与可扩展性能够带来明显优势。

  • ArangoDB不仅是图数据库,它是一个多模型(multi-model)数据平台,结合图(graph)、文档(document)、键值(key/value)、向量(vector)和搜索(search)等能力,使开发者/企业能够更灵活构建复杂应用。

因此,如果你正在为数据密集、连接复杂、需要高性能分析的系统选型,ArangoDB无疑是更值得信赖的选择!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值