Yukon_2.0-Agensgraph 安装教程详解

作者:贤

目录

  • 1. 背景
  • 2. 环境准备
  • 3. 安装流程
    • 3.1. 操作系统环境配置
    • 3.2. 安装 AgensGraph 2.13.0 图数据库
    • 3.3. 安装 Yukon_2.0-AgensGraph 插件
  • 4. 使用教程

1. 背景

  • 什么是图数据库?

      图数据库(graph database,GDB)是一个使用图结构进行语义查询的数据库,它使用节点、边和属性来表示和存储数据。

  • 图数据库与关系型数据库有哪些区别?

    • 建模方式

        图数据库使用图结构来表示和存储数据,图由节点、边和属性组成,可以直观地反映实体之间的关系。关系型数据库使用二维表格来存储数据,表之间通过主外键等方式建立联系,需要更高的抽象层次。

    • 查询语言

        图数据库使用专门的图查询语言,如 Cypher 和 Gremlin,可以更贴合自然语言的方式限定查询条件,易于表达查询需求。关系型数据库使用 SQL 查询语言,对于多层的关系 Join 查询时,语句非常复杂,且效率低下。

    • 复杂关系查询能力

        图数据库以实体和关系为基本单位,特别适合查询和分析多层次、多样的复杂关系;关系数据库则在复杂关系查询方面不堪重负,尤其是涉及多表关联或者递归查询时。

    • 数据规模

        图数据库的实现可以基于 KV 存储,如 Titan(Janus)、HugeGraph 等图数据库,可以高效方便地存储亿或十亿级别的数据;关系型数据库在此规模下,必须进行复杂的分库分表设计,不然根本无法胜任。

    • 灵活性和敏捷性

        图数据库天生就是灵活可扩展的,可以对已存在的图结构增加新的边、节点、标签和子图,但却不会破坏现有的查询和应用程序的功能。关系型数据库则需要进行 Schema 变更等代价不菲的管理操作。

  • AgensGraph 图数据库有哪些优势?

      AgensGraph是一个基于PostgreSQL的新一代多模型图数据库,它可以同时支持图模型和关系模型,以及文档模型和KV模型。

    • 提供图形分析环境,用户可以同时编写、编辑和执行SQL和Cypher查询,实现混合查询处理。
    • 带有PostgreSQL兼容性和PostgreSQL扩展,能够帮助PostgreSQL用户摆脱数据迁移的痛苦,轻松开发提供高级数据分析的服务。
    • 支持ACID事务,高可用性,分布式存储和查询优化等企业级特性。
    • 可以利用PostgreSQL丰富的其他特性,比如PostGIS,或者数据库自己的事务隔离等等。

2. 环境准备

操作系统 / 软件 版本 下载地址 描述
CentOS 7.6 CentOS 7.6 镜像下载地址 CentOS 7.6 是 CentOS Linux 7 的第七个发行版本,于 2018 年 11 月发布。它是一个基于 Red Hat Enterprise Linux 7.6 源代码的稳定、可管理、可预测的平台。它支持多种架构,包括 x86_64、aarch64、ppc64le、s390x 等
Yukon_2.0-Agensgraph 2.0 Yukon_2.0-Agensgraph 下载地址 支持图数据存储能力,实现图与空间一体化存储
AgensGraph 2.13 AgensGraph 2.13.0 下载地址 AgensGraph 2.13 是一款新一代的多模型图数据库,于 2022 年 10 月发布。它基于 PostgreSQL,一款可靠的开源关系数据库,同时支持关系和图数据模型,使开发者能够在一个数据库中集成传统的关系数据模型和灵活的图数据模型。AgensGraph 支持 ANSI-SQL 和 openCypher,可以在一个查询中集成 SQL 和 Cypher 语句

3. 安装流程

3.1. 操作系统环境配置

  • 检查当前主机名

    sudo vim /etc/hostname
    
    • 若当前主机名为 localhost.localdomain,则修改,否则后续安装 Yukon 可能会抛异常。修改主机名后执行以下命令加载新主机名
      sudo systemctl restart systemd-hostnamed
      
  • 检查当前系统防火墙状态,此处为方便可以直接禁用,否则后续无法远程访问数据库

    sudo systemctl status firewalld.service
    

    Yukon_2.0-Agensgraph 安装教程详解_第1张图片

    sudo systemctl stop firewalld.service
    sudo systemctl status firewalld.service
    

    Yukon_2.0-Agensgraph 安装教程详解_第2张图片

    sudo systemctl disable firewalld.service
    

    禁用开机自动开启防火墙服务.png

    注意:也可以不禁用防火墙,指定开放图数据库端口,具体操作命令建议百度,此处不再详细讲解

