<返回更多

主流开源分布式图数据库 Benchmark

2020-10-22    
加入收藏

1. 前言

近年来,深度学习和知识图谱技术发展迅速,相比于深度学习的“黑盒子”,知识图谱具有很强的可解释性,在搜索推荐、智能助理、金融风控等场景中有着广泛的应用。美团基于积累的海量业务数据,结合使用场景进行充分地挖掘关联,逐步建立起包括美食图谱、旅游图谱、商品图谱在内的近十个领域知识图谱,并在多业务场景落地,助力本地生活服务的智能化。

为了高效存储并检索图谱数据,相比传统关系型数据库,选择图数据库作为存储引擎,在多跳查询上具有明显的性能优势。当前业界知名的图数据库产品有数十款,选型一款能够满足美团实际业务需求的图数据库产品,是建设图存储和图学习平台的基础。我们结合业务现状,制定了选型的基本条件:

我们试用了 DB-Engines 网站上排名前 30 的图数据库产品,发现多数知名的图数据库开源版本只支持单节点,不能横向扩展存储,无法满足大规模图谱数据的存储需求,例如:Neo4j、ArangoDB、Virtuoso、TigerGraph、redisGraph。经过调研比较,最终纳入评测范围的产品为:NebulaGraph(原阿里巴巴团队创业开发)、Dgraph(原 google 团队创业开发)、HugeGraph(百度团队开发)。

2. 测试概要

2.1 硬件配置

2.2 部署方案

Metad 负责管理集群元数据,Graphd 负责执行查询,Storaged 负责数据分片存储。存储后端采用 RocksDB。

实例 1实例 2实例 3MetadMetadMetadGraphdGraphdGraphdStoraged[RocksDB]Storaged[RocksDB]Storaged[RocksDB]

Zero 负责管理集群元数据,Alpha 负责执行查询和存储。存储后端为 Dgraph 自有实现。

实例 1实例 2实例 3ZeroZeroZeroAlphaAlphaAlpha

HugeServer 负责管理集群元数据和查询。HugeGraph 虽然支持 RocksDB 后端,但不支持 RocksDB 后端的集群部署,因此存储后端采用 HBase。

实例1实例2实例3HugeServer[HBase]HugeServer[HBase]HugeServer[HBase]JournalNodeJournalNodeJournalNodeDataNodeDataNodeDataNodeNodeManagerNodeManagerNodeManagerRegionServerRegionServerRegionServerZooKeeperZooKeeperZooKeeperNameNodeNameNode[Backup]--ResourceManagerResourceManager[Backup]HBase MasterHBase Master[Backup]-

3. 评测数据集

主流开源分布式图数据库 Benchmark

 

4. 测试结果

4.1 批量数据导入

4.1.1 测试说明

批量导入的步骤为:Hive 仓库底层 csv 文件 -> 图数据库支持的中间文件 -> 图数据库。各图数据库具体导入方式如下:

4.1.2 测试结果

主流开源分布式图数据库 Benchmark

 

4.1.3 数据分析

4.2 实时数据写入

4.2.1 测试说明

4.2.2 测试结果

主流开源分布式图数据库 Benchmark

 


主流开源分布式图数据库 Benchmark

 

4.2.3 数据分析

4.3 数据查询

4.3.1 测试说明

4.3.2 测试结果

主流开源分布式图数据库 Benchmark

 


主流开源分布式图数据库 Benchmark

 

单个返回节点的属性平均大小为 200 Bytes。

主流开源分布式图数据库 Benchmark

 


主流开源分布式图数据库 Benchmark

 

主流开源分布式图数据库 Benchmark

 

4.3.3 数据分析

5. 结论

参与测试的图数据库中,Nebula 的批量导入可用性、导入速度、实时数据写入性能、数据多跳查询性能均优于竞品,因此我们最终选择了 Nebula 作为图存储引擎。

 

转自:https://www.cnblogs.com/nebulagraph/p/13850968.html

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>