暂无图片
暂无图片
6
暂无图片
暂无图片
暂无图片

图数据库简介【1】-从图数据库的角度来看数据本身

原创 will2334 2022-01-18
2723

任何一种数据库都是把现实世界中的我们认为有价值的部分数据进行建模存储,其中的数据可以用来进行业务支撑,同样也可以利用这些数据进行计算分析,挖掘其中价值。

image.png
image.png

数据库历史:从打孔纸片到大数据时代

数据记录的需求远在文字诞生之前就已经存在了,从结绳记事到穿孔卡,乃至到后来的数据库的出现。当今无论是运行的网站、银行系统,以及各种应用的背后,都离不开数据库。因为Database Management System(DBMS) 数据库管理系统可以高效、可靠、方便、安全的针对多用户存储和访问海量持久数据。当今我们提到数据库,相信大部分人脑中都是关系型数据库的连接“表”的形式,看到数据,也第一时间想到如何把数据以表的形式存下来。这大概就是芒格所说的":当你拿着锤子,看什么都是钉子”。
这时候让我们,后退一步,以更宏观的角度来看数据库,可以让我们更好的理解数据本身。

image.png

我们可以把数据库的产生和发展分为四个阶段:

  1. 层级和导航数据库,这个阶段的数据库以层级的形式把数据进行建模存储,把数据和数据之间的关系进行存储,虽然产生了B-tree和Self-balancing tree 的数据结构形式进行创新和优化,但是由于受限于硬件条件,查询速度还是太慢了。不过层级型数据库对后来数据的的发展产生了非常深远的影响。
  2. 关系型数据库
    关系型数据库通过把数据以表的形式规范化,提供了一种极其高效的方式进行数据存储,管理和查找。这样的代价就是把数据之间的关系进行了抽象化抽离,这些关系不再作为数据的形式进行存储,只有在需要的时候才会进行具象化,在面对以对象为查找目标的深度查询时会由于需要进行多表关联的原因导致性能低下。
  3. NoSQL
    这期间由于互联网和应用软件的兴起,软件之间需要进行数据互通,急需一种标准,而这种标准并未采用“表”的形式交互数据。产生了多种多样的灵活在指定领域专用的数据库。
  4. 图数据库
    图数据库和其他数据库的最大区别是图数据将数据之间的关系作为数据的一部分进行存储,这种存储方式以数据最original的方式将数据进行存储,这样可以发挥数据的网络效应发挥数据的价值。 图数据库之所以能够脱颖而出得益于在“大数据”时代,数据不是公司运营的附属品,而是重要的战略资产的认知已经成为共识,同时
    大多数有价值的商业问题都是复杂的问题,复杂的问题包括,关系,影响,依赖,互动等。这个发展的历程我们可以认为是思想认知的转变:从想办法高效的管理数据到最大程度提取数据的价值。

什么是图数据库

图数据库是一种使用图数据结构实现语义查询的数据管理系统,通过节点、边和属性来表示和存储数据。

图概念对于图数据库的理解至关重要。图是一组点和边的集合,“点”表示实体,“边”表示实体间的关系。在图数据库中,数据间的关系和数据本身同样重要,它们被作为数据的一部分存储起来。这样的架构使图数据库能够快速响应复杂关联查询,因为实体间的关系已经提前存储到了数据库中。图数据库可以直观地可视化关系,是存储、查询、分析高度互联数据的最好办法。

图数据库属于非关系型数据库(NoSQL)。图数据库对数据的存储、查询以及数据结构都和关系型数据库有很大的不同。图数据结构直接存储了节点之间的依赖关系,而关系型数据库和其他类型的非关系型数据库则以非直接的方式来表示数据之间的关系。图数据库把数据间的关联作为数据的一部分进行存储,关联上可添加标签、方向以及属性,而其他数据库针对关系的查询必须在运行时进行具体化操作,这也是图数据库在关系查询上相比其他类型数据库有巨大性能优势的原因。
图数据库(graph database)不同于图引擎(graph engine)。图数据库主要应用为联机事务处理OLTP(on-line transaction processing),针对数据做事务(ACID)处理。 图引擎用于联机分析处理OLAP(On-Line Analytical Processing),进行数据的批量分析。

