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

https://www.google.com.ph/search?q=%E5%9B%BE%E6%95%B0%E6%8D%AE%E5%BA%93%E6%AF%94%E8%BE%83&oq=%E5%9B%BE%E6%95%B0%E6%8D%AE%E5%BA%93%E6%AF%94%E8%BE%83&aqs=chrome..69i57.3592j0j1&sourceid=chrome&ie=UTF-8

https://www.zhihu.com/question/31819867 https://www.jianshu.com/p/6cab7a150755 https://my.oschina.net/u/3491128/blog/1535311 http://f.dataguru.cn/thread-233314-1-1.html http://nosql.mypopescu.com/post/40759505554/a-comparison-of-7-graph-databases https://support.objectivity.com/

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

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

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

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

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

过于年轻且文档编制完善度很低,不推荐应用于生产 Neo4j Java 17 秒 1.成熟的企业解决方案以及额外的功能(监控,备份,改进查询)

  1. 语法容易阅读,容易学习
  2. 结果记录易于显示和分析,是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.如果想用自己的脚本实现同等性,需要自己编写“获取或创建”方法

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

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

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏架构师小秘圈

电子商务网站是这样诞生的

来自:cnblogs.com/xiaoMzjm 前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变。 该系统具备的功能: ...

3668
来自专栏JAVA高级架构

浅谈 MySQL 集群高可用架构

新年快乐 前言 高可用架构对于互联网服务基本是标配,无论是应用服务还是数据库服务都需要做到高可用。对于一个系统而言,可能包含很多模块,比如前端应用,缓存,数据库...

37915
来自专栏WeTest质量开放平台团队的专栏

【长文干货】浅析分布式系统

我们常常会听说,某个互联网应用的服务器端系统多么牛逼,比如QQ、微信、淘宝。那么,一个互联网应用的服务器端系统,到底牛逼在什么地方?为什么海量的用户访问,会让一...

1202
来自专栏风中追风

分布式基础_All-In-One到SOA的分布式架构演进

在诞生之初始,应用与数据库是部署在同一台机器上,这时的用户量、数据量规模都比较小,这样的架构既简单实用、便于维护,成本又低,成为了这个时代的主流架构方式。随着用...

4039
来自专栏java思维导图

【经典必读】web网站架构演变过程,电商网站升级打怪

前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变。 该系统具备的功能: 用户模块:用户注册和管理 商品模块:商品展示和管...

3314
来自专栏Java架构师学习

用一个简单的方法构建高可用服务端

2344
来自专栏FreeBuf

PayPal曝远程代码执行漏洞(含视频)

日前知名在线支付公司PayPal被曝存在严重的远程代码执行漏洞,攻击者可以利用该漏洞在PayPal的web应用服务器上执行恶意命令,最终获得服务器控制权限。 漏...

26910
来自专栏互联网杂技

什么是微服务

在介绍微服务时,首先得先理解什么是微服务,顾名思义,微服务得从两个方面去理解,什么是"微"、什么是"服务", 微 狭义来讲就是体积小、著名的"2 p...

1821
来自专栏Java架构

阿里P9架构师讲解从单机至亿级流量大型网站系统架构的演进过程

2055
来自专栏北京马哥教育

sar 找出系统瓶颈的利器

sar是System Activity Reporter(系统活动情况报告)的缩写。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当...

3496

扫码关注云+社区

领取腾讯云代金券