简介
由杭州欧若数网科技有限公司研发的图数据库,作为一款开源的分布式图数据库,Nebula Graph 擅长处理千亿个顶点和万亿条边的超大规模数据集。
- 开源:Nebula Graph 代码开源,采用 Apache 2.0 License,用户可以从 GitHub 下载源码自己编译,部署。欢迎提交 pr,成为 Contributor。
- 可扩展性:存储计算相分离的架构,当存储空间或计算资源不足时,支持对两者独立进行扩容,避免了传统架构需要同时扩容导致的经济效率低问题。云计算场景下,能实现真正的弹性计算。提供线性扩展的能力。
- 高可用:全对称分布式集群,无单点故障。并且支持多种类型快照方式实现数据恢复,保证在局部失败的情况下服务的高可用性。
- HTAP: 支持 OLTP 实时查询的同时提供了 OLAP 的接口,真正在同一份数据上提供实时在线更新的前提下,也提供复杂分析和挖掘的能力。
- 安全性:内置授权登录与 ACL 机制,提供用户安全的数据库访问方式,也可接入 LDAP 认证。
- 类 SQL 查询语言 nGQL:类 SQL 的风格减少了程序员迁移的成本,同时具有表达能力强的优点。
Docker部署
这里参考官网的步骤,但是由于版本支持的问题,完全按照官网的步骤会出现一些问题
首先你的环境需要 Docker , Docker compose , Git
1.拉取
git clone -b v2.6.0 https://github.com/vesoft-inc/nebula-docker-compose.git
我这里要提醒的第一点就是版本,如果你按照官网的步骤去拉,拉的是主分支,那么部署到后面用nebula-client连接时就会出现问题,提示版本不支持,具体的版本对应文档,可以参考github的README,我这里使用推荐的2.6.0
2.构建
cd nebula-docker-compose
docker-compose up -d
# Creating nebula-docker-compose_metad0_1 ... done
# Creating nebula-docker-compose_metad2_1 ... done
# Creating nebula-docker-compose_metad1_1 ... done
# Creating nebula-docker-compose_graphd2_1 ... done
# Creating nebula-docker-compose_graphd_1 ... done
# Creating nebula-docker-compose_graphd1_1 ... done
# Creating nebula-docker-compose_storaged0_1 ... done
# Creating nebula-docker-compose_storaged2_1 ... done
# Creating nebula-docker-compose_storaged1_1 ... done
如果提示TLS handshake timeout网络问题,则增加镜像源:
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://d1d9aef0.m.daocloud.io
3.连接
docker run --rm -ti --network nebula-docker-compose_nebula-net \
--entrypoint=/bin/sh vesoft/nebula-console:v2-nightly
这里我们可以看到我们使用了vesoft/nebula-console:v2-nightly
,这个要严格对照github上的版本,进入容器后:
nebula-console -u user -p password --address=graphd --port=9669
这里的用户名和密码因为没有验证,所以是可以随便输入的
成功连接后可以使用SHOW HOSTS
产看nebula-storage进程
4.退出
exit
即可
rpm
官网下载中可以找到Package。(CentOS7系统即为el7,注意版本)
下载之后:
rpm -ivh nebula-graph-2.6.2.el7.x86_64.rpm
启动:
/usr/local/nebula/scripts/nebula.service start all
检查服务是否成功启动
/usr/local/nebula/scripts/nebula.service status all
连接 Nebula Graph:
/usr/local/nebula/bin/nebula -u user -p password
web访问
官方提供了nebula-studio web页面访问nebula
这里介绍docker部署方式(确保7001,8080端口未被占用):
git clone https://github.com/vesoft-inc/nebula-studio.git
cd nebula-studio
docker-compose pull
docker-compose up -d
进入图形界面 ip:7001, 其中的Host我们需要填写nebula的ip:端口,例如:127.0.0.1:9669,用户名密码随便,之后即可进入: