CG Pipeline: 最佳图数据库性能对比--为您的CG生产数据服务

我们选择了四个较流行的图形数据库进行实验对比。

测试中会提供Python 代码段以显示如何使用每个数据库,之后我们将运行一个快速的基准测试,我们将在i7-6700 cpu @ 3.40GHz 上运行10 000 次我们的示例查询,然后比较各个图形数据库所需的时间及评价其性能

以下为四种图形数据库性能对比原创总结,详细对比了各个数据库的优缺点,以及原文作者做出的总结推荐:

图形数据库 语言 时间 优点 缺点 总结推荐
Cayley Go 50 秒 干净简洁的设计

1. 可视化UI不能正常工作,使用起来不是很直观项目的记录仍然很差,Python客户端不完整

2. 项目文档编制完善度很低,Python客户端不完整

过于年轻且文档编制完善度很低,不推荐应用于生产
Neo4j Java 17 秒

1.成熟的企业解决方案以及额外的功能(监控,备份,改进查询

2. 语法容易阅读,容易学习

3. 结果记录易于显示和分析,是Python dict 包含创建时指定的字段

python客户端不提供强大的API,它只允许直接使用名为Cypher的Neo4j的内部语言执行请求 Neo4j 功能齐全,速度敏捷,还有强大的查询语言及另外许多功能,可以满足使用图数据库的最常使用场景。缺点是官方的Python客户端功能薄弱
arangoDB C++ 26 秒

1. 灵活多样的数据库模型,支持文档,图形和键值对存储

2. 数据库创建非常简单直爽

3. 可以在云基础设施上轻松部署,并帮助构建REST API

4. arangoDB 的图形存储基于其自己的文档存储系统, 每个顶点都作为json条目存储在一个集合中

5. 查询可进行配置(例如,您可以选择深度优先遍历)arangoDB 提供了一个遍历对象,允许您构建特定的路径,还有其他的助手,如最短路径查找或路径长度检索,可以满足图形查询的大部分需求

6. 查询结果记录易于显示和分析

7. arangoDB 和Python 客户端很容易理解,而且文档编制完善

8. 在arangoDB Web UI中可视化您的图形,使数据存储更容易

9. 其开发公司非常活跃,并提供很多的额外支持项目

1.如果想用自己的脚本实现同等性,需要自己编写“获取或创建”方法

2. 还是一个年轻的数据库

arangoDB 是开发者和用户最友好的数据库,是图形数据库进行快速测验的最佳选择。除了图形存储以外,其文档存储也将使您的生产数据管理更加轻松方便,可以安全地用于在CG生产环境中
OrientDB Java 由于用户反馈问题,我们未对其进行测试 在CG生产环境中使用有风险

结论: arangoDB 是我们这组测试中最喜欢的数据库,如果正在考虑使用图形数据库,建议首选测试arangoDB。

原文链接: https://medium.com/@cgwire/cg-pipeline-the-best-graph-database-for-your-cg-production-data-4cedc9e49065

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...