安下载(俺下载):打造放心的绿色安全下载站! 安下载首页|软件分类|最近更新

所在位置: 首页  >  电脑软件  >  编程开发  >  数据库类 > Nebula Graph(开源图数据库) v1.2.1 官方版
Nebula Graph(开源图数据库)

Nebula Graph(开源图数据库)

 v1.2.1 官方版
  • 软件大小:1.50 MB
  • 更新日期:2021-04-19 11:30
  • 软件语言:英文
  • 软件类别:数据库类
  • 软件授权:免费版
  • 软件官网:
  • 适用平台:WinXP, Win7, Win8, Win10, WinAll
  • 软件厂商:

6
软件评分

本地下载文件大小:1.50 MB

软件介绍 人气软件 下载地址

为您推荐: 编程开发

  Nebula Graph是一款图数据库软件,如果你需要部署数据库就可以选择这款软件,软件可以将图形数据储存为点、边,方便用户快速建立数据关系,点是用点标识符(VID)标识的,VID在同一图空间中唯一,点必须有至少一个标签,标签可以用于对点进行区分。具有相同标签的点共享相同的属性定义,边是用来连接点的,表示两个点之间的关系或行为,边类型用于对边进行区分,具有相同边类型的边共享相同的属性定义,通过点和边的储存方式可以让数据之间更容易建立关系,方便以后快速建立数据模型分析事件,快速在数据库查询资源,如果你需要这款软件就下载吧!

Nebula Graph(开源图数据库)

软件功能

  Nebula Graph是一款开源的、分布式的、易扩展的原生图数据库,能够承载数十亿个点和数万亿条边的超大规模数据集,并且提供毫秒级查询。

  什么是图数据库

  图数据库是专门存储庞大的图形网络并从中检索信息的数据库。它可以将图形中的数据高效存储为点(vertex)和边(edge),还可以将属性(property)附加到点和边上。

Nebula Graph(开源图数据库)

  图数据库适合存储大多数从现实抽象出的数据类型。世界上几乎所有领域的事物都有内在联系,像关系型数据库这样的建模系统会提取实体之间的关系,并将关系单独存储到表和列中,而实体的类型和属性存储在其他列甚至其他表中,这使得数据管理费时费力。

  Nebula Graph作为一个典型的原生图数据库,允许将丰富的关系存储为边,边的类型和属性可以直接附加到边上。

  Nebula Graph的优势

  1、开源

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

  2、高性能

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

  3、易扩展

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

  4、易开发

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

  5、高可靠访问控制

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

  6、生态多样化

  Nebula Graph开放了越来越多的原生工具,例如Nebula Graph Studio、nebula-console、Nebula Graph Exchange等。

  此外,Nebula Graph还具备与Spark、Flink、HBase等产品整合的能力,在这个充满挑战与机遇的时代,大大增强了自身的竞争力。

  7、兼容openCypher查询语言

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

  8、灵活数据建模

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

软件特色

  星云图(Nebula Graph)是一个开放源代码图数据库,能够托管具有数十亿个顶点(节点)和数万亿条边(具有几毫秒的延迟)的超大规模图。它提供了企业级的高性能,可以将可以想象得到的最复杂的数据集简化为有意义和有用的信息。

  与其他图形数据库解决方案相比,Nebula Graph具有以下优点:

  对称分布

  存储与计算分离

  横向可扩展性

  通过RAFT协议实现强大的数据一致性

  类似于SQL的查询语言

  基于角色的访问控制可提供更高级别的安全性

官方教程

  基础操作语法

  本文介绍Nebula Graph基础操作的语法。

  图空间和Schema

  一个Nebula Graph实例由一个或多个图空间组成。每个图空间都是物理隔离的,您可以在同一个实例中使用不同的图空间存储不同的数据集。

Nebula Graph(开源图数据库)

  为了在图空间中插入数据,需要为图数据库定义一个Schema。Nebula Graph的Schema是由如下几部分组成。

Nebula Graph(开源图数据库)

  检查Nebula Graph集群的机器状态

  首先建议您检查机器状态,确保所有的Storage服务连接到了Meta服务。执行命令SHOW HOSTS查看机器状态。

