图数据库的类别有哪些?解读:图数据库分类与原理

本文介绍了图数据库的四种类型:原生图存储与处理、存储原生处理非原生、存储非原生处理原生以及存储与处理均非原生。分别以Neo4j、AllegroGraph、JanusGraph和FlockDB为例,阐述了每种类型的特性和应用场景。选择图数据库时,应根据实际需求考虑存储和处理方式。

图数据库作为新兴NoSQL数据库的代表,可以分为四种类型。图数据库应用广泛,无论是互联网行业还是传统的金融、地产、医疗等行业,都可以通过图数据库的应用进一步提升企业效率。数易轩致力于图数据库技术服务,为您介绍图数据库的四个分类。

01 图存储和图处理

通常,我们可以根据图数据库底层存储模式和处理方式两个维度对产品进行分类,所以在了解图数据库分类之前,首先解释一下这两个维度的含义。

1 存储方式维度

原生(Native)图存储:数据存储模式专门为存储和处理图而设计优化,可支持各类图算法的快速遍历。

非原生(Non-Native)图存储:采用关系数据库、面向对象数据库或其它通用数据存储策略存储数据,未专门优化存储方式。

2 处理方式维度

原生图处理:采用免索引邻接(index-free adjacency)机制,通过指针专门保存节点之间的指向关系,每个节点都会维护对相邻节点的引用,表现为相邻节点的微索引,而非全局索引,因此图遍历只和搜索图的数量有关,与整体规模无关,是高性能图遍历、查询和写入的关键。

非原生图处理:不采用免索引邻接机制保存节点之间的关系。

02四类图数据库

基于底层存储模式和处理方式两个维度,我们可以将图数据库产品划分为四个分类。

2.1 存储与处理均为原生

针对图的存储和管理特点,这类图数据库的数据结构经过专门的设计和优化;通常采用免索引邻接机制,逻辑上的关联节点在数据库中存在物理的“指针”指向彼此,从而使数据读写和索引性能显著提升。能充分体现图数据库实时处理关系的优越性,可谓之“真”图数据库。这种图数据库也是主流图数据库厂商所采用的技术,代表产品包括Neo4j、OrientDB、TigerGraph等,应用广泛。

2.2 存储原生处理非原生

此种图数据库通常不是采用属性图数据模型,而是采用RDF三元组或者超图格式存储图数据,主要用于学术研究,面向语义分析、机器学习等专门领域。代表产品有AllegroGraph等。

AllegroGraph采用了文档和图技术相结合的混合数据模型,主要用于处理以RDF为中心的语义网应用,在读写和查询RDF三元组数据时具有较高性能。

2.3 存储非原生处理原生

此类图数据库采用HBase、Bigtable、Cassandra、关系型数据库等方式存储图数据,通过在内存中将数据转换为图结构实现图遍历等算法,通常情况下,其多度查询时的性能劣于存储与处理均原生的数据库,大多数开源图数据库均属于此种类型。由于Hadoop技术的流行,采用了Hbase等分布式存储的图数据库的学习成本相对较低,这是其在开源产品中更为常见的一个原因。同时,由于利用了分布式存储方式,其存储容量比较容易实现水平扩展,但由于其图计算引擎本身并没有实现分布式,因此计算性能仍难以通过资源水平扩展实现提升。代表产品有JanusGraph。

JanusGraph源自Titan图数据库,是一种采用Java开发的开源分布式图数据库,支持ACID和最终一致性,可以用于OLTP。JanusGraph使用HBase、 Cassandra、或者Oracle BDB作为数据存储,支持与Apache TinkerPop进行原生集成,采用Gremlin图查询语言作为其标准语法。其模块化架构使得它可以广泛地与各类存储、索引和客户端技术交互操作,例如与Spark、Giraph、Hadoop等大数据平台ETL集成,通过ElasticSearch、Solr、Lucene进行全文检索,可以通过Cytoscape、Graphexp以及TinkerPop的Gephi插件等工具实现图数据可视化等。

2.4 存储与处理均非原生

此类图数据库通常更类似于在应用层面实现了图算法的应用系统,例如FlockDB,是Twitter自研的一类客户关系管理系统,对于其是否属于真正的图数据库尚有争议。其采用MySQL存储数据,仅支持一度关系查询,不对图结构进行遍历。目前版本更新处于停滞状态,应用范围局限于Twitter。

目前,各种图数据库产品百花齐放,也因为数据存储和处理的方式不同,不同类型的图数据库产品特点迥异。所以,在实际工作和研究中,要结合自身实际情况,选择最适合自己的图数据库。

项目实战:

https://www.yunduoketang.com/article/zhibokechengruanjian3.html

https://www.yunduoketang.com/article/dajianweiketang.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值