Nebula Graph 是開源的高性能分佈式圖數據庫。項目使用 C++ 語言開發,cmake
工具構建。其中兩個重要的依賴是 Facebook 的 Thrift RPC 框架和 folly 庫.git
因爲項目採用了 C++ 14 標準開發,須要使用較新版本的編譯器和一些三方庫。雖然 Nebula Graph 官方給出了一份開發者構建指南,可是在本地構建完整的編譯環境依然不是一件輕鬆的事。github
Nebula Graph 依賴較多,且一些第三方庫需本地編譯安裝,爲了方便開發者本地編譯項目源碼, Nebula Graph 官方爲你們提供了一個預安裝全部依賴的 docker 鏡像)。開發者只需以下的三步便可快速的編譯 Nebula Graph 工程,參與 Nebula Graph 的開源貢獻:docker
vesoft/nebula-dev
鏡像 pull
到本地$ 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/
進入容器。shell
cmake
構建 Nebula 工程docker> mkdir _build && cd _build docker> cmake .. && make -j2 docker> ctest # 執行單元測試
Nebula 項目目前主要採用靜態依賴的方式編譯,加上附加的一些調試信息,因此生產的一些可執行文件會比較佔用磁盤空間,建議小夥伴預留 20G 以上的空閒空間給 Nebula 目錄 :)數據庫
因爲 Docker 鏡像文件存儲在國外,在 pull 過程當中會遇到速度過慢的問題,這裏 Nebula Graph 提供一種加速 pull 的方法:經過配置國內地址解決,例如:json
Linux 小夥伴可在 /etc/docker/daemon.json
中加入以下內容(若文件不存在,請新建該文件)bash
{ "registry-mirrors": [ "https://dockerhub.azk8s.cn", "https://reg-mirror.qiniu.com" ] }
macOS 小夥伴請點擊 Docker Desktop 圖標 -> Preferences -> Daemon -> Registry mirrors
。 在列表中添加 https://dockerhub.azk8s.cn
和 https://reg-mirror.qiniu.com
。修改後,點擊 Apply & Restart 按鈕, 重啓 Docker。框架
Nebula Graph 社區是由一羣愛好圖數據庫,共同推動圖數據庫發展的開發者構成的社區。分佈式
本文由 Nebula Graph 社區 Committer 伊興路貢獻,也歡迎閱讀本文的你參與到 Nebula Graph 的開發,或向 Nebula Graph 投稿。工具
Nebula Graph:一個開源的分佈式圖數據庫。GitHub:https://github.com/vesoft-inc/nebula