3.2. 安装 AgensGraph 2.13.0 图数据库

  • 安装 AgensGraph 图数据库依赖环境

    sudo yum install -y gcc glibc glib-common readline readline-devel zlib zlib-devel flex bison
    

    安装AgensGraph依赖环境.png

  • 解压 AgensGraph 图数据库安装包并进入目录

    tar -zxvf agensgraph-2.13.0.tar.gz
    

    进入AgensGraph目录.png

  • 配置 AgensGraph 图数据库

    ./configure --prefix=/home/centos
    

    配置AgensGraph命令.png
    Yukon_2.0-Agensgraph 安装教程详解_第3张图片

  • 编译安装 AgensGraph 图数据库

    make
    make install
    
  • 配置 AgensGraph 图数据库环境变量

    • 编辑 ~/.bashrc 文件

      vim ~/.bashrc
      
    • 在 ~/.bashrc 文件中添加 AgensGraph 环境配置

      export AGHOME=/home/centos
      export AGDATA=$AGHOME/data
      export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$AGHOME/bin:$AGHOME/lib
      export PGDATA=$AGDATA
      
    • 应用 AgensGraph 环境配置

      source ~/.bashrc
      
  • 初始化 AgensGraph 图数据库

    initdb -D $AGDATA
    

    Yukon_2.0-Agensgraph 安装教程详解_第4张图片

  • 安装过程结束后执行 AgensGraph 图数据库启动命令

    ag_ctl -D $AGDATA -l logfile start
    ag_ctl -D $AGDATA -l logfile status
    

    启动 Yukon with AgensGraph 图数据库.png

  • 关闭 AgensGraph 图数据库后修改 AgensGraph 图数据库远程访问配置

    • 停止运行 AgensGraph 图数据库

      ag_ctl -D $AGDATA -l logfile stop
      
    • 进入 AgensGraph 图数据库配置目录

      cd /home/centos/data/
      vim postgresql.conf
      vim pg_hba.conf
      
    • 修改 postgresql.conf 配置文件
      修改AgensGraph数据库监听IP.png

    • 修改 pg_hba.conf 配置文件
      Yukon_2.0-Agensgraph 安装教程详解_第5张图片

3.3. 安装 Yukon_2.0-AgensGraph 插件

  • 解压 Yukon_2.0-Beta-Agensgraph_2.13-Centos_7.6.tar.gz 安装包并进入 Yukon 安装目录

    tar -zxvf Yukon_2.0-Beta-Agensgraph_2.13-Centos_7.6.tar.gz
    cd yukon
    

    进入解压的Yukon目录.png

  • 安装 Yukon 插件

    sh install -i
    

    Yukon_2.0-Agensgraph 安装教程详解_第6张图片

  • 配置 Yukon 依赖的动态链接库

    • 编辑 /etc/ld.so.conf 配置文件

      sudo vim /etc/ld.so.conf
      
    • 添加以下配置内容

      /home/centos/lib
      
    • 保存并退出后执行 ldconfig 命令

      sudo ldconfig
      
  • 启动 AgensGraph 图数据库

    ag_ctl -D $AGDATA -l logfile start
    
    • 若启动时出现 “FATAL: could not load library “/home/centos/lib/postgresql/postgis-3.so”: libgeos_c.so.1: cannot open shared object file: No such file or directory” 异常信息

    • 安装Yukon插件后AgensGraph启动失败.png

      重新执行以下命令即可修复

      source ~/.bashrc
      sudo ldconfig
      

4. 使用教程

  • 新建用户

    psql -d postgres
    CREATE USER supermap WITH SUPERUSER password 'SuperMap@123';
    \q
    

    新建用户.png

  • 新建表空间,需要确保表空间目录存在,若不存在则手动创建对应目录后再执行以下命令

    psql -d postgres -U supermap -w 'SuperMap@123'
    CREATE TABLESPACE supermapYukonspace LOCATION '/home/centos/data/supermap';
    

    新建表空间.png

  • 新建数据库

    CREATE DATABASE supermap ENCODING='UTF8' TABLESPACE=supermapYukonspace;
    \q
    

    新建数据库.png

  • 新建 Schema

    psql -d supermap -U supermap -w 'SuperMap@123'
    CREATE SCHEMA supermap;
    

    新建Schema.png

  • 在新 Schema 上添加 Yukon 扩展

    CREATE EXTENSION postgis WITH SCHEMA supermap;
    CREATE EXTENSION postgis_raster WITH SCHEMA supermap;
    CREATE EXTENSION postgis_sfcgal WITH SCHEMA supermap;
    CREATE EXTENSION yukon_geomodel WITH SCHEMA supermap;
    CREATE EXTENSION yukon_geogridcoder WITH SCHEMA supermap;
    CREATE EXTENSION yukon_vector_pyramid WITH SCHEMA supermap;
    

    Yukon_2.0-Agensgraph 安装教程详解_第7张图片

  • 新建图

    CREATE GRAPH supermapgraph;
    

    新建图.png

  • 使用 SuperMap iDesktopX 知识图谱功能连接 Yukon_2.0-AgensGraph 图数据库

    • 知识图谱功能入口:开始》图谱
      Yukon_2.0-Agensgraph 安装教程详解_第8张图片

    • 连接参数设置
      Yukon_2.0-Agensgraph 安装教程详解_第9张图片

    • 连接成功后会显示知识图谱菜单栏和默认显示图谱管理器
      iDesktopX知识图谱菜单栏.png
      Yukon_2.0-Agensgraph 安装教程详解_第10张图片

  iDesktopX 连接 Yukon 成功后,就可以正常使用 iDesktopX 提供的知识图谱相关能力构建合适的知识图谱辅助项目分析决策了。

你可能感兴趣的:(空间数据引擎,SuperMap,Yukon,禹贡,AgensGraph,图数据库)