图数据库 Nebula Graph 是什么
图数据库(英语:Graph Database)是一个使用图结构进行语义查询的数据库。该系统的关键概念是图,形式上是点 (Node 或者 Vertex) 和边 (Edge 或者 Relationship) 的集合。一个顶点代表一个实体,比如,某个人,边则表示两个实体间的关联关系,比如 “你关注 Nebula Graph”的关注关系。图广泛存在于现实世界中,从社交网络到风控场景、从知识图谱到智能推荐。
Nebula Graph 是什么
Nebula Graph 是一款开源的分布式图数据库,擅长处理千亿个顶点和万亿条边的超大规模数据集。提供高吞吐量、低延时的读写能力,内置 ACL 机制和用户鉴权,为用户提供安全的数据库访问方式。
作为一款高性能高可靠的图数据库,Nebula Graph 提供了线性扩容的能力,支持快照方式实现数据恢复功能。在查询语言方面,开发团队完全自研开发查询语言——nGQL,并且后续会兼容 OpenCypher 接口,让 Neo4j 的用户可无缝衔接使用 Nebula Graph。
Nebula Graph 特性
- 开源:Nebula Graph 代码开源,采用 Apache 2.0 License,用户可以从 GitHub 下载源码自己编译,部署。欢迎提交 pr,成为 Contributor。
- 可扩展性:存储计算相分离的架构,当存储空间或计算资源不足时,支持对两者独立进行扩容,避免了传统架构需要同时扩容导致的经济效率低问题。云计算场景下,能实现真正的弹性计算。提供线性扩展的能力。
- 高可用:全对称分布式集群,无单点故障。并且支持多种类型快照方式实现数据恢复,保证在局部失败的情况下服务的高可用性。
- HTAP: 支持 OLTP 实时查询的同时提供了 OLAP 的接口,真正在同一份数据上提供实时在线更新的前提下,也提供复杂分析和挖掘的能力。
- 安全性:内置授权登录与 ACL 机制,提供用户安全的数据库访问方式,也可接入 LDAP 认证。
- 类 SQL 查询语言 nGQL:类 SQL 的风格减少了程序员迁移的成本,同时具有表达能力强的优点。
Nebula Graph 架构
Nebula Graph 1.0 功能
基础功能
- 多图空间:支持多图空间,不同的图空间的数据物理隔离,并且可设置不同的副本数,以应对不同的可用性要求。
- 顶点:支持基本增删改查操作,支持多种顶点类型,也支持同一顶点有多种类型。
- 边:支持基本增删改查操作,支持有向图,支持节点间存在同一种类型或者不同类型的多条边。
- Schema:Tag / EdgeType 支持多种数据类型,支持对属性设置默认值。一个点可以设置多个 Tag。
- 聚合操作:聚合函数 GROUP BY、排序函数 ORDER BY、限定函数 LIMIT 自由组合返回所需数据。
- 组合查询:UNION,UNION DISTINCT,INTERSECT,MINUS 对数据集进行组合查询。
- 条件查询/更新:IF...RETURN 和 UPDATE ... WHEN 根据指定条件查询/更新数据。
- Partition: 支持查看数据分片信息,以及 Partition 对应的 leader 信息。
- 顶点 ID 策略:支持用户自定义 int64 ID, 内置 hash() 和 uuid() 函数生成顶点 ID。
- 索引:支持索引、联合索引,对已建立索引的数据,按条件查找快速查找数据。
- 管道查询: 管道符前面查询语句的输出可作为管道符后面命令的输入。
- 用户定义变量:用户自定义变量可暂时将查询结果存储在自定义的变量中,并在随后查询语句中使用。
- 多种字符集、字符编码
高级功能
- 权限管理: 支持用户权限认证,支持用户角色访问控制。可轻松对接现有用户认证系统。 Nebula Graph 提供五种角色权限:GOD、ADMIN、DBA、USER 和 GUEST。
- 稠密点:对于超级顶点支持蓄水池采样, 在只遍历一遍数据(O(N))的情况下,随机的抽取k个元素。
- 集群快照:支持以集群维度创建快照,提供在线的数据备份功能,快速恢复。
- TTL:支持设置数据的有效期,快速清理过期数据释放资源。
- Job Manager:Job 管理调度工具,目前支持 Compaction / Flush 操作。
- 支持在线扩缩容以及负载均衡
- 图算法:支持全路径 / 最短路径算法。
- 提供 OLAP 接口,对接图计算平台。
- 监控接口:支持系统状态监控、API 访问时间监控、性能数据监控等操作。
客户端
- Java 客户端:可自行编译或者从 mvn 仓库进行下载。
- Python 客户端:可通过源码安装或者 pip 进行安装。
- Go 客户端:可通过
go get -u -v github.com/vesoft-inc/nebula-go
安装使用。
周边工具
- Nebula Graph Studio:基于 Web 的可视化环境,提供图操作界面、图数据展示与分析。见 Nebula Graph Studio
-
导入工具
- Nebula Importer,提供高性能的 CSV 文件导入工具,支持导入本地和远程文件。见 Nebula-Importer
- Spark Writer 基于 Spark 的分布式数据导入工具。见 Spark Writer
-
导出工具
- Dump Tool,单机离线数据导出工具,可以用于导出或统计指定条件的数据。
-
第三方支持
- 对接 Prometheus 系统以及 Grafana 可视化组件,支持 Ansible 和 Kubernetes 部署,可实时监控集群的状态。
Nebula Graph 一个开源的分布式图数据库,如果你在使用过程中遇到问题,你可以在论坛:https://discuss.nebula-graph.com.cn/ 和 GitHub:https://github.com/vesoft-inc/nebula 得到帮助 :)
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
谈AI时代如何填补信息安全漏洞
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 最近,中信银行信息泄漏事件持续发酵。继上海银保监局介入后,5月9日,银保监对各大银行进行监管审查。据银保监公布行政处罚信息公开表显示,中国银行、工商银行、中信银行等在内的8家银行,因监管标准化数据(EAST)系统数据质量及报送存在违法违规行为被罚,共计1770万元。 这起关于个人信息泄露的事件引起了社会的热议。在数据爆炸的当下,我们该如何应对永无止境的信息安全攻防战呢? 数据爆炸带来的困扰 近年来,随着移动互联网的高速发展,海量的数据信息在给我们生活带来便利的同时,个人信息泄露的问题也日渐凸显。最典型的例子就是Facebook等社交网络巨头,近年来,随着全球用户的增长,Facebook一直在为用户的隐私问题而烦恼。 就在5月9日,Facebook用户请求法官同意他们就一项集体诉讼达成5.5亿美元的和解。该诉讼指控Facebook通过照片标记工具非法收集生物识别数据。 据报道,Facebook已同意为集体诉讼成员关闭面部识别功能,删除现有的用户生物识别信息,除非在和解生效后的180天之内用...
- 下一篇
《CDN排坑指南》 一书详解CDN经典问题排查要点!
想要简单易懂的CDN入门教程? 安排! 想要CDN真实案例详解? 安排! 想要CDN深度排查方案? 安排! 你想要的我都有!这次【云服务技术课堂】精心准备的电子书福利为大家把这些通通安排上了! 《CDN排坑指南》,一书详解CDN经典问题排查要点,带领大家认识CDN世界的深度和广度! 目录 CDN 原理及快速入门 CDN 加速的核心原理是什么 CDN 初次使用快速导航、 CDN 进阶功能排查 7个问题搞懂 HTTPS 证书配置 CDN 刷新和预热常见问题 高效低价!CDN 加速 OSS架构优势 必备 API 接口和 SDK 工具包 CDN 性能优化与安全防护 核心课题---学会从缓存命中率解决看问题 流量突增?!CDN 帮你分析 最佳实践---运维仔教你优化加速 CDN 访问异常排查 403 错误怎么办?七种原因帮你精准定位 三招快速定位 404 错误 502/503/504 错误排查攻略 服务器陷入死循环?508 错误的解法 重定向次数过多?三个方法搞定 下载地址:https://yq.aliyun.com/download/4037
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2整合Redis,开启缓存,提高访问速度
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)