Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update note level #2327

Merged
merged 1 commit into from
Nov 3, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs-2.0-en/1.introduction/2.data-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ NebulaGraph data model uses six data structures to store data. They are graph sp

- **Properties**: Properties are key-value pairs. Both vertices and edges are containers for properties.

!!! Note
!!! note

Tags and Edge types are similar to "vertex tables" and "edge tables" in the relational databases.

Expand All @@ -54,7 +54,7 @@ The following table is an example of the structure of the basketball player data
| Edge type | **serve** | start_year (int) <br> end_year (int) | Represents actions taken by players in the team.<br>An action links a player with a team, and the direction is from a player to a team. |
| Edge type | **follow** | degree (int) | Represents actions taken by players in the team.<br>An action links a player with another player, and the direction is from one player to the other player. |

!!! Note
!!! note

NebulaGraph supports only directed edges.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ All the nebula-metad processes form a Raft-based cluster, with one process as th

The leader is elected by the majorities and only the leader can provide service to the clients or other components of NebulaGraph. The followers will be run in a standby way and each has a data replication of the leader. Once the leader fails, one of the followers will be elected as the new leader.

!!! Note
!!! note

The data of the leader and the followers will keep consistent through Raft. Thus the breakdown and election of the leader will not cause data inconsistency. For more information on Raft, see [Storage service architecture](4.storage-service.md#raft).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ Therefore, NebulaGraph develops its own KVStore with RocksDB as the local storag

- The Meta Service manages all the Storage servers. All the partition distribution data and current machine status can be found in the meta service. Accordingly, users can execute a manual load balancing plan in meta service.

!!! Note
!!! note

NebulaGraph does not support auto load balancing because auto data transfer will affect online business.

Expand Down Expand Up @@ -143,7 +143,7 @@ Like EdgeA_Out and EdgeA_In, NebulaGraph redundantly stores the information of e

NebulaGraph uses a **static Hash** strategy to shard data through a modulo operation on vertex ID. All the out-keys, in-keys, and tag data will be placed in the same partition. In this way, query efficiency is increased dramatically.

!!! Note
!!! note

The number of partitions needs to be determined when users are creating a graph space since it cannot be changed afterward. Users are supposed to take into consideration the demands of future business when setting it.

Expand Down Expand Up @@ -189,15 +189,15 @@ In a distributed system, one data usually has multiple replicas so that the syst

Basic principle: Raft is designed to ensure consistency between replicas. Raft uses election between replicas, and the (candidate) replica that wins more than half of the votes will become the Leader, providing external services on behalf of all replicas. The rest Followers will play backups. When the Leader fails (due to communication failure, operation and maintenance commands, etc.), the rest Followers will conduct a new round of elections and vote for a new Leader. The Leader and Followers will detect each other's survival through heartbeats and write them to the hard disk in Raft-wal mode. Replicas that do not respond to more than multiple heartbeats will be considered faulty.

!!! Note
!!! note

Raft-wal needs to be written into the hard disk periodically. If hard disk bottlenecks to write, Raft will fail to send a heartbeat and conduct a new round of elections. If the hard disk IO is severely blocked, there will be no Leader for a long time.

Read and write: For every writing request of the clients, the Leader will initiate a Raft-wal and synchronize it with the Followers. Only after over half replicas have received the Raft-wal will it return to the clients successfully. For every reading request of the clients, it will get to the Leader directly, while Followers will not be involved.

Failure: Scenario 1: Take a (space) cluster of a single replica as an example. If the system has only one replica, the Leader will be itself. If failure happens, the system will be completely unavailable. Scenario 2: Take a (space) cluster of three replicas as an example. If the system has three replicas, one of them will be the Leader and the rest will be the Followers. If the Leader fails, the rest two can still vote for a new Leader (and a Follower), and the system is still available. But if any of the two Followers fails again, the system will be completely unavailable due to inadequate voters.

!!! Note
!!! note

Raft and HDFS have different modes of duplication. Raft is based on a quorum vote, so the number of replicas cannot be even.

Expand Down
2 changes: 1 addition & 1 deletion docs-2.0-en/14.client/3.nebula-cpp-client.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ This document describes how to install NebulaGraph CPP with the source code.

4. Generate the `makefile` file with CMake.

!!! Note
!!! note

The default installation path is `/usr/local/nebula`. To modify it, add the `-DCMAKE_INSTALL_PREFIX=<installation_path>` option while running the following command.

Expand Down
2 changes: 1 addition & 1 deletion docs-2.0-en/15.contribution/how-to-contribute.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ The NebulaGraph project has many [repositories](https://github.com/vesoft-inc).

For more information, see [Install NebulaGraph by compiling the source code](../4.deployment-and-installation/2.compile-and-install-nebula-graph/1.install-nebula-graph-by-compiling-the-source-code.md).

!!! Note
!!! note

Make sure you have enabled the building of unit tests by setting `-DENABLE_TESTING=ON`.

Expand Down
6 changes: 3 additions & 3 deletions docs-2.0-en/2.quick-start/1.quick-start-workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ You can quickly get started with NebulaGraph by deploying NebulaGraph with Docke
$ git clone -b {{dockercompose.branch}} https://github.com/vesoft-inc/nebula-docker-compose.git
```

!!! Note
!!! note

The `x.y` version of Docker Compose aligns to the `x.y` version of NebulaGraph. For the NebulaGraph `z` version, Docker Compose does not publish the corresponding `z` version, but pulls the `z` version of the NebulaGraph image.

Expand All @@ -79,7 +79,7 @@ You can quickly get started with NebulaGraph by deploying NebulaGraph with Docke
3. Run the following command to start all the NebulaGraph services.


!!! Note
!!! note

- Update the [NebulaGraph images](#how_to_upgrade_or_update_the_docker_images_of_nebulagraph_services) and [NebulaGraph Console images](#how_to_update_the_nebulagraph_console_client) first if they are out of date.
- The return result after executing the command varies depending on the installation directory.
Expand Down Expand Up @@ -137,7 +137,7 @@ You can quickly get started with NebulaGraph by deploying NebulaGraph with Docke
/ # ./usr/local/bin/nebula-console -u <user_name> -p <password> --address=graphd --port=9669
```

!!! Note
!!! note

By default, the authentication is off, you can only log in with an existing username (the default is `root`) and any password. To turn it on, see [Enable authentication](../7.data-security/1.authentication/1.authentication.md).

Expand Down
4 changes: 2 additions & 2 deletions docs-2.0-en/2.quick-start/4.nebula-graph-crud.md
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ nebula> FETCH PROP ON player "player100" YIELD properties(vertex);
+-------------------------------+
```

!!! Note
!!! note

The examples of `LOOKUP` and `MATCH` statements are in [indexes](#about_indexes).

Expand All @@ -382,7 +382,7 @@ Users can use the `UPDATE` or the `UPSERT` statements to update existing data.

`UPSERT` is the combination of `UPDATE` and `INSERT`. If you update a vertex or an edge with `UPSERT`, the database will insert a new vertex or edge if it does not exist.

!!! Note
!!! note

`UPSERT` operates serially in a partition-based order. Therefore, it is slower than `INSERT` OR `UPDATE`. And `UPSERT` has concurrency only between multiple partitions.

Expand Down
4 changes: 2 additions & 2 deletions docs-2.0-en/2.quick-start/6.cheatsheet-for-ngql.md
Original file line number Diff line number Diff line change
Expand Up @@ -408,11 +408,11 @@
| `SIGN IN TEXT SERVICE [(<elastic_ip:port> [,<username>, <password>]), (<elastic_ip:port>), ...]` | `SIGN IN TEXT SERVICE (127.0.0.1:9200)` | The full-text indexes is implemented based on [Elasticsearch](https://en.wikipedia.org/wiki/Elasticsearch). After deploying an Elasticsearch cluster, you can use the `SIGN IN` statement to log in to the Elasticsearch client. |
| `SHOW TEXT SEARCH CLIENTS` | `SHOW TEXT SEARCH CLIENTS` | Shows text search clients. |
| `SIGN OUT TEXT SERVICE` | `SIGN OUT TEXT SERVICE` |Signs out to the text search clients. |
| `CREATE FULLTEXT {TAG | EDGE} INDEX <index_name> ON {<tag_name> | <edge_name>} ([<prop_name_list>])` | `CREATE FULLTEXT TAG INDEX nebula_index_1 ON player(name)` | Creates full-text indexes. |
| `CREATE FULLTEXT {TAG | EDGE} INDEX <index_name> ON {<tag_name> | <edge_name>} (<prop_name> [,<prop_name>]...) [ANALYZER="<analyzer_name>"]` | `CREATE FULLTEXT TAG INDEX nebula_index_1 ON player(name)` | Creates full-text indexes. |
| `SHOW FULLTEXT INDEXES` | `SHOW FULLTEXT INDEXES` | Show full-text indexes. |
| `REBUILD FULLTEXT INDEX` | `REBUILD FULLTEXT INDEX` | Rebuild full-text indexes. |
| `DROP FULLTEXT INDEX <index_name>` | `DROP FULLTEXT INDEX nebula_index_1` | Drop full-text indexes. |
| `LOOKUP ON {<tag> | <edge_type>} WHERE <expression> [YIELD <return_list>]` | `LOOKUP ON player WHERE FUZZY(player.name, "Tim Dunncan", AUTO, OR) YIELD player.name` | Use query options. |
| `LOOKUP ON {<tag> | <edge_type>} WHERE ES_QUERY(<index_name>, "<text>") YIELD <return_list> [| LIMIT [<offset>,] <number_rows>]` | `LOOKUP ON player WHERE ES_QUERY(fulltext_index_1,"Chris") YIELD id(vertex)` | Use query options. |

## Subgraph and path statements

Expand Down
2 changes: 1 addition & 1 deletion docs-2.0-en/20.appendix/0.FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -569,7 +569,7 @@ You can use telnet as follows to check for port status.
telnet <ip> <port>
```

!!! Note
!!! note

If you cannot use the telnet command, check if telnet is installed or enabled on your host.

Expand Down
2 changes: 1 addition & 1 deletion docs-2.0-en/20.appendix/6.eco-tool-version.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

NebulaGraph Studio (Studio for short) is a graph database visualization tool that can be accessed through the Web. It can be used with NebulaGraph DBMS to provide one-stop services such as composition, data import, writing nGQL queries, and graph exploration. For details, see [What is NebulaGraph Studio](../nebula-studio/about-studio/st-ug-what-is-graph-studio.md).

!!! Note
!!! note

The release of the Studio is independent of NebulaGraph core, and its naming method is also not the same as the core naming rules.

Expand Down
2 changes: 1 addition & 1 deletion docs-2.0-en/3.ngql-guide/1.nGQL-overview/1.overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ Native nGQL is the part of a graph query language designed and implemented by Ne

The latest release is openCypher 9. The compatible parts of openCypher in nGQL are called openCypher compatible sentences (short as openCypher).

!!! Note
!!! note

`nGQL` = `native nGQL` + `openCypher compatible sentences`

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ It is not recommended to use keywords to identify schemas. If you must use keywo
- If the identifier contains any uppercase letter, you must enclose them with backticks (\`), such as \`Comment\`. Otherwise, the execution succeeds but the system automatically converts the identifier to all lowercase.
- If the identifier contains all lowercase letters, you do not need to enclose them with backticks (\`).

!!! Note
!!! note

Keywords are case-insensitive.

Expand Down
2 changes: 1 addition & 1 deletion docs-2.0-en/3.ngql-guide/10.tag-statements/2.drop-tag.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ A vertex can have one or more tags.

This operation only deletes the Schema data. All the files or directories in the disk will not be deleted directly until the next compaction.

!!! Compatibility
!!! compatibility

In NebulaGraph {{nebula.release}}, inserting vertex without tag is not supported by default. If you want to use the vertex without tags, add `--graph_use_vertex_key=true` to the configuration files (`nebula-graphd.conf`) of all Graph services in the cluster, and add `--use_vertex_key=true` to the configuration files (`nebula-storaged.conf`) of all Storage services in the cluster.

Expand Down
2 changes: 1 addition & 1 deletion docs-2.0-en/3.ngql-guide/10.tag-statements/6.delete-tag.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ nebula> FETCH PROP ON * "test" YIELD vertex AS v;
+---+
```

!!! Compatibility
!!! compatibility

* In openCypher, you can use the statement `REMOVE v:LABEL` to delete the tag `LABEL` of the vertex `v`.
* `DELETE TAG` and `DROP TAG` have the same semantics but different syntax. In nGQL, use `DELETE TAG`.
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ prop_value_list:

- `IF NOT EXISTS` detects if the VID that you want to insert exists. If it does not exist, a new one will be inserted.

!!! Note
!!! note

- `IF NOT EXISTS` only compares the names of the VID and the tag (excluding properties).
- `IF NOT EXISTS` will read to check whether the data exists, which will have a significant impact on performance.
Expand All @@ -57,7 +57,7 @@ prop_value_list:

NebulaGraph {{ nebula.release }} supports inserting vertices without tags.

!!! Compatibility
!!! compatibility

In NebulaGraph {{nebula.release}}, inserting vertex without tag is not supported by default. If you want to use the vertex without tags, add `--graph_use_vertex_key=true` to the configuration files (`nebula-graphd.conf`) of all Graph services in the cluster, add `--use_vertex_key=true` to the configuration files (`nebula-storaged.conf`) of all Storage services in the cluster. An example of a command to insert a vertex without tag is `INSERT VERTEX VALUES "1":();`.

Expand Down
4 changes: 2 additions & 2 deletions docs-2.0-en/3.ngql-guide/13.edge-statements/1.insert-edge.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ INSERT EDGE [IF NOT EXISTS] <edge_type> ( <prop_name_list> ) VALUES

- `IF NOT EXISTS` detects if the edge that you want to insert exists. If it does not exist, a new one will be inserted.

!!! Note
!!! note

- `IF NOT EXISTS` only detects whether <the edge type, source vertex, destination vertex, and rank> exist and does not detect whether the property values overlap.
- `IF NOT EXISTS` will read to check whether the data exists, which will have a significant impact on performance.
Expand Down Expand Up @@ -94,7 +94,7 @@ nebula> FETCH PROP ON e2 "14"->"15"@1 YIELD edge AS e;
+-------------------------------------------+
```

!!! Note
!!! note

* NebulaGraph {{ nebula.release }} allows dangling edges. Therefore, you can write the edge before the source vertex or the destination vertex exists. At this time, you can get the (not written) vertex VID through `<edgetype>._src` or `<edgetype>._dst` (which is not recommended).
* Atomic operation is not guaranteed during the entire process for now. If it fails, please try again. Otherwise, partial writing will occur. At this time, the behavior of reading the data is undefined. For example, if multiple machines are involved in the write operation, only one of the forward and reverse edges of a single edge is written successfully, or only part of the edge is written successfully when multiple edges are inserted. In this case, an error will be returned, so please execute the command again.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ If you must use indexes, we suggest that you:

4. After the index is created and the data is imported, you can use [LOOKUP](../7.general-query-statements/5.lookup.md) or [MATCH](../7.general-query-statements/2.match.md) to retrieve the data. You do not need to specify which indexes to use in a query, NebulaGraph figures that out by itself.

!!! Note
!!! note

If you create an index before importing the data, the importing speed will be extremely slow due to the reduction in the write performance.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,6 @@ nebula> SHOW EDGE INDEXES;
+----------------+----------+---------+
```

!!! Compatibility "Legacy version compatibility"
!!! compatibility "Legacy version compatibility"

In NebulaGraph 2.x, the `SHOW TAG/EDGE INDEXES` statement only returns `Names`.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

You can use `REBUILD INDEX` to rebuild the created tag or edge type index. For details on how to create an index, see [CREATE INDEX](1.create-native-index.md).

!!! performance
!!! caution

The speed of rebuilding indexes can be optimized by modifying the `rebuild_index_part_rate_limit` and `snapshot_batch_size` parameters in the configuration file. In addition, greater parameter values may result in higher memory and network usage, see [Storage Service configurations](../../5.configurations-and-logs/1.configurations/4.storage-config.md#misc_configurations) for details.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ The status of rebuilding indexes includes:
- `STOPPED`: The job has stopped.
- `INVALID`: The job is invalid.

!!! Note
!!! note

For details on how to create an index, see [CREATE INDEX](1.create-native-index.md).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Full-text indexes are used to do prefix, wildcard, regexp, and fuzzy search on a

- Full-text indexes do not support logical operations such as `AND`, `OR`, and `NOT`.

!!! Note
!!! note

To do complete string matches, use native indexes.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

When you start the NebulaGraph cluster for the first time, the system reads the configuration from the local and saves it in the Meta service. After restarting the cluster, it will also read the configuration from the Meta service. The `CONFIG` statement can modify the NebulaGraph configuration saved in the Meta service without modifying your local files.

!!! Note
!!! note

According to past practice, we suggest you fetch the configuration from the local. For details, see [Configuration](../../5.configurations-and-logs/1.configurations/1.configurations.md#Modify configurations).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ nebula> MATCH (v:player:actor) \

### Match vertex properties

!!! Note
!!! note

The prerequisite for matching a vertex property is that the tag itself has an index of the corresponding property. Otherwise, you cannot execute the `MATCH` statement to match the property.

Expand Down Expand Up @@ -342,7 +342,7 @@ nebula> MATCH ()-[e:follow]->() \

### Match edge type properties

!!! Note
!!! note

The prerequisite for matching an edge type property is that the edge type itself has an index of the corresponding property. Otherwise, you cannot execute the `MATCH` statement to match the property.

Expand Down Expand Up @@ -439,7 +439,7 @@ nebula> MATCH (v:player{name:"Tim Duncan"}) -[*0]-> (v2) \
+----------------------------------------------------+
```

!!! Note
!!! note

When you conditionally filter on multi-hop edges, such as `-[e:follow*2]->`, note that the `e` is a list of edges instead of a single edge.

Expand Down Expand Up @@ -634,6 +634,6 @@ nebula> MATCH (m)-[]->(n) WHERE id(m)=="player100" \

See [OPTIONAL MATCH](optional-match.md).

!!! Performance
!!! caution

In NebulaGraph, the performance and resource usage of the `MATCH` statement have been optimized. But we still recommend to use `GO`, `LOOKUP`, `|`, and `FETCH` instead of `MATCH` when high performance is required.
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@ nebula> SHOW EDGE INDEXES;
+----------------+----------+---------+
```

!!! Compatibility "Legacy version compatibility"
!!! compatibility "Legacy version compatibility"

In NebulaGraph 2.x, `SHOW TAG/EDGE INDEXES` only returns `Names`.
Loading