文档章节

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

GermanWifi
 GermanWifi
发布于 2017/09/11 17:20
字数 872
阅读 113
收藏 1
点赞 0
评论 0

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

测试中会提供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

 

© 著作权归作者所有

共有 人打赏支持
GermanWifi
粉丝 128
博文 16
码字总数 14016
作品 0
德国
程序员
CG_Hadoop:基于MapReduce的计算几何

摘要:Hadoop使用了MapReduce编程范式,目前已经被公认为是分布式环境中分析大数据的标准框架。然而,它并不能很好的应用于大规模的计算几何处理。本文介绍的CG_Hadoop是一套可伸缩的和高效的...

openthings ⋅ 2015/12/20 ⋅ 0

[Unity Shader] Shader学习笔记1 - 概述1

GPU发展 GPU英文全称Graphic Processing Unit,中文翻译为“图形处理器”。NVIDIA在1999年发布GeForce 256图形处理芯片时首先提出GPU的概念。GPU所采用的核心技术有硬件T&L、立方纹理(Cube m...

NickHomeSelf ⋅ 2016/08/07 ⋅ 0

看完离编写高性能的 JavaScript 又近了一步

副标题:常见的JavaScript内存泄露 这是关于JavaScript内存泄露相关的序列文章中一篇。由于时间有限更新进度会有点慢,但会持续更新的。自己也在学习中,难免对某些知识点的理解不是很正确,...

zhansingsong ⋅ 2017/12/05 ⋅ 0

cg数据类型

Cg 支持7 种基本的数据类型: 1. float,32 位浮点数据,一个符号位。浮点数据类型被所有的profile 支持(但是DirectX8 pixel profiles 在一些操作中降低了浮点数的精度和范围); 2. half,...

付翔 ⋅ 2016/12/30 ⋅ 0

apache kafka消息服务

apache kafka中国社区QQ群:162272557 apache kafka参考 http://kafka.apache.org/documentation.html 消息队列分类: 点对点: 消息生产者生产消息发送到queue中,然后消息消费者从queue中取...

老先生二号 ⋅ 2017/08/06 ⋅ 0

ogre的材质与unity的材质的相似性

最近研究了火炬之光的游戏资源,这款游戏采用ogre引擎,也就促使我研究了一下ogre的材质文件格式,发现和我经常使用的unity的材质格式有很多相似之处,因此分享出来给大家。 ogre的材质文档可...

李勇2 ⋅ 2015/02/28 ⋅ 0

D20 Kafka及其常用命令

一、Kafka客户端常用命令: 启动 nohup bin/kafka-server-start.sh config/server.properties & 停止 bin/kafka-server-stop.sh 创建kafka topic bin/kafka-topics.sh --zookeeper server:21......

u014253445 ⋅ 2017/08/26 ⋅ 0

DirectX 12 将会带来非凡的性能提升

Stardock公司的CEO Bard Wardell通过他的官方博客透露了一些微软即将到来的图形API DirectX 12的一些消息,根据他的说法,DX12将会非常特别,因为它能够把进程分配给多个核心,在提高效率同时...

oschina ⋅ 2014/12/16 ⋅ 15

进阶隐式矩阵分解——探讨如何实现更快的算法

本文由北邮@爱可可-爱生活 老师推荐,阿里云云栖社区组织翻译。 以下为译文: 阶隐式矩阵分解 前不久我发布了一个Python版本的隐式交替最小二乘矩阵分解算法(代码),虽然其速度不慢;但是本...

【方向】 ⋅ 2016/12/17 ⋅ 0

分布式消息队列(Message Queue)系统:kafka

分布式系统很重要的一个设计原则是松耦合,即尽量减少子系统间的依赖。这样各个子系统可以相互独立的进行演进,维护,重用等。Message Queue (MQ)是一种很好的解耦手段。要了解MQ在系统整合...

Si2 ⋅ 2015/03/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从 Confluence 5.3 及其早期版本中恢复空间

如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。你可以使用临时的 Confluence 空间安装,然后将这个 Confluence 安装实例升级到你现...

honeymose ⋅ 14分钟前 ⋅ 0

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部