一、Nebula Graph简介
在看 Nebula Graph 之前,先了解下什么是图:
图无处不在。当听到图这个词时,很多人都会想到条形图或折线图,因为有时候我们确实会把它们称作图。从传统意义上来说,图是用来展示两个或多个数据系统之间的联系的。
从数学角度来说,图论是研究建模对象之间关系结构的学科。但是从工业界使用的角度,通常会对基础的图模型进行扩展,称为属性图模型。属性图通常由以下几部分组成:
- 节点,即对象或实体,通常简称为点(Vertex)。
- 节点之间的关系,通常简称为边(Edge)。通常边是有方向或者无方向的,以表示两个实体之间有持续的关系。
- 在节点和边上,还可以有属性(properties)。
在现实生活中,有很多属性图的例子。
例如企查查或者 BOSS 直聘这类的公司,用图来建模商业股权关系网络。这个网络中,点通常是一个自然人或者是一家企业,边通常是某自然人与某企业之间的股权关系。点上的属性可以是自然人姓名、年龄、身份证号等。边上的属性可以是投资金额、投资时间、董监高等职位关系。
从图延伸到图数据库:
不同的图数据库在术语方面可能会略有不同,但是归根结底都是在讲点、边和属性。至于更多的功能,例如标签、索引、约束、TTL、长任务、存储过程和UDF等这些高级功能,在不同图数据库中,会存在明显的差异。
图数据库用图来存储数据,而图是最接近高度灵活、高性能的数据结构之一。图数据库是一种专门用于存储和检索庞大信息网的存储引擎,它能够高效地将数据存储为点和边,并允许对这些点边结构进行高性能的检索和查询。我们也可以为这些点和边添加属性。
图数据库几乎适用于存储所有领域的数据。因为在几乎所有领域中,事物之间都是由某种相关联的。图数据库支持存储实体之间的丰富关系,并且能够将这些关系完美地呈现出来,而无需像其他建模方式那样,将关系也当成实体存储。因此图数据库能够以最接近对数据直观认知的形式存储数据。
更详细的介绍可关注官方文档:
官方文档:https://docs.nebula-graph.com.cn/3.0.0/
下面使用 docker + docker-compose 的方式安装 nebula-graph 及 nebula-graph Studio。
二、使用 docker 安装 nebula-graph
-
克隆nebula-docker-compose仓库 git clone -b v3.0.0 https://github.com/vesoft-inc/nebula-docker-compose.git
-
进入nebula-docker-compose 下,启动全部: docker-compose up -d
-
此时Nebula Graph就已经安装好了,单是还不能创建空间,从 3.0 开始,上报到 metad 的 nebula-storaged 服务需要人为 ADD HOSTS 之后才可以被使用。 -
使用 Nebula Console 镜像启动一个容器,并连接到 Nebula Graph 服务所在的网络 docker run --rm -ti --network nebula-docker-compose_nebula-net --entrypoint=/bin/sh vesoft/nebula-console:v3.0.0
-
通过 Nebula Console 连接 Nebula Graph,默认情况下,身份认证功能是关闭的,只能使用已存在的用户名(默认为root)和任意密码登录。 nebula-console -u root -p root --address=graphd --port=9669
-
使用 ADD HOSTS 添加 nebula-storaged ADD HOSTS "storaged0":9779,"storaged1":9779,"storaged2":9779;
-
查看 host 信息: SHOW HOSTS;
-
现在 Nebula Graph 就已经可以使用了,比如创建一个 space 空间 abc: create space bxc(partition_num=15, replica_factor=1, vid_type=fixed_string(30));
-
查看所有 space : show spaces;
下面开始安装 Nebula Graph Studio ,让我们更方便的对 Nebula Graph 操作。
三、安装 Nebula Graph Studio
-
下载 docker-compose.yum 文件 wget https://oss-cdn.nebula-graph.com.cn/nebula-graph-studio/3.2.2/nebula-graph-studio-v3.2.2.tar.gz
-
解压文件 tar -zxvf nebula-graph-studio-v3.2.2.tar.gz
-
进入目录启动服务: docker-compose up -d
-
启动完成后,在浏览器访问:http://ip address:7001 ,进入后,会提示配置数据库:
-
连接后,会提示选择 space ,可以点击控制台,使用 ngsql 进行操作: -
创建 tag 和边 create tag team(team_name string, persion_num int);
create tag game(name string);
create edge info(num int);
-
添加定点 和 边: insert vertex team(team_name, persion_num) values "team_1":("team_1", 42);
insert vertex game(name) values "game_1":("game_1");
insert edge info(num) values "team_1" -> "game_1":(95);
-
查询关系 GO FROM "team_1" OVER info yield id($$);
-
图探索
从上面的实践可以看出,环境已经搭建完成。
|