我们选择了四个较流行的图形数据库进行实验对比。测试中会提供Python 代码段以显示如何使用每个数据库,之后我们将运行一个快速的基准测试,我们将在i7-6700 CPU @ 3.40GHz 上运行10 000 次我们的示例查询,然后比较各个图形数据库所需的时间及评价其性能。
以下为四种图形数据库性能对比原创总结,详细对比了各个数据库的优缺点,以及原文作者做出的总结推荐:
图形数据库 | 语言 | 时间 | 优点 | 缺点 | 总结推荐 | |
---|---|---|---|---|---|---|
Cayle | Go | 50 秒 | 干净简洁的设计 | 1. 可视化UI不能正常工作,使用起来不是很直观项目的记录仍然很差,Python客户端不完整 | -- | |
-- | -- | -- | -- | 2. 项目文档编制完善度很低,Python客户端不完整 | 过于年轻且文档编制完善度很低,不推荐应用于生产 | |
Neo4j | Java | 17 秒 | 1.成熟的企业解决方案以及额外的功能(监控,备份,改进查询) | python客户端不提供强大的API,它只允许直接使用名为Cypher的Neo4j的内部语言执行请求 | Neo4j 功能齐全,速度敏捷,还有强大的查询语言及另外许多功能,可以满足使用图数据库的最常使用场景。缺点是官方的Python客户端功能薄弱 | |
-- | -- | -- | 2. 语法容易阅读,容易学习 | -- | -- | |
-- | -- | -- | 3. 结果记录易于显示和分析,是Python dict 包含创建时指定的字段 | -- | -- | |
ArangoDB | C++ | 26 秒 | 1. 灵活多样的数据库模型,支持文档,图形和键值对存储 | 1.如果想用自己的脚本实现同等性,需要自己编写“获取或创建”方法 | ArangoDB 是开发者和用户最友好的数据库,是图形数据库进行快速测验的最佳选择。除了图形存储以外,其文档存储也将使您的生产数据管理更加轻松方便,可以安全地用于在CG生产环境中 | |
-- | -- | -- | 2. 数据库创建非常简单直爽 | 2. 还是一个年轻的数据库 | -- | |
-- | -- | -- | 3. 可以在云基础设施上轻松部署,并帮助构建REST API | -- | -- | |
-- | -- | -- | 4. ArangoDB 的图形存储基于其自己的文档存储系统, 每个顶点都作为json条目存储在一个集合中 | -- | -- | |
-- | -- | -- | 5. 查询可进行配置(例如,您可以选择深度优先遍历)ArangoDB 提供了一个遍历对象,允许您构建特定的路径,还有其他的助手,如最短路径查找或路径长度检索,可以满足图形查询的大部分需求 | -- | -- | |
-- | -- | -- | 6. 查询结果记录易于显示和分析 | -- | -- | |
-- | -- | -- | 7. ArangoDB 和Python 客户端很容易理解,而且文档编制完善 | -- | -- | |
-- | -- | -- | 8. 在ArangoDB Web UI中可视化您的图形, 使数据存储更容易 | -- | -- | |
-- | -- | -- | 9. 其开发公司非常活跃,并提供很多的额外支持项目 | -- | -- | |
OrientDB | Java | -- | -- | -- | 由于用户反馈问题,我们未对其进行测试 |
结论: ArangoDB 是我们这组测试中最喜欢的数据库,如果正在考虑使用图形数据库,建议首选测试ArangoDB。
原文链接: https://medium.com/@cgwire/cg...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/40838.html
摘要:加上内部函数被返回,被其他对象引用,形成了闭包,因此对应的变量对象存在于闭包函数的作用域链中。因此访问次数越多,费用越高,页面性能就会受到很大影响。尽管还主动执行了一次操作,曲线也没有下降。 副标题:常见的JavaScript内存泄露 这是关于JavaScript内存泄露相关的序列文章中一篇。由于时间有限更新进度会有点慢,但会持续更新的。自己也在学习中,难免对某些知识点的理解不是很正确...
摘要:向开发控制台打印一条消息,常用来在开发时调试分析。所以最好不要在生产环境中任何对象。因此最好不要在页面中任何大对象,这样可能会影响页面的整体性能,特别在生产环境中。 console.log:向web开发控制台打印一条消息,常用来在开发时调试分析。有时在开发时,需要打印一些对象信息,但发布时却忘记去掉console.log语句,这可能造成内存泄露。 在传递给console.log的对象是...
阅读 1791·2021-09-03 10:50
阅读 1325·2019-08-30 15:55
阅读 3368·2019-08-30 15:52
阅读 1230·2019-08-30 15:44
阅读 934·2019-08-30 15:44
阅读 3318·2019-08-30 14:23
阅读 3550·2019-08-28 17:51
阅读 2290·2019-08-26 13:52