乐趣区

关于源码学习:Nebula-Graph-源码解读系列-|-Vol00-序言

本文首发于 Nebula Graph Community 公众号

Nebula Graph 是由杭州欧若数网科技有限公司(官网:https://www.vesoft.com/cn/)开源的一款分布式图数据库,它次要用来解决随同着海量数据产生,在关联数据分析、开掘方面面临的新挑战。自 2019 年 5 月开源以来,Nebula Graph 受到了宽泛的关注,许多企业、技术团队、开发者将 Nebula Graph 利用到业务上构建常识图谱、风控、数据治理、反欺诈、实时举荐等场景。在 Nebula 社区中,越来越多用户从案例分享中把握 Nebula Graph 的应用办法,与此同时,呈现了一种声音,局部用户心愿能理解 Nebula Graph 背地的实现思路和原理。

在这样的背景下,咱们心愿通过 Nebula Graph 源码解读系列,剖析设计思路和实现原理,帮忙大家深刻理解 Nebula Graph,更好地应用 Nebula Graph,同样的,这也将有利于你和 Nebula Graph 社区一块共建更好的 Nebula Graph。

内容概述

源码解读系列次要从 Nebula Graph 零碎架构 外围模块 开展,此外针对社区用户关怀的架构限度带来的性能问题将在最初一个章节剖析此类问题。

源码解读系列虽名为源码解读,但并非只是对代码实现的剖析和函数解说,更侧重于从设计角度带你把握 Nebula Graph 实现原理,透过实现的代码来理解背地的设计思路。(因为 Nebula Graph 目前仍处于疾速迭代阶段,继续有新性能进入主分支,故局部一直迭代的外围模块的解说不会过多地深刻代码细节)。

目前源码解读系列章节布局如下:

  • Nebula Graph Overview:带你理解 Nebula Graph 架构和代码仓散布、代码构造和模块布局;
  • 外围模块解说:讲述语义剖析、优化、调度等零碎模块,Java、Python 等各类客户端的运行原理;
  • 组件通信:讲述 Nebula Graph 中通信机制;
  • 2.0 新个性解说:从 Variable Length Pattern Match 和索引抉择两个点切入讲述 Match 实现的原理;
  • 架构限度和解决方案:针对社区的慢查问停止、超大点解决的问题讲述对应的解决方案;

心愿大家读完本系列内容之后,对 Nebula Graph 有肯定的理解,明确 Nebula Graph 新性能的实现原理,遇到问题时能从实现角度更快定位问题解决问题。以及,在 Nebula Graph 仓库奉献代码时能更好地写出合乎 Nebula Graph 设计思路的代码。

Nebula Graph 齐全指南

源码解析系列旨在带你理解 Nebula Graph 代码背地的实现原理,而 Nebula Graph 齐全指南(链接:https://docs.nebula-graph.com.cn/site/pdf/NebulaGraph-book.pdf)则是应用大全,从图数据库是什么开始讲起,介绍 nGQL 具体的应用以及对应的参数含意,全方位解决 Nebula Graph 应用问题。

背景常识

本系列内容围绕 Nebula Graph 这一分布式图数据库开展,然而依然须要读者具备下列技术背景:

  • 数据库基本原理
  • Nebula Graph 架构
  • C++ 语言:Nebula Graph 由 C++ 编程语言实现,读者须要有肯定的 C++ 编程根底,这将有利于疾速理解代码。

写在文末

这是第一次咱们写系列解说内容,当中若存在不妥和改良点,心愿读者能在论坛、微信群等渠道反馈给咱们,好让咱们更好地产出内容。

想和 Nebula 官网研发团队、社区用户来个面对面的技术交换吗?【nMeetup 意识图数据库】线下流动报名进行中,在 09.04 和咱们一起在杭州交换图数据库技术吧~【09.04 杭州场报名】、【09.11 深圳场报名】

退出移动版