图数据库之间的差异

偶尔接触了图数据库的相关知识,下面是整理列出的在评估图数据库时应考虑的因素:

属性图或RDF存储:RDF存储是专用图数据库;属性图是通用图数据库。如果您的数据为纯RDF,您的查询仅限于模式匹配或逻辑推理,那么RDF数据库能够满足您的要求。其他用户应该关注属性图。即便如此,由于可用RDF数据库的性能还不够强大,一些具有RDF知识图应用的企业仍转而使用属性图数据库。

装载能力:如果数据达到千兆位或更大,装载能力是关键的差异因素。如果您计划定期将不同数据从数据湖导入到图数据库,那么装载能力非常重要。加载速度和可用性都很重要。如果没有测试数据,可以考虑公共数据集,如15亿条边的Twitter粉丝网络(http://an.kaist.ac.kr/traces/WWW2010.html)或者18亿条边的Friendster网络(http://snap.stanford.edu/data/com-Friendster.html)。首先,图数据库是否需要您预先定义模式?如果是,这是否直观?它是否支持您需要的数据类型,包括复合类型?数据库能否直接从数据文件中提取、转换和加载(ETL)数据?或者您是否需要预处理数据?它能否处理多种常见输入文件格式?加载1000万条边需要多久?2000万条边呢?数据库能否随图的大小增加而保持良好的加载速度?它是否支持并行加载以达到更高的吞吐量?它是否支持超大加载作业所需的计划和重新开始?这些问题将促进您进行评估。

原生图存储:许多图数据库为非原生数据库,这意味着他们在关系表、RDF三元组或磁盘上的键值对中存储图数据。将数据获取到内存后,他们将提供中间层API以模拟图视图和图遍历。与之相反,原生图数据库直接以图模型格式(点和边)存储数据。最有名的原生图包括TigerGraph和Neo4j。非原生图是折中解决方案。他们虽然能更轻松地支持多模态数据库(与一个数据存储相比提供更多数据模型),但牺牲了图性能。而原生图的边和点存储模型提供内置索引,可实现更快速、更高效的图遍历。如果数据集很大,非原生图通常难以处理3步以上的查询。

有模式或无模式:某些图数据库称,它们不需要预定义模式。某些图数据库则遵循传统关系数据库模型,需要预定义模式。无模式似乎更好(减少架构师的工作),但这会影响性能。预定义模式可实现更高效的存储、查询处理和图遍历,因此,定义模式的少许初始工作可带来几倍的价值。不过,如果需要预定义模式,请确保数据库支持模式更改(当数据库在使用中时,最好支持在线更改)。可以确保您设计的初始模式不是最终模式。

OLTP/OLAP和HTAP:您希望图数据库执行哪类操作?某些图平台纯粹是和大规模处理(OLAP),例如PageRank或社区检测。优秀的OLAP图数据库应该具备高度并行的处理设计和良好的可扩展行。某些图数据库专为“点查询”而设计,从一个或几个点开始若干步遍历。但是,要成为真正的事物数据库(用于OLTP),它应该支持ACID事务、并发性和很高的每秒查询量(QPS)。如果事务包含数据库更新,则必须做到实时更新。极少有图数据库能同时满足上述要求,因此可考虑混合事务/分析处理(HTAP)数据库。

实时更新:实时更新意味着数据库更新(添加、删除或修改)可以与数据库上的其他查询同时进行,而且更新可以很快完成(提交)和可用。常见的图更新操作包括插入/删除新点/边以及更新现有点/边的属性。理想情况下,实时更新应与并发控制相结合,以便多个查询和更新(事务)可以同时运行,但最终结果与事务按顺序运行时相同。大多数非原生图平台(例如,Graphx、Datastax DSE Graph)不支持实时更新,因为其数据存储系统(HDFS、Cassandra)不可变。

实时深度联系分析:在如今的大多数图数据库上,查询响应速度从三步开始显著降低。然而,图数据库的真正价值在于找到那些深藏在几步之后的非表面关联。要检验一个图数据库的深度联系性能,一种简单的方法是在大型(约10亿条边)图上运行k值递增的一系列k步邻域大小查询。也就是说,找到距离起始点一步、两步、三步以至更多步的所有点。为集中于图遍历,而非IO时间,仅返回k步邻点的数量。

可扩展性和性能:可扩展性是大数据时代的一个重要特征。数据总是层出不穷,您拥有的数据越多/越丰富/越新鲜,分析和洞察能力就会越强。用户需要确保他们的数据库能够增长。数据库可扩展性可划分为四个主要方面:1.软件支持:软件对可管理的实体数量或数据大小是否有限制?2.硬件配置:数据库是否能利用单台计算机上增加的硬件容量(纵向扩展)?数据库是否能分布在不断增长的计算机集群中(横向扩展)?3.纵向扩展性能:在一个完美的系统中,如果数据、内存和磁盘空间全部增加S倍,那么全图加载时间应该增加S倍,点查询QPS应该基本保持不变,分析(全图)查询时间应该根据算法的计算复杂度而增加。也就是说,我们料想到运行速度减慢,但仅限于处理的数据增加的情况下。4.横向扩展性能:在一个完美的系统中,如果数据和计算机数量全部增加S倍,那么全图加载时间应该保持不变(数据的增量和计算机的增量相互抵消),点查询QPS应该最多增加S倍(改进),分析(全图)查询时间应根据算法的计算复杂度除以S而增加。例如,一个图在2倍数量的计算机上增加到2倍的边数,PageRank在理想情况下需要的时间不变,因为PageRank的计算力随着边数而等比例扩大。由于计算机的数据传输速度比计算机内部传输速度慢,所以没有系统能达到如此完美的程度,但您可以比较系统,考察他们与理想标准的接近程度。注意:某些并行设计出色的数据库可以随着CPU核数的增加而扩展。严格来讲,这是纵向扩展,但其行为更类似于横向扩展。

企业需求:除了图数据库自身的基本特征,企业还需要对安全性、可靠性、维护和管理的支持。其中很多要求与传统数据库的要求是相同的;基于角色的访问控制、加密、多租户、高可用性、备份和还原等。但是,由于图数据库市场不太成熟,并非所有供应商都拥有一系列全面的企业特征。客户可能愿意在上述部分要求上灵活变通,以取得图数据库的独特优势。

图可视化:图数据库所独有的决定性因素是:作为内含功能提供或通过第三方工具支持的图显示能力。优秀的视觉显示非常有助于理解数据。一个图可显示多大?如何确定布局?可视化系统是否还支持图探索或查询?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值