下载吧 其他软件

分类分类

Nebula Graph(开源图数据库)

Nebula Graph(开源图数据库)

v1.2.1 官方版

大小:1.50 MB 更新:2024/06/01

类别:其他软件系统:WinAll

立即下载

  Nebula Graph是一款非常专业且优秀的开源图数据库,作为一款开源的、分布式的、易扩展的原生图数据库,能够承载数十亿个点和数万亿条边的超大规模数据集,并且提供了毫秒级查询,该数据库专门用于存储庞大的图形网络并从中检索信息,不仅可以将图形中的数据高效存储为点和边,还可以将属性附加到点和边上,Nebula Graph中的数据模型使用了五种数据结构来保存数据,并将这些数据存储在有向属性图,同时Nebula Graph由Graph服务、Meta服务和Storage服务三种服务构成,欢迎有需要的用户下载体验

Nebula Graph(开源图数据库)

软件功能

  DDL & DML:支持在线的数据定义语言(DDL)及数据操纵语言(DML)。

  图探索:支持正/反向、双向图探索,GO minHops TO maxHops 获取指定步数区间的关系。

  聚合操作:聚合函数 GROUP BY 、排序函数 ORDER BY 、限定函数 LIMIT 自由组合返回所需数据。

  组合查询:UNION, UNION DISTINCT , INTERSECT , MINUS 对数据集进行组合查询。

  管道操作: 管道操作符 | 前面查询语句的输出可作为管道符后面语句的输入。

  用户定义变量:支持将可将查询结果暂时存储在用户自定义的变量中,并在随后查询语句中使用。

  索引: 支持索引、联合索引,以及对已存在的数据建立索引。 LOOKUP ON 用于对建立索引的属性进行快速查找。

  权限管理: 支持用户权限认证,支持用户角色访问控制。可轻松对接现有用户认证系统。 Nebula Graph 提供五种角色权限: GOD 、 ADMIN 、 DBA 、 USER 和 GUEST 。

  采样:对于超级顶点支持蓄水池采样, 在只遍历一遍数据 O(n) 的情况下,随机的抽取 k 个元素。

  集群快照:支持以集群维度创建快照,提供在线的数据备份功能,快速恢复。

  TTL:支持设置数据的有效期,清理过期数据、释放资源。

  Job Manager:Job 管理调度工具,目前支持 COMPACT 和 FLUSH 操作。

  运维操作

  支持在线扩缩容、负载均衡

  HOSTS 管理 Storage 服务器

  CONFIGS 管理配置项

  图算法:支持全路径 / 最短路径算法。

  提供 OLAP 接口,对接图计算平台。

  支持多种字符集、字符编码。

软件特色

  开源

  Nebula Graph是在Apache 2.0和Commons Clause 1.0条款下开发的。越来越多的人,如数据库开发人员、数据科学家、安全专家、算法工程师,都参与到Nebula Graph的设计和开发中来,欢迎访问Nebula Graph GitHub主页参与开源项目。

  高性能

  基于图数据库的特性使用C++编写的Nebula Graph,可以提供毫秒级查询。众多数据库中,Nebula Graph在图数据服务领域展现了卓越的性能,数据规模越大,Nebula Graph优势就越大。详情请参见Nebula Graph benchmarking。

  易扩展

  Nebula Graph采用shared-nothing架构,支持在不停止数据库服务的情况下扩缩容。

  易开发

  Nebula Graph提供Java、Python、C++和Go等流行编程语言的客户端,更多客户端仍在开发中。详情请参见Nebula Graph clients。

  高可靠访问控制

  Nebula Graph支持严格的角色访问控制和LDAP(Lightweight Directory Access Protocol)等外部认证服务,能够有效提高数据安全性。详情请参见验证和授权。

  生态多样化

  Nebula Graph开放了越来越多的原生工具,例如Nebula Graph Studio、nebula-console、Nebula Graph Exchange等。此外,Nebula Graph还具备与Spark、Flink、HBase等产品整合的能力,在这个充满挑战与机遇的时代,大大增强了自身的竞争力。

  兼容openCypher查询语言

  Nebula Graph查询语言,也称为nGQL,是一种声明性的、兼容openCypher的文本查询语言,易于理解和使用。详细语法请参见nGQL指南。

  灵活数据建模

  您可以轻松地在Nebula Graph中建立数据模型,不必将数据强制转换为关系表之类的结构,而且可以自由增加、更新和删除属性。详情请参见数据模型。

  广受欢迎

  腾讯、vivo、美团和京东数科等科技巨头都在使用Nebula Graph。详情请参见Nebula Graph官网。

  适用场景

  Nebula Graph可用于各种基于图的业务场景。为节约转换各类数据到关系型数据库的时间,以及避免复杂查询,建议您使用Nebula Graph。

  欺诈检测

  金融机构必须仔细研究大量的交易信息,才能检测出潜在的金融欺诈行为,并了解某个欺诈行为和设备的内在关联。这种场景可以通过图形建模,然后借助Nebula Graph,可以很容易地检测出诈骗团伙或其他复杂诈骗行为。

  实时推荐

  Nebula Graph能够及时处理访问者产生的实时信息,并且精准推送文章、视频、产品和服务。

  知识图谱

  自然语言可以转化为知识图谱,存储在Nebula Graph中。用自然语言组织的问题可以通过智能问答系统中的语义解析器进行解析并重新组织,然后从知识图谱中检索出问题的可能答案,提供给提问人。

  社交网络

  人际关系信息是典型的图形数据,Nebula Graph可以轻松处理数十亿人和数万亿人际关系的社交网络信息,并在海量并发的情况下,提供快速的好友推荐和工作岗位查询。

