图数据库选型标准有哪些?

图数据库选型标准有哪些?图数据库由于其相比关系型数据库的优点而备受关注。然而,在亚马逊、微软、甲骨文、IBM等不同技术公司纷纷涌入这个领域的情况下,想要在项目中选型图数据库时,评估不同供应商的产品就变得更具挑战性。 今天,我们就通过基准测试比较不同的图形数据库,分享我对于一个图数据库的评估与见解。 数…

本文转载自公众号:”TigerGraph维加星”。

图数据库由于其相比关系型数据库的优点而备受关注。然而,在亚马逊、微软、甲骨文、IBM等不同技术公司纷纷涌入这个领域的情况下,想要在项目中选型图数据库时,评估不同供应商的产品就变得更具挑战性。

今天,我们就通过基准测试比较不同的图形数据库,分享我对于一个图数据库的评估与见解。

 

数据加载能力

如果您计划使用图数据库来处理现实生活中的问题,这是区别图数据库好坏的第一个重要标准。我建议尝试一个超过1B条边和50M-100M个顶点的公共数据集。检验加载效果包括:加载语言/API支持、加载速度(应在最多1小时内完成)、增量/批量加载支持等。如果您已经完成了这个最小需求加载,并且结果令人满意,那么接下来要尝试的是找一个具有超过10种顶点类型和边类型的图,每个类型都具有不同的属性。您能很容易地加载吗?它是否支持复杂的属性类型,如Map、Set和List?JSON文件的加载表现如何?所有这些问题都是处理现实中图数据的实际障碍。

 是否支持实时更新

实时更新,意味着查询处理数据库的同时进行更新。数据库更新可以是插入或删除一个新的顶点或边、更新现有顶点或边的属性等等。图数据库提供并发控制,使得不同的操作可以交错进行,但是最终的结果是连贯一致的,就像所有操作都是按照顺序执行的一样。要注意的是图计算平台不同于图数据库。大多数基于HDFS的图平台(例如GIRAPH,GraphX)由于HDFS的设计限制,不支持实时更新。

 磁盘存储是否基于原生图格式?

许多图数据库是非原生的,这意味着它们将图数据以关系模型、RDF三元组或键值对形式储存在磁盘中。在内存中,它们提供中间层API来模拟图形遍历。原生图数据库将图数据以图模型形式储存—顶点和边。此类中最受欢迎的是TigerGraph和Neo4j。原生图存储格式的优势在于它免费继承了图模型好处,因为图模型是自然索引,并且每个查询只涉及索引之后的相关数据。TigerGraph与Neo4j的区别在于,TigerGraph可以通过MPP架构进行扩展,而Neo4j使用双链表来存储边,且不是MPP架构,因此无法扩展。

 查询语言的表达能力

图语言可以是图灵完备的,也就是说用户可以使用它来编写任何算法,从而从数据中提取有价值信息。目前,还没有一个主导的图查询语言,市场上有许多表达能力不同的产品。来自TigerGraph的GSQL是一种用户友好、表达能力强的查询语言,它更像是一种类PL/SQL语言,用户可以使用它来声明性地编写任何图算法。另一种声明性语言是Neo4j的Cypher,但是用它很难来编写精细控制的图分析算法。第三个是Gremlin表达能力强,但学习曲线不低。用户必须阅读每种查询的手册,并要求不同的查询来测试和发现每种查询的表现力、学习曲线、设计理念等。关系数据库专家可以点击这里( 图数据库查询语言的八个先决条件)阅读指南,其中介绍了如何发现并评估图查询语言。

 支持计算和存储时的横向、纵向扩展

一些图数据库可以在存储时水平扩展(横向扩展),这意味着如果机器翻倍,存储量也可以翻倍。然而,计算速度并没有翻倍。一些图数据库也可以在计算中横向扩展。如果要这样做,他们必须有一个MPP架构。纵向扩展的意思是在一台机器上,图计算引擎可以探索多核进行并行计算,并在添加更多核时实现加速。检查这个项目时的注意点就是永远不要忘记加载能力。如果机器翻倍导致加载工作量翻倍或甚至三倍,它就不能被看作是一个合格的横向扩展数据库。TigerGraph的MPP架构可横向纵向扩展。亚马逊海王星无法横向扩展,它只可以由最初数据的副本来增加吞吐量。Janus Graph和ArangoDB可以横向存储,但不能在同一查询中计算。

