Nebula Graph 介绍

Nebula Graph 是开源的高性能分布式图数据库。项目使用 C++ 语言开发,cmake 工具构建。其中两个重要的依赖是 Facebook 的 Thrift RPC 框架和 folly 库.

由于项目采用了 C++ 14 标准开发,需要使用较新版本的编译器和一些三方库。虽然 Nebula Graph 官方给出了一份开发者构建指南,但是在本地构建完整的编译环境依然不是一件轻松的事。

开发环境构建

Nebula Graph 依赖较多,且一些第三方库需本地编译安装,为了方便开发者本地编译项目源码, Nebula Graph 官方为大家提供了一个预安装所有依赖的 [docker 镜像](docker hub)。开发者只需如下的三步即可快速的编译 Nebula Graph 工程,参与 Nebula Graph 的开源贡献:

   $ docker pull vesoft/nebula-dev
  • 运行 Docker 并挂载 Nebula 源码目录到容器的 /home/nebula 目录
   $ docker run --rm -ti -v {nebula-root-path}:/home/nebula vesoft/nebula-dev bash

感谢社区伙伴@阿东 提的建议,把上面的 {nebula-root-path} 替换成你 Nebula Graph 实际 clone 的目录

为了避免每次退出 docker 容器之后,重新键入上述的命令,我们在 vesoft-inc/nebula-dev-docker 中提供了一个简单的 build.sh 脚本,可通过 ./build.sh /path/to/nebula/root/ 进入容器。

  • 使用 cmake 构建 Nebula 工程
   docker> mkdir _build && cd _build
docker> cmake .. && make -j2
docker> ctest # 执行单元测试

提醒

Nebula 项目目前主要采用静态依赖的方式编译,加上附加的一些调试信息,所以生产的一些可执行文件会比较占用磁盘空间,建议小伙伴预留 20G 以上的空闲空间给 Nebula 目录

最新文章

  1. 深入seajs源码系列二
  2. Winform无边框窗体的移动和阴影
  3. onselectstart="return false"
  4. 项目管理、测试管理、代码bug 管理
  5. mmap()与munmap()的小例子
  6. js异步加载
  7. autofs实现nfs自动挂载
  8. Codeforces Round #311 (Div. 2) E. Ann and Half-Palindrome 字典树/半回文串
  9. php调用dll
  10. 小心LinkedHashMap的get()方法(转)
  11. hdu1042
  12. 日积月累--Lock锁机制
  13. js基本知识
  14. BZOJ2821 作诗(Poetize) 分块
  15. 【bootstrap组件】几个常用的好用bs组件
  16. Python3 tkinter基础 event keysym 查看按键的按键名
  17. Android:E/Surface: getSlotFromBufferLocked: unknown buffer: 0x7f9d1b41c0
  18. Epic Games工程师分享:如何在移动平台上做UE4的UI优化?
  19. gentoo kvm qemu virt-manager - Unable to complete install: error creating macvtap interface macvtap0@: Operation not supported'
  20. Python3的bytes和str之别

热门文章

  1. 《一头扎进》系列之Python+Selenium框架设计篇4- 价值好几K的框架,呵!这个框架有点意思啊
  2. java基础-数据类型之殇
  3. ssm集成(maven)& 分模块开发--详细教程
  4. jQuery实现简单购物车页面
  5. Life is not supposed to be easy 。
  6. laravel .env文件的使用
  7. go笔记--rpc和grpc使用
  8. 三个月前的评测拖延三个月仍旧是拳王No.1吗?YES!
  9. Java对象 POJO和JavaBean的区别
  10. AssemblyBuilder以及Activator双剑合璧