最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-6 12:54:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

今天,我们就通过基准测试比较不同的图形数据库,分享我对于一个图数据库的评估与见解。您可以关注TigerGraph微信公众号,对话框输入“选型”获取下载基准测试报告

首先说说加载能力
如果您计划使用图数据库来处理现实生活中的问题,这是区别图数据库好坏的第一个重要标准。我建议尝试一个超过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步)性能。

是否支持内置的图可视化

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

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

楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-5-3 02:11

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表