Nebula Graph(开源图数据库)

  在返回结果中,查看Status列,可以看到所有Storage服务都在线。

  异步实现创建和修改

  Nebula Graph中执行如下创建和修改操作,是异步实现的,需要在下一个心跳周期才同步数据。

  CREATE SPACE

  CREATE TAG

  CREATE EDGE

  ALTER TAG

  ALTER EDGE

  CREATE TAG INDEX

  CREATE EDGE INDEX

  说明:默认心跳周期是10秒。修改心跳周期参数heartbeat_interval_secs,

  为确保数据同步,后续操作能顺利进行,可采取以下方法之一:

  执行SHOW或DESCRIBE命令检查相应对象的状态,确保创建或修改已完成。如果没有完成,请等待几秒重试。

  等待2个心跳周期(20秒)。

  创建和选择图空间

  nGQL语法

  创建图空间

Nebula Graph(开源图数据库)

  列出创建成功的图空间

Nebula Graph(开源图数据库)

  示例

  1、执行如下语句创建名为basketballplayer的图空间

Nebula Graph(开源图数据库)

  2、执行命令SHOW HOSTS检查分片的分布情况,确保平衡分布。

Nebula Graph(开源图数据库)

  如果Leader distribution分布不均匀,请执行命令BALANCE LEADER重新分配

  3、选择图空间basketballplayer。

Nebula Graph(开源图数据库)

  您可以执行命令SHOW SPACES查看创建的图空间。

Nebula Graph(开源图数据库)

  创建标签和边类型

  nGQL语法

Nebula Graph(开源图数据库)

  示例

  创建标签player和team,以及边类型follow和serve。说明如下表。

Nebula Graph(开源图数据库)

  插入点和边

  您可以使用INSERT语句,基于现有的标签插入点,或者基于现有的边类型插入边。

  nGQL语法

  插入点

Nebula Graph(开源图数据库)

  VID是Vertex ID的缩写,VID在一个图空间中是唯一的。

  插入边

Nebula Graph(开源图数据库)

  示例

  插入代表球员和球队的点

Nebula Graph(开源图数据库)

  插入代表球员和球队之间关系的边。

Nebula Graph(开源图数据库)

  查询数据

  GO语句可以根据指定的条件遍历数据库。GO语句从一个或多个点开始,沿着一条或多条边遍历,返回YIELD子句中指定的信息。

  FETCH语句可以获得点或边的属性。

  LOOKUP语句是基于索引的,和WHERE子句一起使用,查找符合特定条件的数据。

  MATCH语句是查询图数据最常用的,但是它依赖索引去匹配Nebula Graph中的数据模型。

  nGQL语法

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

  GO语句示例

  从VID为player100的球员开始,沿着边follow找到连接的球员。

Nebula Graph(开源图数据库)

  从VID为player100的球员开始,沿着边follow查找年龄大于或等于35岁的球员,并返回他们的姓名和年龄,同时重命名对应的列。

Nebula Graph(开源图数据库)

  从VID为player100的球员开始,沿着边follow查找连接的球员,然后检索这些球员的球队。为了合并这两个查询请求,可以使用管道符或临时变量。

  使用管道符

Nebula Graph(开源图数据库)

  使用临时变量

  说明:当复合语句作为一个整体提交给服务器时,其中的临时变量会在语句结束时被释放。

Nebula Graph(开源图数据库)

  FETCH语句示例

  查询VID为player100的球员的属性。

Nebula Graph(开源图数据库)

  修改点和边

  您可以使用UPDATE语句或UPSERT语句修改现有数据。

  UPSERT是UPDATE和INSERT的结合体。当您使用UPSERT更新一个点或边,如果它不存在,数据库会自动插入一个新的点或边。

  说明:UPSERT操作是基于Nebula Graph的分区进行串行操作,所以执行速度比单独执行INSERT或UPDATE慢。

  nGQL语法

  UPDATE点

Nebula Graph(开源图数据库)

  示例

Nebula Graph(开源图数据库)

  用UPDATE修改某条边的degree属性,然后用FETCH检查结果

Nebula Graph(开源图数据库)

  用UPSERT插入一个VID为player111的点