支持OLTP,OLAP,或HTAP。有些图平台纯粹用于离线大规模处理,即OLAP类型,如PageRank、Gradient Descent、弱连同子图等。一些图数据库支持点遍历查询(例如输出一个给定的人的3步邻居),这更多是OLTP风格。一个好的衡量标准是看他们是否谈论QPS每秒查询,如果是,他们很有可能支持OLTP。有些可以支持这两种,即HTAP。尝试简单的连同子图和页面排序算法,看看他们能否在10亿边的图上完成。

 

是否支持多图

这是一个企业安全性和并发性的需求,不同部门希望在同一时间,在同一个服务器或集群上得到不同图形和子图的访问权限,无论是独有还是共享的权限。到本文发布之时,唯一支持原生多图的供应商是TigerGraph。Neo4j可以允许您附加不同的图文件在当前使用,但不能在用同一个服务器的时候同时使用多图。ArangoDB有图视图的概念。

 

是否需要先建模

一些图数据库供应商声称它们不需要预建模。其他图数据库供应商需要预先建模,如传统的关系数据库,并支持模式的在线调整。在我看来,预先建模对于企业的实时应用非常重要,因为有了模型再导入数据,这实际上要求开发人员或架构师要用设计时间来预先考虑输入什么以及如何组织图表。从数据实例中分离元数据是一种众所周知的在数据库系统中获得更好性能的技术。遗憾的是,当前的图数据库市场过分强调了元素类型的爆炸性数量,因此提倡图模式的减少作为解决这个挑战的优势,这实际上在查询处理期间导致了显著的性能下降。

  原生图数据库还是衍生图数据库?

作为一个数据库建设者,我个人不同意用一个解决方案适应所有要求。我遵循技术诀窍,并相信提供最好最新的专业数据库,才能实现最佳的性能和用户体验。在当前市场上,太多的供应商通过在现有核心上添加新的界面来改变他们提供的产品,以适应新的市场趋势,而他们的核心最初是为另一个市场设计和架构的。这种改变很难在数据管理软件部门交付最好的产品,并且在需要的企业中对正确的技术采用会造成摩擦。

 是否支持实时深度链接分析查询
实时实时实时,重要的事说三遍

在现今的大多数图数据库中,查询响应时间从3步开始显著减缓。一个能判断这是否是顶级图数据库的简单测试是:测试他们的3步路径邻居计数查询。对于一个有着十亿个边的图,给定一个输入顶点,该图数据库能否找到所有距离输入顶点k步的邻接顶点,并返回总计数?这个简单的测试是区分图数据库好坏的一个很好的标准。在我们即将推出的新基准测试中,我将揭示前五图数据库的真实表现,只有一个可以满足这个简单的测试。所有其他的都失败了。这是因为从播种顶点开始,这个顶点的邻居对于远离这个点的每额外一步都成指数级增长。大多数图数据库供应商避免谈论的一个标准是深度链接分析查询(超过3步)性能。

 

是否支持内置的图可视化

使用图数据库的一个很好的优点就是面向对象的思维。图数据库与传统的关系数据库不同,传统数据库从建模到查询结果的所有内容都采用表格格式,而图数据库将真实世界的对象清晰地映射成顶点和边。如果返回的结果以顶点和边的形式可视化,那么人眼可以很容易地理解查询结果。后期我们会分享一些案例。

总之,图数据库从多方面来看都是最近热点和新出萌芽。建议采购者或专业人士在开始进入图数据库选型之前,先多加比较考虑。

关于”NoSQL漫谈”

NoSQL主要泛指一些分布式的非关系型数据存储技术,这其实是一个非常广泛的定义,可以说涉及到分布式系统技术的方方面面。随着人工智能物联网大数据云计算以及区块链技术的不断普及,NoSQL技术将会发挥越来越大的价值。

今天的文章图数据库选型标准有哪些?分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/17417.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注