Galaxybase VS TigerGraph 发布日期:2022-01-20
Galaxybase 是国内首款成熟的超大规模原生分布式并行图数据库,底层存储不依赖第三方系统,完全自研可控,具有完全自主知识产权。Galaxybase 拥有速度快、高扩展、实时计算、高效数据压缩等技术优势。
本次基准测试,旨在测试分布式图数据库之间的性能差异,我们选取了TigerGraph 分布式图数据库与 Galaxybase 原生分布式并行图数据库作横向对比。
测试内容包括:
本节描述测试的图数据库系统、使用的硬件平台和数据集。
本次测试在 3 个节点的多机环境下,对所有图数据库系统都采用相同配置的服务器进行测试,详细配置信息如下:
服务器配置 | |
---|---|
本次测试采用三个公开数据集,详细信息如下:
名称 | 数据描述 | 点数量 | 边数量 | 原始数据大小 |
---|
Graph 500 | Synthetic Kronecker graph http://graph500.org | 240万 | 6700万 | 1G |
Twitter-2010 | Twitter user-follower directed graph http://an.kaist.ac.kr/traces/WWW2010.html | 4160万 | 14.7亿 | 24.6G |
SF10 | LDBC benchmarks 数据集 | 2998万 | 1.7亿 | 8.3G |
数据加载测试检测了以下两个方面:
对于各个图数据库产品,我们都选择了对该图数据库产品自身最有利的批量加载数据方法,具体加载方法如下:
测试项 | 加载时使用的 API 或方法 |
---|
Galaxybase | 使用 galaxybase-load 工具导入 |
TigerGraph | GSQL 声明加载作业 |
本次测试的图数据库系统都有固定的落盘路径,我们通过 du -sh 命令测量落盘目录的大小,从而获得落盘数据。各图数据库我们测试的落盘目录如下:
测试项 | 落盘目录 |
---|
Galaxybase | ${galaxybase-home}/db/store/${graphIndex} |
TigerGraph | ${tigergraph-home}/gstore |
测试项 | Galaxybase | TigerGraph |
---|
数据集 | Graph 500 | |
导入时间 | 67.1 s | 62.0 s |
落盘大小 | 2.4 G | 855.0 M |
原始数据大小 | 1.0 G | |
数据集 | Twitter-2010 | |
导入时间 | 1311.1 s | 1044.0 s |
落盘大小 | 47.0 G | 20.8 G |
原始数据大小 | 24.6 G | |
数据集 | SF10 | |
导入时间 | 315.0 s | 124.0 s |
落盘大小 | 10.6 G | 7.3 G |
原始数据大小 | 8.3 G |
图数据库的查询性能测试检测了以下三个方面:
K 跳邻居(k-hop neighbor)查询,是在一个未加权的有向图中,定义点v 的k 跳邻居为:从v开始以不超过 k 跳可达(即经过 k 跳或更短的路径)的所有点的集合,该查询为检验图遍历性能的经典方法。
3.1.1 查询方法
对每个数据集,选取 100 个样本,统计其 N 跳扩展所遍历到邻居点的数量,记录平均时间进行对比。分别测试 N=1、2、3、4、5、6 的情况。N 为 1、2 时,设置超时时间为3 分钟/查询,3跳及以上时,设置超时时间为 1 小时/查询。
对于 Galaxybase,具体使用的查询接口是 JavaAPI 中的 bfsMaster 接口;对于TigerGraph,通过编写 GSQL 实现分布式查询逻辑。
1. 在样本的选择上,会遇到两个问题:如果样本点出度太小,那么就不能很好地体现图遍历性能;如果样本点间出度相差过大,那么查询的耗时相差也会很大,统计出的平均值的指导意义就会下降;为了规避这两个问题,对每个数据集,我们从出度为1000 的点中随机选取了100个作为样本。
2. 为了将测试重心集中在图遍历上,避开结果传输的影响,我们只查询K 跳邻居的数量,而不是返回完整的邻居点集合。
3. 为了查询结果的严谨性,我们在参与测试的图数据库中,对查询结果进行了交叉验证,确保不同数据库的查询结果一致。
3.1.2 测试结果
测试项 | 查询响应时间 (单位:毫秒) | 平均邻居数 | ||
---|---|---|---|---|
数据集 | 测试内容 | Galaxybase | TigerGraph |
Graph 500 | 一跳 | 5 | 5 | 984 |
二跳 | 127 | 936 | 497163 | |
三跳 | 643 | 2021 | 1754778 | |
四跳 | 1092 | 2466 | 1814567 | |
五跳 | 1120 | 2880 | 1819468 | |
六跳 | 1153 | 3318 | 1820878 |
测试项 | 查询响应时间 (单位:毫秒) | 平均邻居数 | ||
---|---|---|---|---|
数据集 | 测试内容 | Galaxybase | TigerGraph |
Twitter-2010 | 一跳 | 5 | 5 | 1001 |
二跳 | 457 | 1458 | 1990879 | |
三跳 | 8052 | 12416 | 22949457 | |
四跳 | 18569 | 24326 | 33384879 | |
五跳 | 22592 | 26553 | 34855258 | |
六跳 | 23291 | 27435 | 34999822 |
一跳查询下,各图数据库对于不同数据集的响应时间(单位:毫秒)
二跳查询下,各图数据库对于不同数据集的响应时间(单位:毫秒)
三跳查询下,各图数据库对于不同数据集的响应时间(单位:毫秒)
四跳查询下,各图数据库对于不同数据集的响应时间(单位:毫秒)
五跳查询下,各图数据库对于不同数据集的响应时间(单位:毫秒)
六跳查询下,各图数据库对于不同数据集的响应时间(单位:毫秒)
3.1.3 结论
最短路径是最常用的图算法之一。我们准备了 100 组样本,路径长度为1-5 的样本各占20%,设置超时时间为 5 分钟。
3.2.1 测试结果
测试项 | 查询响应时间 (单位:毫秒) | |
---|---|---|
数据集 | Galaxybase | TigerGraph |
Graph 500 | 36 | 1505 |
Twitter-2010 | 65 | 4403 |
3.2.2 结论
全图算法的运算需要遍历整个图,且计算结果描述的是整体的图特征。本次测试,我们取全图算法的三个例子进行测评比较:PageRank、弱连通子图和标签传播算法。
3.3.1 测试结果
测试项 | 平均响应时间 (单位:秒) | ||
---|---|---|---|
数据集 | 算法名称 | Galaxybase | TigerGraph |
Graph 500 | PageRank | 1.25 | 11.49 |
Weakly Connected Components | 0.60 | 10.11 | |
Label Propagation Algorithm | 3.70 | 33.32 | |
Twitter-2010 | PageRank | 54.21 | 227.65 |
Weakly Connected Components | 12.15 | 247.01 | |
Label Propagation Algorithm | 164.51 | 728.97 |
数据集为 Graph 500 时,各图算法平均响应时间(单位:秒)
数据集为 Twitter-2010 时,各图算法平均响应时间(单位:秒)
3.3.2 结论
读写性能压力测试,在 SF10 数据集下,虚拟出 100 个用户,同时对图数据库发送同一个类型的请求,该测试为检验图数据库并发性能的实用方法。
使用 SF10 数据集,在 100 并发的情况下压测 5 分钟,压测的内容如下:
1. 查询点、边
2. 增加点、边
3. 修改点、边
本次压测样本的选择策略如下:
1. 点样本:类型为 Comment,数据来自原数据集中所有点 id;
2. 边样本:边类型为 Person_Likes_Person,Person 指向 Post,数据来自原数据集中所有点id;
测试项 | 每秒处理请求数量 (单位:throughput/s) | ||
---|---|---|---|
数据集 | 测试内容 | Galaxybase | TigerGraph |
SF10 | 查询点 | 36736 | 1856 |
查询边 | 35356 | 1921 | |
增加点 | 35300 | 5234 | |
增加边 | 16169 | 5066 | |
修改点 | 35589 | 5225 | |
修改边 | 6881 | 5077 |
商务咨询
400-882-6897
售前咨询
0571-88013575、0571-88016275
企业邮箱
partner@chuanglintech.com
媒体合作
Marketing@chuanglintech.com
地址
浙江省杭州市西湖区三墩镇振华路666号名栖首座6号楼605室