Nebula Graph(开源图数据库)

  身份验证

  身份验证用于将会话映射到特定用户,从而实现访问控制。

  当客户端连接到Nebula Graph时,Nebula Graph会创建一个会话,会话中存储连接的各种信息,如果开启了身份验证,就会将会话映射到对应的用户。

  说明:默认情况下,身份验证功能是关闭的,输入任意用户名和密码都可以连接到Nebula Graph。

  Nebula Graph支持两种身份验证方式:本地身份验证和LDAP验证。

  本地身份验证

  本地身份验证是指在服务器本地存储用户名、加密密码,当用户尝试访问Nebula Graph时,将进行身份验证。

  启用本地身份验证

  1、编辑配置文件nebula-graphd.conf(默认目录为/usr/local/nebula/etc/),设置--enable_authorize=true并保存退出。

  2、重启Nebula Graph服务。

  说明:开启身份验证后,默认的God角色账号为root,密码为nebula。

  LDAP验证

  轻型目录访问协议(LDAP)是用于访问目录服务的轻型客户端-服务器协议,可以实现账号集中管理。 启用LDAP验证后,LDAP中存储的用户优先级高于本地用户。例如本地和LDAP都有一个名为Amber的用户,则优先从LDAP读取该用户的设置和角色信息。

  启用LDAP验证

  当前仅企业版支持集成LDAP进行身份验证

  用户管理

  用户管理是Nebula Graph访问控制中不可或缺的组成部分,本文将介绍用户管理的相关语法。

  开启身份验证后,您需要使用已创建的用户才能连接Nebula Graph,而且连接后可以进行的操作也取决于该用户拥有的角色权限。

  说明:

  默认情况下,身份验证功能是关闭的,输入任意用户名和密码都可以连接到Nebula Graph。

  修改权限后,对应的用户需要重新登录才能生效。

  创建用户(CREATE USER)

  执行CREATE USER语句可以创建新的Nebula Graph用户。当前仅God角色用户(即root用户)能够执行CREATE USER语句。

Nebula Graph(开源图数据库)

  授权用户(GRANT ROLE)

  执行GRANT ROLE语句可以将指定图空间的内置角色权限授予用户。当前仅God角色用户和Admin角色用户能够执行GRANT ROLE语句。

Nebula Graph(开源图数据库)

  撤销用户权限(REVOKE ROLE)

  执行REVOKE ROLE语句可以撤销用户的指定图空间的内置角色权限。当前仅God角色用户和Admin角色用户能够执行REVOKE ROLE语句

Nebula Graph(开源图数据库)

  修改用户密码(CHANGE PASSWORD)

  执行CHANGE PASSWORD语句可以修改用户密码,修改时需要提供旧密码和新密码。

Nebula Graph(开源图数据库)

  修改用户密码(ALTER USER)

  执行ALTER USER语句可以修改用户密码,修改时不需要提供旧密码。当前仅God角色用户(即root用户)能够执行ALTER USER语句。

Nebula Graph(开源图数据库)

  删除用户(DROP USER)

  执行DROP USER语句可以删除用户。当前仅God角色用户能够执行DROP USER语句。

  说明:删除用户不会自动断开该用户当前会话,而且权限仍在当前会话中生效。

Nebula Graph(开源图数据库)

  查看用户列表(SHOW USERS)

  执行SHOW USERS语句可以查看用户列表。当前仅God角色用户能够执行SHOW USERS语句。

Nebula Graph(开源图数据库)

  内置角色权限

  所谓角色,就是一组相关权限的集合。您可以把角色分配给创建的用户,从而实现访问控制。

  内置角色

  Nebula Graph内置了多种角色,说明如下:

  God

  初始最高权限角色,拥有所有操作的权限。类似于Linux中的root和Windows中的administrator。

  Meta服务初始化时,会自动创建God角色用户root,密码为nebula。

  注意:请及时修改root用户的密码,保证数据安全。

  一个集群只能有一个God角色用户,该用户可以管理集群内所有图空间。

  不支持手动授权God角色,只能使用默认God角色用户root。

  Admin

  对权限内的图空间拥有Schema和data的读写权限。

  可以将权限内的图空间授权给其他用户。

  注意:只能授权低于ADMIN级别的角色给其他用户。

  DBA

  对权限内的图空间拥有Schema和data的读写权限。

  无法将权限内的图空间授权给其他用户。

  User

  对权限内的图空间拥有Schema的只读权限。

  对权限内的图空间拥有data的读写权限。

  Guest

  对权限内的图空间拥有Schema和data的只读权限。

  说明:

  暂不支持自行创建角色,只能使用默认的内置角色。

  一个用户在一个图空间内只能拥有一个角色权限

  角色权限

  各角色的执行权限如下

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

人气软件