This article was first published on Nebula Graph Community public number
Technology Co., Ltd. (Official website: 1612efad6436bf https://www.vesoft.com/cn/ ). It is mainly used to solve the problem of generating massive data. New challenges in relational data analysis and mining. Since its open source in May 2019, Nebula Graph has received widespread attention. Many companies, technical teams, and developers have applied Nebula Graph to their businesses to build knowledge graphs, risk control, data governance, anti-fraud, and real-time recommendations. In the Nebula community, more and more users learn how to use Nebula Graph from case sharing. At the same time, there is a voice that some users want to understand the ideas and principles behind Nebula Graph.
In this context, we hope to interpret the series through the Nebula Graph source code, analyze the design ideas and implementation principles, and help everyone understand Nebula Graph better and use Nebula Graph better. Similarly, this will also benefit you and the Nebula Graph community. Build a better Nebula Graph together.
Content overview
The source code interpretation series is mainly from the 1612efad643701 Nebula Graph system architecture and the core module . In addition, the performance problems caused by the architecture limitations that community users are concerned about will be analyzed in the last chapter.
Although the source code interpretation series is called source code interpretation, it is not just an analysis of code implementation and function explanation, but also focuses on guiding you to master the implementation principle of Nebula Graph from a design perspective, and understand the design ideas behind it through the implemented code. (Because Nebula Graph is still in the rapid iteration stage, and new features continue to enter the main branch, the explanation of some of the core modules that are constantly iterating will not go into the code details too much).
The current source code interpretation series chapters are planned as follows:
- Nebula Graph Overview: Take you to understand the Nebula Graph architecture and code warehouse distribution, code structure and module planning;
- Core module explanation: tells about the operation principle of semantic analysis, optimization, scheduling and other system modules, as well as various clients such as Java and Python;
- Component communication: talk about the communication mechanism in Nebula Graph;
- 2.0 new feature explanation: from Variable Length Pattern Match and index selection two points to cut into and explain the principle of Match implementation;
- Architecture limitations and solutions: describe the corresponding solutions for the community’s slow query suspension and oversize processing issues;
I hope that after reading this series, you will have a certain understanding of Nebula Graph, understand the implementation principle of Nebula Graph's new features, and can locate and solve problems faster from an implementation perspective when you encounter problems. And, when you contribute code to the Nebula Graph repository, you can better write code that conforms to the Nebula Graph design idea.
The complete guide to Nebula Graph
The source code analysis series is designed to take you to understand the implementation principle behind the Nebula Graph code, and the complete guide to Nebula Graph (link: https://docs.nebula-graph.com.cn/site/pdf/NebulaGraph-book.pdf ) It is to use the Daquan, starting from what the graph database is, introduce the specific use of nGQL and the meaning of the corresponding parameters, and solve the problem of using Nebula Graph in an all-round way.
background knowledge
This series of content revolves around Nebula Graph, a distributed graph database, but readers still need to have the following technical background:
- Basic Principles of Database
- Nebula Graph architecture
- C++ language: Nebula Graph is implemented by the C++ programming language. Readers need to have a certain C++ programming foundation, which will help to quickly understand the code.
Written at the end of the article
This is the first time that we have written a series of explanations. If there are any improprieties and improvements, we hope that readers can give us feedback on forums, WeChat groups and other channels, so that we can better produce content.
Want to have a face-to-face technical exchange with Nebula's official R&D team and community users? [NMeetup Understanding Map Database] Registration for offline events is in progress. Join us on 09.04 to exchange map database technology in Hangzhou~ [09.04 Hangzhou session registration] , [09.11 Shenzhen session registration]
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。