官方教程

  Docker Compose部署Nebula Graph

  前提条件

  主机上安装如下应用程序。

Nebula Graph(开源图数据库)

  如果您使用非root用户部署Nebula Graph,请授权该用户Docker相关的权限。详细信息,请参见Manage Docker as a non-root user。

  启动主机上的Docker服务。

  如果您已经通过Docker Compose在主机上部署了另一个版本的Nebula Graph,为避免兼容性问题,需要您删除目录nebula-docker-compose/data。

  说明:如果您需要备份服务数据,请参见使用BR备份数据 TODO: 未和v2.0.0一起发布。

  部署和连接Nebula Graph

  通过Git克隆nebula-docker-compose仓库的master分支到您的主机。

  禁止:master分支包含最新的Nebula Graph开发版本的Docker Compose解决方案。请不要在生产环境使用此版本。

Nebula Graph(开源图数据库)

  切换至目录nebula-docker-compose。

Nebula Graph(开源图数据库)

  执行如下命令启动Nebula Graph服务。

  说明: 如果长期未更新镜像,请先更新Nebula Graph镜像和Nebula Console镜像。

Nebula Graph(开源图数据库)

  说明: 上述服务的更多信息,请参见架构总览。

  连接Nebula Graph。

  1. 使用Nebula Console镜像启动一个容器,并连接到Nebula Graph服务所在的网络(nebula-docker-compose_nebula-net)中。

Nebula Graph(开源图数据库)

  1. 通过Nebula Console连接Nebula Graph。

Nebula Graph(开源图数据库)

  说明:默认情况下,身份认证功能是关闭的,可以使用任意用户名和密码登录。如果想使用身份认证,请参见身份认证。

  1. 执行如下命令检查nebula-storaged进程状态。

Nebula Graph(开源图数据库)

  执行两次exit 可以退出容器。

  查看Nebula Graph服务的状态和端口

  执行命令docker-compose ps可以列出Nebula Graph服务的状态和端口。

Nebula Graph(开源图数据库)

  Nebula Graph默认使用9669端口为客户端提供服务,如果需要修改端口,请修改目录nebula-docker-compose内的文件docker-compose.yaml,然后重启Nebula Graph服务。

  查看Nebula Graph服务的数据和日志

  Nebula Graph的所有数据和日志都持久化存储在nebula-docker-compose/data和nebula-docker-compose/logs目录中。

  目录的结构如下:

Nebula Graph(开源图数据库)

  停止Nebula Graph服务

  您可以执行如下命令停止Nebula Graph服务:

Nebula Graph(开源图数据库)

  如果返回如下信息,表示已经成功停止服务。

Nebula Graph(开源图数据库)

  说明:命令docker-compose down -v将会删除所有本地Nebula Graph的数据。如果您使用的是developing或nightly版本,并且有一些兼容性问题,请尝试这个命令。

  管理Nebula Graph服务

  Nebula Graph使用脚本nebula.service管理服务,包括启动、停止、重启、中止和查看。

  nebula.service的默认路径是/usr/local/nebula/scripts,如果修改过安装路径,请使用实际路径。

  语法

Nebula Graph(开源图数据库)
Nebula Graph(开源图数据库)

  启动Nebula Graph服务非容器部署执行如下命令启动Nebula Graph服务:

Nebula Graph(开源图数据库)

  容器部署

  在nebula-docker-compose/目录内执行如下命令启动Nebula Graph服务:

Nebula Graph(开源图数据库)

  停止Nebula Graph服务禁止:请勿使用kill -9 命令强制终止进程,否则可能较小概率出现数据丢失。

  非容器部署

  执行如下命令停止Nebula Graph服务:

Nebula Graph(开源图数据库)

  容器部署

  在nebula-docker-compose/目录内执行如下命令停止Nebula Graph服务:

Nebula Graph(开源图数据库)

  说明:命令docker-compose down -v将会删除所有本地Nebula Graph的数据。如果您使用的是developing或nightly版本,并且有一些兼容性问题,请尝试这个命令。

  查看Nebula Graph服务非容器部署

  执行如下命令查看Nebula Graph服务状态:

Nebula Graph(开源图数据库)

  如果返回如下结果,表示Nebula Graph服务正常运行。

Nebula Graph(开源图数据库)

  如果返回类似如下结果,表示Nebula Graph服务异常,可以根据异常服务信息进一步排查,或者在Nebula Graph社区寻求帮助。

Nebula Graph(开源图数据库)

  Nebula Graph服务由Meta服务、Graph服务和Storage服务共同提供,这三种服务的配置文件都保存在安装目录的etc目录内,默认路径为/usr/local/nebula/etc/,您可以检查相应的配置文件排查问题。

  容器部署

  在nebula-docker-compose目录内执行如下命令查看Nebula Graph服务状态:

Nebula Graph(开源图数据库)

  如果服务有异常,您可以先确认异常的容器名称(例如nebula-docker-compose_graphd2_1),然后执行docker ps查看对应的CONTAINER ID(示例为2a6c56c405f5),最后登录容器排查问题。

Nebula Graph(开源图数据库)

  连接Nebula Graph

  Nebula Graph支持多种类型客户端,包括CLI客户端、GUI客户端和流行编程语言开发的客户端。本文将概述Nebula Graph客户端,并介绍如何使用原生CLI客户端Nebula。

  使用Nebula Console连接Nebula Graph前提条件Nebula Graph服务已启动。如何启动服务,请参见启动和停止Nebula Graph服务。

  运行Nebula Console的机器和运行Nebula Graph的服务器网络互通。

  操作步骤

  在nebula-console页面,确认需要的版本,单击Assets。

  说明:建议您选择最新版本。

Nebula Graph(开源图数据库)

  在Assets区域找到机器运行所需的二进制文件,下载文件到机器上。

Nebula Graph(开源图数据库)

  (可选)为方便使用,重命名文件为nebula-console。

  说明:在Windows系统中,请重命名为nebula-console.exe。

  在运行Nebula Console的机器上执行如下命令,为用户授予nebula-console文件的执行权限。

  说明:Windows系统请跳过此步骤。

Nebula Graph(开源图数据库)

  在命令行界面中,切换工作目录至nebula-console文件所在目录。

  执行如下命令连接Nebula Graph。

  - Linux或macOS

Nebula Graph(开源图数据库)

  - Windows

Nebula Graph(开源图数据库)

  参数说明如下。

Nebula Graph(开源图数据库)

常见问题

  nGQL兼容openCypher 9吗?

  nGQL部分兼容openCypher 9。

  在Nebula Graph Issues中已经列出已知的不兼容项。如果您发现这种类型的新问题,请提交问题并附带incompatible标签。您可以通过关键字compatibility搜索兼容性问题。

  哪里可以找到更多nGQL的示例?

  您可以在Nebula Graph GitHub的features目录内查看超过2500条nGQL示例。

  features目录内包含很多.features格式的文件,每个文件都记录了使用nGQL的场景和示例。例如:

Nebula Graph(开源图数据库)

  示例中的关键字说明如下

Nebula Graph(开源图数据库)

  Nebula Graph支持 W3C 的RDF(SPARQL 或 GraphQL)吗?

  不支持。

  Nebula Graph的数据模型是属性图,是一个强Schema系统,不支持RDF标准。

  Nebula Graph的查询语言也不支持SPARQL和GraphQL。

  返回消息中time spent的含义是什么?

  将命令SHOW SPACES返回的消息作为示例:

Nebula Graph(开源图数据库)

  第一个数字1235表示数据库本身执行该命令花费的时间,即查询引擎从客户端接收到一个查询,然后从存储服务器获取数据并执行一系列计算所花费的时间。

  第二个数字1934表示从客户端角度看所花费的时间,即从客户端发送请求、接收结果,然后在屏幕上显示结果所花费的时间。

  可以在CREATE SPACE时设置replica_factor为偶数(例如设置为2)吗?

  不要这样设置。

  Storage服务使用Raft协议(多数表决),为保证可用性,要求出故障的副本数量不能达到一半。

  如果replica_factor=2,当其中一个副本故障时,就会导致系统无法工作;如果replica_factor=4,只能有一个副本可以出现故障,这和replica_factor=3是一样。以此类推,所以replica_factor设置为奇数即可。

  建议您在生产环境中设置replica_factor=3,测试环境中设置replica_factor=1,不要使用偶数。

  如何处理报错[ERROR (-7)]: SyntaxError: syntax error near?

  大部分情况下,查询语句需要有YIELD或RETURN,请检查您的查询语句是否包含。

相关文章
  • 最新排行
  • 最热排行
  • 评分最高
其他软件排行榜

点击查看更多

点击查看更多

点击查看更多