Skip to content

Commit

Permalink
fix (#662)
Browse files Browse the repository at this point in the history
  • Loading branch information
whitewum authored Sep 2, 2021
1 parent 38b7b5d commit 78219f8
Show file tree
Hide file tree
Showing 24 changed files with 131 additions and 70 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ Graph Service is used to process the query. It has four submodules: Parser, Vali

After a query is sent to Graph Service, it will be processed by the following four submodules:

1. **Parser**Performs lexical analysis and syntax analysis.
1. **Parser**: Performs lexical analysis and syntax analysis.

2. **Validator**Validates the statements.
2. **Validator**: Validates the statements.

3. **Planner**Generates and optimizes the execution plans.
3. **Planner**: Generates and optimizes the execution plans.

4. **Executor**Executes the operators.
4. **Executor**: Executes the operators.

## Parser

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ Nebula Graph uses a **static Hash** strategy to shard data through a modulo oper

When inserting into Nebula Graph, vertices and edges are distributed across different partitions. And the partitions are located on different machines. The number of partitions is set in the CREATE SPACE statement and cannot be changed afterward.

If certain vertices need to be placed on the same partition (i.e., on the same machine), see [Formula/code](https://github.com/vesoft-inc/nebula-common/blob/master/src/common/clients/meta/MetaClient.cpp)
If certain vertices need to be placed on the same partition (i.e., on the same machine), see [Formula/code](https://github.com/vesoft-inc/nebula-common/blob/master/src/common/clients/meta/MetaClient.cpp).

The following code will briefly describe the relationship between VID and partition.

Expand Down Expand Up @@ -234,7 +234,7 @@ The Listener is designed for **storage horizontal scaling**. It takes a long tim

The Listener will write into the command WAL. If the leader finds a command of `add learner` when writing the WAL, it will add the listener to its peers and mark it as a Listener. Listeners cannot join the quorum votes, but logs will still be sent to them as usual. Listeners themselves will not initiate elections.

Raft listener can write the data into Elasticsearch cluster after receiving them from Learner to implement full-text search. For more information, see [Deploy Raft Listener](../../4.deployment-and-installation/6.deploy-text-based-index/3.deploy-listener.md)
Raft listener can write the data into Elasticsearch cluster after receiving them from Learner to implement full-text search. For more information, see [Deploy Raft Listener](../../4.deployment-and-installation/6.deploy-text-based-index/3.deploy-listener.md).

### Transfer Leadership

Expand All @@ -258,4 +258,4 @@ Storage Service is a Raft-based distributed architecture, which has certain diff

- Storage Service can access the file system directly. While the applications of HDFS (such as HBase) have to access HDFS before the file system, which requires more RPC times.

In a wordStorage Service is more lightweight with some functions simplified and its architecture is simpler than HDFS, which can effectively improve the read and write performance of a smaller block of data.
In a word, Storage Service is more lightweight with some functions simplified and its architecture is simpler than HDFS, which can effectively improve the read and write performance of a smaller block of data.
2 changes: 1 addition & 1 deletion docs-2.0/1.introduction/3.vid.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ In Nebula Graph, a vertex is uniquely identified by its ID, which is called a VI

+ A VID is the unique identifier of an entity, like a person's ID card number. A tag means the type of an entity, such as driver, and boss. Different tags define two groups of different properties, such as driving license number, driving age, order amount, order taking alt, and job number, payroll, debt ceiling, business phone number.

+ When two `INSERT` statements (neither uses a parameter of `IF NOT EXISTS`) with the same VID and tag are operated at the same timethe latter `INSERT` will overwrite the former.
+ When two `INSERT` statements (neither uses a parameter of `IF NOT EXISTS`) with the same VID and tag are operated at the same time, the latter `INSERT` will overwrite the former.

+ When two `INSERT` statements with the same VID but different tags, like `TAG A` and `TAG B`, are operated at the same time, the operation of `Tag A` will not affect `Tag B`.

Expand Down
6 changes: 3 additions & 3 deletions docs-2.0/14.client/3.nebula-cpp-client.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
$ make -j{N}
```

6. Install Nebula CPP
6. Install Nebula CPP.

```bash
$ sudo make install
Expand All @@ -90,9 +90,9 @@ Compile the CPP file to an executable file, then you can use it. The following s
$ LIBRARY_PATH=<library_folder_path>:$LIBRARY_PATH g++ -std=c++11 SessionExample.cpp -I<include_folder_path> -lnebula_graph_client -o session_example
```

- `library_folder_path`The storage path of the Nebula Graph dynamic libraries. The default path is `/usr/local/nebula/lib64`.
- `library_folder_path`: The storage path of the Nebula Graph dynamic libraries. The default path is `/usr/local/nebula/lib64`.

- `include_folder_path`The storage of the Nebula Graph header files. The default path is `/usr/local/nebula/include`.
- `include_folder_path`: The storage of the Nebula Graph header files. The default path is `/usr/local/nebula/include`.

For example:

Expand Down
2 changes: 1 addition & 1 deletion docs-2.0/14.client/5.nebula-python-client.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ $ pip install nebula2-python==<version>
$ git clone https://github.com/vesoft-inc/nebula-python.git
```

2. Change the working directory to nebula-python
2. Change the working directory to nebula-python.

```bash
$ cd nebula-python
Expand Down
22 changes: 11 additions & 11 deletions docs-2.0/19.FAQ/0.FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ If the solutions described in this topic cannot solve the problem, ask for help
???+ faq "Some errors in this manula"

1. Click the `pencil` button at the top right side of this page.
2. Use markdown to fix this errorThen "Commit changes" at the bottom, which will start a Github pull request.
2. Use markdown to fix this error. Then "Commit changes" at the bottom, which will start a Github pull request.
3. Sign the [CLA](../15.contribution/how-to-contribute.md).
This pull request (and the fix) will be merged after to reviewer's accept.

Expand Down Expand Up @@ -122,17 +122,17 @@ If the solutions described in this topic cannot solve the problem, ask for help

???+ faq "Storage Error E_RPC_FAILURE"

Storaged returns too many data back to graphdPossible solutions:
Storaged returns too many data back to graphd. Possible solutions:

1. Check whether storaged is Out-of-memory. (`dmesg| grep nebula`).
2. In `nebula-graphd.conf`, modify or add the item `--storage_client_timeout_ms=60000` to change the timeout(ms)
2. In `nebula-graphd.conf`, modify or add the item `--storage_client_timeout_ms=60000` to change the timeout(ms).
3. Modify your nGQL to reduce full scans (including limit sentence).
4. Use better hardware (NVMe, more memory).
5. retry
5. retry.

???+ faq "The leader has changed. Try again later"

Known Issue. Just retry 1 to N times, where N is the partition numberThe reason is that meta client needs some heartbeats to update or errors to trigger the new leader information.
Known Issue. Just retry 1 to N times, where N is the partition number. The reason is that meta client needs some heartbeats to update or errors to trigger the new leader information.

???+ faq "How to stop a slow query"

Expand Down Expand Up @@ -163,17 +163,17 @@ If the solutions described in this topic cannot solve the problem, ask for help

???+ faq "How to scale out or scale in?"

Nebula Graph {{ nebula.release }} doesn't provide any commands or tools to support automatic scale out/in. You can do by the following steps
Nebula Graph {{ nebula.release }} doesn't provide any commands or tools to support automatic scale out/in. You can do by the following steps:

1. metad metad can not be scaled out or scale in. The process can't be moved to a new machine. You can not add a new metad process to the service.
1. metad: metad can not be scaled out or scale in. The process can't be moved to a new machine. You can not add a new metad process to the service.

2. Scale in graphd remove graphd from client's code. Close this graphd process.
2. Scale in graphd : remove graphd from client's code. Close this graphd process.

3. Scale out graphd prepare graphd's binary and config files in the new host. Modify the config files and add all existing metad's addresses. Then start the new graphd process.
3. Scale out graphd: prepare graphd's binary and config files in the new host. Modify the config files and add all existing metad's addresses. Then start the new graphd process.

4. Scale in storaged(All spaces' replace number must be greater than 1)ref to [Balance remove command](../8.service-tuning/load-balance.md#storage_1). After the command finish, stop this storaged process.
4. Scale in storaged: (All spaces' replace number must be greater than 1), ref to [Balance remove command](../8.service-tuning/load-balance.md#storage_1). After the command finish, stop this storaged process.

5. Scale out storaged(All spaces' replace number must be greater than 1)prepare storaged's binary and config files in the new host, Modify the config files and add all existing metad's adDresses. Then start the new storaged process.
5. Scale out storaged: (All spaces' replace number must be greater than 1)prepare storaged's binary and config files in the new host, Modify the config files and add all existing metad's adDresses. Then start the new storaged process.

You may also need to run [Balance Data and Balance leader](../8.service-tuning/load-balance) after scaling in/out storaged.

Expand Down
20 changes: 10 additions & 10 deletions docs-2.0/2.quick-start/1.quick-start-workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,31 +25,31 @@ Users can quickly deploy and use Nebula Graph in the following steps.
<!--
# 快速入门
快速入门将介绍如何简单地使用Nebula Graph包括部署、连接Nebula Graph以及基础的增删改查操作
快速入门将介绍如何简单地使用Nebula Graph, 包括部署、连接Nebula Graph, 以及基础的增删改查操作.
## 文档
按照以下步骤可以快速部署并且使用Nebula Graph
按照以下步骤可以快速部署并且使用Nebula Graph.
1. [安装Nebula Graph](../4.deployment-and-installation/2.compile-and-install-nebula-graph/2.install-nebula-graph-by-rpm-or-deb.md)
使用RPM或DEB文件可以快速安装Nebula Graph其它部署方式及相应的准备工作请参见[安装部署](../4.deployment-and-installation/1.resource-preparations.md)
使用RPM或DEB文件可以快速安装Nebula Graph. 其它部署方式及相应的准备工作请参见[安装部署](../4.deployment-and-installation/1.resource-preparations.md).
2. [启动Nebula Graph](5.start-stop-service.md)
部署好Nebula Graph之后需要启动Nebula Graph服务
部署好Nebula Graph之后需要启动Nebula Graph服务.
3. [连接Nebula Graph](3.connect-to-nebula-graph.md)
启动Nebula Graph服务后即可使用客户端连接Nebula Graph支持多种客户端快速入门中介绍使用原生命令行客户端Nebula Console连接Nebula Graph的方法
启动Nebula Graph服务后即可使用客户端连接. Nebula Graph支持多种客户端, 快速入门中介绍使用原生命令行客户端Nebula Console连接Nebula Graph的方法.
4. [使用常用nGQL(CRUD命令)](4.nebula-graph-crud.md)
连接到Nebula Graph之后即可使用nGQL(Nebula Graph Query Language)进行增删改查
连接到Nebula Graph之后即可使用nGQL(Nebula Graph Query Language)进行增删改查.
## 视频
用户也可以观看视频了解Nebula Graph的相关概念和操作
用户也可以观看视频了解Nebula Graph的相关概念和操作.
### 热点视频
Expand Down Expand Up @@ -80,14 +80,14 @@ Users can quickly deploy and use Nebula Graph in the following steps.
### NG辅导班
* [第一篇图世界的那些概念、术语](https://www.bilibili.com/video/BV17X4y1A7p9)(08分12秒)
* [第一篇: 图世界的那些概念、术语](https://www.bilibili.com/video/BV17X4y1A7p9)(08分12秒)
<iframe src="//player.bilibili.com/player.html?aid=716209223&bvid=BV17X4y1A7p9&cid=355893988&page=1&high_quality=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" width="720px" height="480px"> </iframe>
* [第二篇如何更好地学习 Nebula Graph](https://www.bilibili.com/video/BV1aX4y1A7xd)(07分44秒)
* [第二篇: 如何更好地学习 Nebula Graph](https://www.bilibili.com/video/BV1aX4y1A7xd)(07分44秒)
<iframe src="//player.bilibili.com/player.html?aid=716219807&bvid=BV1aX4y1A7xd&cid=355896587&page=1&high_quality=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" width="720px" height="480px"> </iframe>
请访问[Bilibili空间](https://space.bilibili.com/472621355)查看 30 多个500 多分钟的系列视频
请访问[Bilibili空间](https://space.bilibili.com/472621355), 查看 30 多个, 500 多分钟的系列视频.
-->
2 changes: 1 addition & 1 deletion docs-2.0/2.quick-start/2.install-nebula-graph.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Step 1Install Nebula Graph
# Step 1: Install Nebula Graph

{% include "/source_install-nebula-graph-by-rpm-or-deb.md" %}
<!-- The line above is for content reusing. The source file is in the docs-2.0/reuse directory. -->
2 changes: 1 addition & 1 deletion docs-2.0/2.quick-start/3.connect-to-nebula-graph.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Step 3Connect to Nebula Graph
# Step 3: Connect to Nebula Graph

{% include "/source_connect-to-nebula-graph.md" %}
<!-- The line above is for content reusing. The source file is in the docs-2.0/reuse directory. -->
2 changes: 1 addition & 1 deletion docs-2.0/2.quick-start/4.nebula-graph-crud.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Step 4Use nGQL(CRUD)
# Step 4: Use nGQL(CRUD)

This topic will describe the basic CRUD operations in Nebula Graph.

Expand Down
2 changes: 1 addition & 1 deletion docs-2.0/2.quick-start/5.start-stop-service.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Step 2Manage Nebula Graph Service
# Step 2: Manage Nebula Graph Service

{% include "/source_manage-service.md" %}
<!-- The line above is for content reusing. The source file is in the docs-2.0/reuse directory. -->
2 changes: 1 addition & 1 deletion docs-2.0/3.ngql-guide/10.tag-statements/2.drop-tag.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,6 @@ nebula> DROP TAG test;
In nGQL, there is no such statement to drop a certain tag of a vertex with the given name.

* In openCypher, you can use the statement `REMOVE v:LABEL` to drop the tag `LABLE` of the vertex `v`.
* In nGQLafter `CREATE TAG` and `INSERT VERTEX`, you can add a `TAG` on the vertex. But there is no way to drop the `TAG` afterward.
* In nGQL, after `CREATE TAG` and `INSERT VERTEX`, you can add a `TAG` on the vertex. But there is no way to drop the `TAG` afterward.

We recommend you to add a field to identify the logical deletion in the schema. For example, add `removed` to the schema of each tag.
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ prop_value_list:
`INSERT VERTEX` and `CREATE` have different semantics.

- The semantics of `INSERT VERTEX` is closer to that of INSERT in NoSQL (key-value), or `UPSERT` (`UPDATE` or `INSERT`) in SQL.
- When two INSERT statements (neither uses `IF NOT EXISTS`) with the same `VID` and `TAG` are operated at the same timethe latter INSERT will overwrite the former.
- When two INSERT statements (neither uses `IF NOT EXISTS`) with the same `VID` and `TAG` are operated at the same time, the latter INSERT will overwrite the former.
- When two INSERT statements with the same `VID` but different `TAGS` are operated at the same time, the operation of different tags will not overwrite each other.

Examples are as follows.
Expand Down
2 changes: 1 addition & 1 deletion docs-2.0/3.ngql-guide/3.data-types/6.list.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ The index of nGQL supports queries from front to back, starting from 0. 0 means

- Return empty if the index is out of bounds, while return normally if the index is within the bound.
- Return empty if `M`≥`N`.
- When querying a single element, if `M` is nullreturn `BAD_TYPE`. When conducting a range query, if `M` or `N` is null, return `null`.
- When querying a single element, if `M` is null, return `BAD_TYPE`. When conducting a range query, if `M` or `N` is null, return `null`.

## Examples

Expand Down
2 changes: 1 addition & 1 deletion docs-2.0/3.ngql-guide/5.operators/1.comparison.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ The result of the comparison operation is `true` or `false`.

- Comparability between values of different types is often undefined. The result could be `NULL` or others.

- `EMPTY` is currently used only for checkingand does not support functions or operations such as `GROUP BY`, `count()`, `sum()`, `max()`, `hash()`, ` collect()`, `+` or `*`.
- `EMPTY` is currently used only for checking, and does not support functions or operations such as `GROUP BY`, `count()`, `sum()`, `max()`, `hash()`, ` collect()`, `+` or `*`.

## OpenCypher compatibility

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ To restore data from some backup files:

!!! note

After restoration
After restoration:

+ If no records are returned for the `USE <space_name>` statement, we recommend that you restart the Graph Service.
+ If the `Storage Error: part: 2, error code: -3.` error occurs when you query the restored data, do a check of the status of the Storage Service. If necessary, restart the Storage Service.
20 changes: 10 additions & 10 deletions docs-2.0/nebula-algorithm.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,16 +161,16 @@ The `lib` repository provides 10 common graph algorithms.
# The name of the graph space in Nebula Graph.
space:nb
# The name of the tag in Nebula Graph. The graph computing result will be written into this tag. The property name of this tag is as follows.
# PageRankpagerank
# Louvainlouvain
# ConnectedComponentcc
# StronglyConnectedComponentscc
# LabelPropagationlpa
# ShortestPathshortestpath
# DegreeStaticdegree、inDegree、outDegree
# KCorekcore
# TriangleCounttranglecpunt
# BetweennessCentralitybetweennedss
# PageRank: pagerank
# Louvain: louvain
# ConnectedComponent: cc
# StronglyConnectedComponent: scc
# LabelPropagation: lpa
# ShortestPath: shortestpath
# DegreeStatic: degree、inDegree、outDegree
# KCore: kcore
# TriangleCount: tranglecpunt
# BetweennessCentrality: betweennedss
tag:pagerank
}
}
Expand Down
2 changes: 1 addition & 1 deletion docs-2.0/nebula-dashboard/3.connect-dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@ After Dashboard is deployed, you can log in and use Dashboard on the browser.

- If authentication is not enabled, you can only log in using `root` as the username and random characters as the password.

To enable authentication, see [Authentication](../7.data-security/1.authentication/1.authentication.md)
To enable authentication, see [Authentication](../7.data-security/1.authentication/1.authentication.md).

![Login](login.png)
2 changes: 1 addition & 1 deletion docs-2.0/nebula-dashboard/4.use-dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Service consists of the following parts:

- By default, you can check the monitoring data up to 14 days before. The alternative can be 1 hour, 6 hours, 12 hours, 1 day, 3 days, 7 days, or 14 days in the past.

- You can choose the machine that you want to check the monitoring data, monitoring metrics, metric methods, and period. For more information, see [monitor parameter](6.monitor-parameter.md)
- You can choose the machine that you want to check the monitoring data, monitoring metrics, metric methods, and period. For more information, see [monitor parameter](6.monitor-parameter.md).

- You can set a base line as a reference.

Expand Down
Loading

0 comments on commit 78219f8

Please sign in to comment.