点击上方蓝色字体关注我们

蜀天梦图数据库(GDMBASE)是达梦数据下属子公司四川蜀天梦图数据科技有限公司坚持通过自主研发、原始创新,以图数据标准模型、图存储、图查询、图计算为核心的一款分布式图数据库管理系统基础软件产品。本文旨在分享在安装、配置以及使用 GDMBASE 过程中的一些经验,希望能为那些正准备或已经使用 GDMBASE 的同行们提供一些参考。通过这篇笔记,帮助初学者更快地上手,并为用户带来一些实用的提示。
备注:因为篇幅原因,这篇干货分为上下两篇进行发布。本期为上篇,主要分享GDMBASE图数据库安装、使用、备份、还原。


环境说明



部署单机模式

部署前准备
一般情况下,GDMBASE组件之间是通过IP地址和端口号建立连接和保持通讯的。在部署前,须先确认服务器主机的IP地址,以及端口是否空闲。单机,即所有图数据存储和读取均在一个存储节点。
安装包下载

Gstore存储配置
GDMBASE的配置文件在安装路径中的conf目录中。部署存储时,请检查配置gstore.ini文件的相关信息。其他的可先使用默认值。
SYS_MODE=0 #系统模式 1-分布式;0-单机NODE_TYPE=1 #节点类型: 0-计算节点;1-数据节点; 2-管理节点;DATA_DIR=./data #数据存放路径LOG_DIR=./log #日志存放路径NODE_IP=127.0.0.1 #当前存储节点的IP,单机时即存储主机的IPMAL_PORT=8000 #当前存储节点的内部通信端口DATA_PORT=8020 #当前存储节点的端口,与server或装载工具连接时的端口
Cypher-server配置
若要使用cypher语言系统及相关组件工具,请配置cypher-server.toml配置文件IP和port与存储一致。
[gstore]host = "127.0.0.1" #存储地址port = 8020 #存储端口
启动GDMBASE
启动GDMBASE
GDMBASE的启动程序在安装路径中bin目录下,依次执行命令可启动各组件。一般情况下,为了使进程保持后台运行,可使用tmux插件或nohup指令运行各组件。
启动存储
运行./gstore当组件成功启动并出现gstore is ready后证明GDMBASE储存已准备就绪;

nohup ./gstore >/dev/null 2>&1 &
启动cypher-server
运行./cypher-server当组件成功启动并出现server is running bolt protocol后证明GDMBASE已准备就绪;如未出现以上成功标识,请仔细检查各组件配置文件和主机防火墙状态,然后根据组件的报错信息进行排查分析。

nohup ./cypher-server >/dev/null 2>&1 &
检查GDMBASE连接状态
运行./cypher-shell 进入cypher-shell,可以直接运行 Cypher 查询语句,从而查询、更新或管理 图数据库。在cypher-shell中运行call db.ping();检查数据库连接状态。

显示success为“TRUE”,说明图数据库启动成功可以正常使用。


图数据库使用

创建图空间
创建图空间sample,默认为1个数据分区,也就是单段。
create database sample;
show databases;
:use sample

标签管理语句
create label 人 (姓名 string not null,年龄 int null,性别 boolean null);
create relationshipType 朋友;
show labels;

show relationshipTypes;

CREATE (n:人{ 姓名:"李明", 年龄:25, 性别:true});CREATE (n:人{ 姓名:"张文", 年龄:35, 性别:true});MATCH (a:人),(b:人) WHERE a.姓名='李明' AND b.姓名='张文' CREATE (a)-[r:朋友]->(b) RETURN r;

MATCH (n:人 { 姓名: '李明' })-[关系]->(m:人{ 姓名: '张文' }) RETURN n.姓名,关系,m.姓名;



图数据库备份还原

库级全量备份还原
在线备份是一种在数据库运行状态下进行的备份方法,允许在不中断服务的情况下实现数据恢复和迁移。这种备份方式确保了业务的连续性,同时提供了灵活的恢复选项,有助于维护数据库的一致性和完整性,保障数据安全。
GDMBASE支持在线数据备份与还原,并提供全量备份和增量备份两种方式,备份数据范围可选为图级备份和系统级备份。基于备份的数据文件,可将库中数据还原至任意备份时刻。
备份分为库级全量备份、图级全量备份、库级增量备份、图级增量备份。后面实践下库级全量备份和图级全量备份以及对应的还原操作。
图库的备份语法如下:
BACKUP ALL DATABASES FULL TO `backupName` [COMMENT 'descriptions']
ALL :通常与 DATABASE 关键字连用,指代库级备份。
DATABASE :对图的定义在cypher语法中体现为database。
FULL :通常在全量备份中使用。
backupName :备份任务名。
[] :可选语法。
descriptions :备份任务的描述.
将全部图库备份到backupAll注意backupAll两边用的是反引号。
BACKUP ALL DATABASES FULL TO `backupAll`;

用SHOW BACKUPS查看所有备份。
SHOW BACKUPS;

删除掉上面建立的图库sample
drop database sample;
查询所有图库sample已经不存在。
show databases;

用全库备份backupAll还原,可见图库sample已经恢复
RESTORE ALL DATABASES `restoreName` FROM `backupAll`;show databases;

图级全量备份还原
图备份暂不支持指定图名备份,须先行切入需要备份的图中执行相应的语法,即可发起当前图的备份任务。将图库备份到backupsample。
:use sampleBACKUP DATABASE FULL TO `backupsample`;

删除张文的所有关系
MATCH (n:人 { 姓名: '李明' })-[r]->() DELETE r;
这样张文和李明之间的朋友关系就不存在了
MATCH (n:人 { 姓名: '李明' })-[关系]->(m:人{ 姓名: '张文' }) RETURN n.姓名,关系,m.姓名;

使用backupsample还原sample图后查询张文和李明之间的朋友关系恢复了
RESTORE DATABASE `restoresample` FROM `backupsample`;

在数据还原的过程中可以用show restors命令查看还原进程。等到状态变为finish才能进行下一步操作,还原过程中也可以使用STOP RESTORE 'restoreName'来终止还原。


总结

本文内容主要讲述的是GDMBASE图数据库安装、使用、备份、还原。希望通过这篇笔记能够为那些正在探索图数据库技术的同行们提供一些有价值的参考,下一部分为大家带来图数据库数据生成、数据导出导入、数据显示。
以上为本期分享,希望能带给大家帮助。想要了解更多往期干货,可访问页面最下方#达梦技术干货攻略#合集或下方相关分享。在此邀请更多学员参与“达梦技术干货投稿活动”,稿件获选后将在达梦“干货分享”专栏进行发布,欢迎来稿!
作者:朱悦
审核:培训部、图数据库实施部


一周热文











达梦E学
微信号:DM-Elearning
扫码关注查看更多内容
点击下方在看,分享本文




