一、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

  1. 克隆nebula-docker-compose仓库

    git clone -b v3.0.0 https://github.com/vesoft-inc/nebula-docker-compose.git
    
  2. 进入nebula-docker-compose 下,启动全部:

    docker-compose up -d
    

  3. 此时Nebula Graph就已经安装好了,单是还不能创建空间,从 3.0 开始,上报到 metad 的 nebula-storaged 服务需要人为 ADD HOSTS 之后才可以被使用。

  4. 使用 Nebula Console 镜像启动一个容器,并连接到 Nebula Graph 服务所在的网络

    docker run --rm -ti --network nebula-docker-compose_nebula-net --entrypoint=/bin/sh vesoft/nebula-console:v3.0.0
    
  5. 通过 Nebula Console 连接 Nebula Graph,默认情况下,身份认证功能是关闭的,只能使用已存在的用户名(默认为root)和任意密码登录。

    nebula-console -u root -p root --address=graphd --port=9669
    
  6. 使用 ADD HOSTS 添加 nebula-storaged

    ADD HOSTS "storaged0":9779,"storaged1":9779,"storaged2":9779;
    
  7. 查看 host 信息:

     SHOW HOSTS;
    

  8. 现在 Nebula Graph 就已经可以使用了,比如创建一个 space 空间 abc:

    create space bxc(partition_num=15, replica_factor=1, vid_type=fixed_string(30));
    
  9. 查看所有 space :

    show spaces;
    

下面开始安装 Nebula Graph Studio ,让我们更方便的对 Nebula Graph 操作。

三、安装 Nebula Graph Studio

  1. 下载 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
    
  2. 解压文件

    tar -zxvf nebula-graph-studio-v3.2.2.tar.gz
    
  3. 进入目录启动服务:

    docker-compose up -d
    
  4. 启动完成后,在浏览器访问:http://ip address:7001,进入后,会提示配置数据库:

  1. 连接后,会提示选择 space ,可以点击控制台,使用 ngsql 进行操作:

  2. 创建 tag 和边

    create tag team(team_name string, persion_num int);
    create tag game(name string);
    create edge info(num int);
    

  3. 添加定点 和 边:

    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);
    
  4. 查询关系

    GO FROM "team_1" OVER info yield id($$);
    

  5. 图探索

从上面的实践可以看出,环境已经搭建完成。

Nebula Graph - 基于Docker 安装 及 Studio相关推荐

  1. 基于docker安装zabbix

    基于docker安装zabbix 1.zabbix配置 用途 ip 账户 zabbix服务端 192.168.1.1 账户:Admin 密码:zabbix zabbix-mysql数据库 192.16 ...

  2. Centos系统基于Docker安装tensorflow

    要基于Docker安装tensorflow,当然首先要安装Docker了,下面先说安装Docker的步骤 1.  首先卸载电脑上可能存在的老的版本,如果没有安装过可以不执行 $ sudo yum re ...

  3. 基于Docker安装Jenkin并部署项目

    基于Docker安装Jenkin并部署项目 一.安装 1.1 安装Docker 点击查看笔记:Docker安装 1.2 安装Docker Compose # 1.下载文件,使用的是国内镜像 curl ...

  4. 在云服务器上基于docker安装jenkins

    jenkins是老牌的CI/CD工具.下面记录一下在云服务器上的安装过程. 基于docker安装jenkins 下面记录了如何在云服务器上安装jenkins. 新建一个jenkins_docker文件 ...

  5. 基于docker安装tensorflow

    最近在自学机器学习,大热的Tensorflow自然不能错过,所以首先解决安装问题,为了不影响本地环境,所以本文基于Docker来安装Tensorflow,我的环境是Ubuntu16.04. 安装Doc ...

  6. docker host模式拿到nginx远程ip端口_FastDFS基于Docker安装,免采坑版

    暂且不说Docker在生产环境的性能如何,单就在学习新技术的过程中能够快速构建环境这一项来说,就值得推荐你尝试使用.本文带大家基于Docker来安装FastDFS服务. 即便你对FastDFS的安装不 ...

  7. Redis第一话 -- Redis介绍以及基于Docker安装Redis

    随着缓存技术的发展,Redis已经成为了工作中使用的最多的缓存技术了. 那么对Redis的了解肯定是必不可少的. 1.Redis介绍 Redis是基于C语言开发的纯内存存储KV结构的一个数据库.获取数 ...

  8. 基于docker安装部署Zabbix及使用,自动发现、日志监控报警及参照官方文档遇到的问题(图文)

    目录 一.相关原理 (1)概述 (2)Zabbix 功能 (3)Zabbix 概述 (4)zabbix监控架构详解 二.主要步骤 (一)工具/环境准备 (二)docker安装及测试 (三)docker ...

  9. Docker容器安装以及一些常用软件基于docker安装

    一.安装docker 1.Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker . 通过 uname -r 命令查看 ...

  10. nginx基于docker安装及主页修改

    .Nginx是什么? Nginx是一个 高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强.事实上 Nginx 的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用 Nginx ...

最新文章

  1. python最基础_python的最基础的知识点
  2. jvm内存参数配置_idea中设置JVM参数,简单理解JVM常见参数,JVM调优简单入门
  3. 在Android中利用iText生成PDF
  4. 步进电机的加速时间是怎么样的?
  5. cocos2d-X   CCSprite设置贴图(图片)大小
  6. Nintendo Switch 解砖指引(翻译)
  7. 解决RabbitMQ 集群搭建显示cookie
  8. excel计算数据的差和的公式和方法、相关系数、绝对误差
  9. 毕业论文课题研究背景怎么写?
  10. 按颜色分类:青绿色系(Blue Green)
  11. 全球最专业的技术媒体,如何复盘 2019 AI 的发展?
  12. 爬虫——Scrapy框架案例一:手机APP抓包
  13. 2006年教育部对社会主义倒奶和资本主义倒奶的的标准回答
  14. 公司创业板上市与普通员工有关?
  15. 关于Win10 无法登陆破解方法
  16. 【论文翻译 - RFID】射频全息图:利用商业化产品对移动射频标签进行实时高精度追踪
  17. 格创东智亮相高端制造业CIO上海论坛,助推制造业智慧建设
  18. Effective C++:条款05:了解C++默默编写并调用哪些函数 (Know what functions C++ silently writes and calls.)...
  19. CI/CD之搭建私有git仓库gitlab
  20. 2022/9/9~9/10背单词

热门文章

  1. JAVA_SE实现桌面化功能
  2. 随意创作立秋logo图
  3. 立秋是中稻收割的日子
  4. 直通串口线与交叉串口线的区分
  5. css背景图与html插入img的区别,css背景图与html插入img的区别
  6. argument 1 must be str, not PosixPath
  7. Alink(1):Alink概述
  8. 英雄联盟显示计算机内存不足怎么办,玩英雄联盟内存不足的解决方法
  9. ORA-01438: value larger than specified precision allowed for this column
  10. 家用投影机预埋布线图_家庭影院装修如何布线(装修前必看·附图)