图数据库与关系数据库的实验对比——意大利商会 InfoCamere 案例

摘要:
InfoCamere是附属于意大利商会的IT公司,主要设计和开发最新和创新的IT解决方案和服务,它经过一个公众也能够访问的网络链接商会及其数据库。借助InfoCamere,意大利和国外的企业,公共机构,行业协会,专业团体和简单的公民能够轻松获取在乎大利注册和运营的全部业务的最新官方信息和经济数据。
意大利商会经过遍及全国的300多个分支机构来服务和促进意大利企业的公共机构信息交流。InfoCamere
是商会的服务系统,帮助他们实现商业利益。在实施意大利数字化议程方面发挥了关键做用,涉及到国家生产系统的数字化转型过程,特别是支持中小企业的数字化。
实验案例由 Luca Sinico (InfoCamere 软件开发人员) 负责编写。数据库

实验概述

InfoCamere 于二零一六年下半年展开图形数据库领域的检验工做,工做的目的是对该技术的主要特性进行调查; 在概念和性能方面比较市场上的一些可用产品以及关系解决方案;并检查一些InfoCamere应用程序的图形数据库的采用可能性。这项工做是基于意大利企业注册摘要得到的数据集,并包含有关企业参股的数据。图的节点能够是天然人或公司,而且收集关于面额,公司的股本,注册国家,惟一的财政标识符等的数据。图的边缘表明其中的股权参与。缓存

picture-3-768x547.png

在咱们的工做中,咱们检查了两种主要类型的图形数据模型,即“属性图”和“RDF”。尽管RDF(W3C标准)表明了实现连接数据和语义Web的有效方法,尽管它以图形的形式组织数据,可是咱们发现属性图模型(一种“行业标准”)能更好地知足咱们的要求。实际上,它容许在边上定义属性。而RDF不容许直接使用它。另外,针对RDF(SPARQL)提出的标准查询语言对于一般由支持“属性图”模型的DBMS提供的查询语言显示出一些限制。两个简单的例子是缺乏最短路径计算函数,而且可能为可变长度路径搜索表示最大深度级别。服务器

数据进入图形数据库的流程如图2所示。从存储意大利商业注册的复杂关系数据库开始,经过用户需求或更新操做不断产生一些标题搜索。标题搜索保存经过组合不一样表中的不一样记录得到的汇总数据,这对于某些应用是有用的。正由于如此,这些数据放在关系数据库上以支持其操做。因为这个第二关系数据库主要集中在与公司参股相关的方面,图形数据库从中获取数据。网络

picture2.png

查询

咱们开发的查询能够被这些数据集上的应用程序所使用,也能够稍微强调数据库管理系统的能力。特别是咱们开发了一些标准查询和一些更具体的查询。
鉴于一个特定的公司,由其“财政ID”肯定,咱们要求其员工;它的参与;或二者同时;从而经过将搜索限制到仅一个深度级别。可是,咱们也要求直接和间接参与一家公司(一样也是为了同事)。这对应于没有深度限制的图的探索。此外,因为数据集构成一个图(而不是“简单”树),两家公司之间的路径多是多个。这使咱们要求提供链接两家公司的完整的直接路径列表;或者,也能够是最短的一个。咱们还要求两家公司的共同参与(或同事)。数据集的图形性质也致使了另外两个查询的制定:第一个返回与检索到的参与节点一块儿, 而且检索到的深度值下降; 第二个查询计算每一个深度级别的与给定节点的关联公司,可是避免对它们进行屡次计数。
查询的开发有助于调查目的和更好的数据探索体验。函数

图形数据库与关系数据库的比较

咱们将数据集导入了三个最知名的图形数据库,分别是ArangoDB v3.0.10; Neo4j v3.0.6;和OrientDB v2.2.11(均为社区版)。咱们还将数据集导入了一个众所周知的关系数据库:PostgreSQL v9.6.1。关系型数据库的选择没有强烈的约束,由于性能主要受SQL语言性能的影响。这些产品已经安装在虚拟服务器上,资源适中,所以对于其余相似硬件可用性的公司来讲,结果也是有用的。对于每一种查询,咱们选择了三个表明三种不一样负载的DBMS的三个节点。特别是:一个节点表示一个轻量级的案例,可能较少的返回的结果,或者较短的勘探深度值; 一个节点表明中间的案例; 还有一个重量级的案例。咱们不止一次地执行了这些查询,因此咱们也研究了延迟加载的缓存之间的性能差别。性能

因为目前尚未图形数据库的标准查询语言,所以每一个图形DBMS都提供本身的查询语言。这促使咱们评估各类查询语言的表达性和易用性。测试

结果

咱们收集的结果归纳以下:spa

  • 图表数据库提供了一些特地设计的查询语言,这些语言大大有助于描述图遍历查询,也有助于应对该领域的一些典型计算问题。使用SQL或借助存储过程,相同的查询很难以高效的方式实现。设计

  • 虽然关系数据库对较简单的查询执行得很好,但对于图挖掘查询的重量级案例(即那些有大量待分析节点的数据,并须要遍历的高水平的值),分析显示三个图数据库的性能一般要比关系型数据库高出一个或两个数量级。3d

  • ArangoDB显示了良好的导入和查询性能,尤为适用于轻量级和中等工做负载的状况。

  • 关于ArangoDB 测试版本的关注点之一就是内存占用 RAM
    greedy。然而,ArangoDB声称已经用他们新的3.2版本和新的RocksDB存储引擎解决了这个“问题”。

实验结论

因为在研究工做中获得了良好的反馈,在导入和执行时间方面表现良好,文档良好,易于使用和商业价格合理,ArangoDB 在InfoCamere 的一些应用程序中表现出了很好的潜力。最终,咱们决定在咱们正在开发的演示应用程序中使用ArangoDB。

关于比较实验的一些额外细节能够在这里找到。

英文原文

相关文章
相关标签/搜索