图数据库发展历程

Graph 1.0:单机原生图数据库
2002-2010年,以Neo4j为代表的支持事务性的图数据库发布,图数据库的使用开始兴起。这个阶段的图数据库采用小规模原生图存储,与传统数据库相比,原生图数据库遍历查询时无需索引,能够极大减少系统开销、提升查询效率。Graph 1.0尚处于前大数据时代,随着数据量的增大,基于单机的小规模原生图数据库扩展性较差,受制于单机性能的瓶颈,无法支持大规模数据的分布式存储查询以及并行计算。

Graph 2.0:分布式非原生图数据库
2010-2016年,随着大数据时代的到来和物联网行业的蓬勃发展,数据本身的丰富程度增加,数据之间的关联性增多,扩展性成为数据库行业共同的痛点。以JanusGraph为代表的基于开源分布式存储系统的图数据库厂商不断涌现。由于底层基于分布式的非关系型存储,Graph 2.0时代的图数据库产品的扩展性有长足提升,可以支持非常大的图,但也因为同样的原因,查询性较Graph 1.0低,并且无法有效支持多跳的深链查询,无法满足数据实时更新、查询的需求。

Graph 3.0:原生分布式图数据库
2017年开始,为了满足大数据量级下的查询返回效率,在快速变化的商业环境下提供实时的商业智能,以Galaxybase图数据库采用原生分布式存储方式,有效解决了大图数据深链查询效率和系统横向扩展性的双重需求。同前几代产品相比,第三代图数据库为图数据实时更新、查询而设计,不但在存储上提升了扩展性,同时增加了并行计算的能力,能够实现实时的图分析。大规模原生图存储、分布式并行计算能力正逐渐成为图数据库行业的主流。

从2020年开始,图数据库开始出现和知识图谱平台、人工智能平台融合的趋势,出现了与人工智能、机器学习、深度学习融合的图平台。这是下一代图数据库的发展趋势。

图的组成

图数据库是基于图论为数据基础的数据管理系统。它的组成包含点、边。数据通过点和边的形式进行表示,把数据转化成点,数据间的关系转化成边。图的存储方式可以整合多源异构数据。

image.png

点:代表实体或实例,例如人员、企业、帐户或要跟踪的任何其他项目。它们大致相当于关系数据库中的记录、关系或行,或者文档存储数据库中的文档。

边:也称作关系,将节点连接到其他节点的线;代表节点之间的关系。在探索节点、属性和边的连接和互连时,往往会得到意想不到的价值洞见。边可以是有向的,也可以是无向的。在无向图中,连接两个节点的边具有单一含义。在有向图中,连接两个不同节点的边,根据它们的方向具有不同的含义。边是图数据库中的关键概念,图数据库独有的数据抽象概念,而关系型数据库和文件型数据库并没有“边”这一概念,它们的关系查询必须在运行时进行具体化。

图模型

图模型主要包含属性图、RDF图两种。

属性图
属性图模型由顶点、边及其属性构成。顶点和边都可以带有属性,节点可以通过“标签(Label)”进行分组。表示关系的边总是从一个开始点指向一个结束点,而且边是一定是有方向的,这使得图成为了有向图。关系上的属性可以为节点的关系提供额外的元数据和语义。

image.png

Resource Description Framework(RDF)
RDF模型在顶点和边上没有属性,只有一个唯一的资源描述符,这是RDF与属性图模型间最根本的区别。在RDF中每增加一条信息都要用一个单独的节点表示。比如,在图中给表示人的节点添加姓名。在属性图中只需要在节点添加属性即可,而在RDF中必须添加一个名字的单独加节点,并用hasName与原始节点相连。

image.png

我们讲的图数据库通常是指支持属性图模型的数据管理系统。

针对图数据的特点,会在后续文中进行展开。

最后修改时间:2022-01-19 14:12:51
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论