大前端

前端学习之家-大前端

(nebula graph)图数据库介绍

一、图数据库简介
图形数据库是NoSQL数据库的一种类型,它应用图形理论存储实体之间的关系信息。图形数据库是一种***非关系型数据库,***它应用图形理论存储实体之间的关系信息。
最常见例子就是社会网络中人与人之间的关系。关系型数据库用于存储“关系型”数据的效果并不好,其查询复杂、缓慢、超出预期,而图形数据库的独特设计恰恰弥补了这个缺陷。

二、图数据库的数据模型(nebula graph)

1.图空间(Space)
图空间用于隔离不同团队或者项目的数据。不同图空间的数据是相互隔离的,可以指定不同的存储副本数、权限、分片等。图空间就类似于关系型数据库中的database

2.点(Vertex)
点用来保存实体对象,特点如下:点是用点标识符(VID)标识的。VID在同一图空间中唯一。VID 是一个 int64,或者 fixed_string(N)。
点必须有至少一个Tag,也可以有多个Tag。但不能没有Tag。
标签(Tag)Tag由一组事先预定义的属性构成。就相当于是一张***“点表”***
例如:
space名称叫basketballPlayer

				`Tag:"player",
				VID:"player_01"
				properties:
						name:"George"
						age:32`
						
      			`Tag:"player",
				VID:"player_02"
				properties:
						name:"kobe"
						age:36``

3.边(Edge)
边是用来连接点的,表示两个点之间的关系或行为,特点如下:
两点之间可以有多条边。边是有方向的,不存在无向边。
四元组 <起点VID、Edge type、边排序值(Rank)、终点VID> 用于唯一标识一条边。边没有EID。
一条边有且仅有一个Edge type。
一条边有且仅有一个rank。其为int64,默认为0。

4.边类型(Edge type)
Edge type由一组事先预定义的属性构成。相当于是一张***“边表”***,如下图展示:
在这里插入图片描述

5.属性(Properties)
属性是指以键值对(Key-value pair)形式存储的信息。**

二、关系型数据库与图数据库对比
在需要描述大量关系时,传统的关系型数据库已经不堪重负。它所能承担的是较多实体但是实体间关系略显简单的情况。而对于这种实体间关系非常复杂,常常需要在关系之中记录数据,而且大部分对数据的操作都与关系有关的情况,原生支持了关系的图形数据库才是正确的选择。它不仅仅可以为我们带来运行性能的提升,更可以大大提高系统开发效率,减少维护成本。

举个例子:
	对于关系型数据库,需要建立关联的表,当关系较多时,建立的关联表就会越多。
	![在这里插入图片描述](https://img-blog.csdnimg.cn/e81a45753a614a0395cc35e239379e40.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JCM5pawbW14eA==,size_12,color_FFFFFF,t_70,g_se,x_16)

在这里插入图片描述
图形数据库:(nebula graph database)
例如:
1.一部电影
2.演员有多个,可以判断是否是主演
3.对于导演,然后判断导演是否出演,而且可以判断是否是主演
在这里插入图片描述

发表评论:

Copyright Your WebSite.Some Rights Reserved.