基于 Nebula Importer 批量导入工具性能验证方案总结
Nebula Graph 数据导入工具 Nebula Importer 的数据导入性能到底如何?社区用户 duspring 亲测给你答案。
一、 测试服务器配置
二、Nebula Cluster 环境
- 操作系统:CentOS 7.5+
- 具备官方要求的软件环境,如:gcc 版本 7.1.0+,cmake 版本 3.5.0+,glibc 版本 2.12+ 及基本依赖包
- Nebula 版本:V2.0.0
- 后端存储:3 个节点,RocksDB
三、数据准备及数据内容格式说明
补充说明:
- edge.csv 139,951,301 计约:1.4 亿条,6.6 G
- vertex.csv 74,314,635 计约:7 千万,4.6 G
- 边和点合计 214,265,936 计约:2.14 亿,11.2 G
四、验证技术方案汇总说明
>>>>
方案:采用 Nebula Importer 批量导入工具
编写导入 yaml 文件
编写 yaml 导入文件
创建 schema
Nebula Console 创建 space 及 tag 和 edge
编译
编译 nebula-importer 并执行 shell 命令
结果输出
输出结果
补充说明:
机器配置
机器配置要求高(CPU 核数、内存空间及磁盘存储空间)
- hadoop 10
hadoop 11
hadoop 12
配置要求建议:
- 对比 3 台机器的内存空间发现:数据量在 2 亿+以上消耗内存空间还是挺严重的,因此对内存空间的配置尽可能的大
- CPU 核数及磁盘空间等,参考官网:https://docs.nebula-graph.com.cn/master/4.deployment-and-installation/1.resource-preparations/
语句测试
图数据库 Nebula Graph 原生支持 nGQL 语句,且兼容 openCypher,特别说明:nGQL 暂不支持遍历所有点和边,例如: ,需确保 MATCH 语句有至少一个索引可用。如果需要创建索引,在已有相关的点、边或属性的情况下,必须在创建索引后重建索引,索引才能生效。
支持 Cypher 语句:
方案总结
通过大数据量在 3 台 Nebula Graph 集群验证,通过此种方案批量写入的性能可以达到生产业务场景的性能要求,但是基于 CSV 文件大数据量的存储后期需要在 Hadoop 分布式存储平台通过数据仓库方式存储且作为数据源,通过 yaml 配置项指定 tag 及 edge 的具体字段配置好,交由工具处理。
文章转载自公众号:Nebula Graph Community