From d0ca65ff15808063eef20f45619f3abd7bcace60 Mon Sep 17 00:00:00 2001 From: cooper-lzy <78672629+cooper-lzy@users.noreply.github.com> Date: Fri, 17 Nov 2023 17:35:19 +0800 Subject: [PATCH] optimize schema limits (#2360) Co-authored-by: Chris Chen --- docs-2.0-en/3.ngql-guide/10.tag-statements/1.create-tag.md | 2 +- .../3.ngql-guide/11.edge-type-statements/1.create-edge.md | 2 +- .../14.native-index-statements/1.create-native-index.md | 2 +- docs-2.0-en/3.ngql-guide/9.space-statements/1.create-space.md | 4 ++-- docs-2.0-zh/3.ngql-guide/10.tag-statements/1.create-tag.md | 2 +- .../3.ngql-guide/11.edge-type-statements/1.create-edge.md | 2 +- .../14.native-index-statements/1.create-native-index.md | 2 +- docs-2.0-zh/3.ngql-guide/9.space-statements/1.create-space.md | 4 ++-- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs-2.0-en/3.ngql-guide/10.tag-statements/1.create-tag.md b/docs-2.0-en/3.ngql-guide/10.tag-statements/1.create-tag.md index 75be44a4daf..ba498f2f95a 100644 --- a/docs-2.0-en/3.ngql-guide/10.tag-statements/1.create-tag.md +++ b/docs-2.0-en/3.ngql-guide/10.tag-statements/1.create-tag.md @@ -31,7 +31,7 @@ CREATE TAG [IF NOT EXISTS] |Parameter|Description| |:---|:---| |`IF NOT EXISTS`|Detects if the tag that you want to create exists. If it does not exist, a new one will be created. The tag existence detection here only compares the tag names (excluding properties).| -|``|1. Each tag name in the graph space must be **unique**.
2. Tag names cannot be modified after they are set.
3. Tag names cannot start with a number; they support 1-4 byte UTF-8 encoded characters, including English letters (case sensitive), numbers, Chinese characters, etc., but do not support special characters other than underscores. To use special characters, reserved keywords, or start with a number in a tag name, enclose them in backticks (\`), and do not use periods (`.`) in a tag name. For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md). **Note**: If you name a tag in Chinese and encounter a `SyntaxError`, you need to quote the Chinese characters with backticks (\`).| +|``|1. Each tag name in the graph space must be **unique**.
2. Tag names cannot be modified after they are set.
3. By default, the space name only supports 1-4 byte UTF-8 encoded characters, including English letters (case sensitive), numbers, Chinese characters, etc. However, it cannot include special characters other than the underscore (_), and cannot start with a number.
4. To use special characters, reserved keywords, or start with a number, quote the entire name with backticks (\`) and do not include periods (`.`) with the pair of backticks (\`). For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md). **Note**: If you name a tag in Chinese and encounter a `SyntaxError`, you need to quote the Chinese characters with backticks (\`).| |``|The name of the property. It must be unique for each tag. The rules for permitted property names are the same as those for tag names.| |``|Shows the data type of each property. For a full description of the property data types, see [Data types](../3.data-types/1.numeric.md) and [Boolean](../3.data-types/2.boolean.md).| |`NULL \| NOT NULL`|Specifies if the property supports `NULL | NOT NULL`. The default value is `NULL`. | diff --git a/docs-2.0-en/3.ngql-guide/11.edge-type-statements/1.create-edge.md b/docs-2.0-en/3.ngql-guide/11.edge-type-statements/1.create-edge.md index f1b12ad0531..cdb12641a9f 100644 --- a/docs-2.0-en/3.ngql-guide/11.edge-type-statements/1.create-edge.md +++ b/docs-2.0-en/3.ngql-guide/11.edge-type-statements/1.create-edge.md @@ -31,7 +31,7 @@ CREATE EDGE [IF NOT EXISTS] |Parameter|Description| |:---|:---| |`IF NOT EXISTS`|Detects if the edge type that you want to create exists. If it does not exist, a new one will be created. The edge type existence detection here only compares the edge type names (excluding properties).| -|``|1. The edge type name must be **unique** in a graph space.
2. Once the edge type name is set, it can not be altered.
3. Edge type names cannot start with a number; they support 1-4 byte UTF-8 encoded characters, including English letters (case sensitive), numbers, Chinese characters, etc., but do not include special characters other than underscores. To use special characters, reserved keywords or starting with a number, quote them with backticks (\`) and cannot use periods (`.`). For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md).
**Note**: If you name an edge type in Chinese and encounter a `SyntaxError`, you need to quote the Chinese characters with backticks (\`).| +|``|1. The edge type name must be **unique** in a graph space.
2. Once the edge type name is set, it can not be altered.
3. By default, the space name only supports 1-4 byte UTF-8 encoded characters, including English letters (case sensitive), numbers, Chinese characters, etc. But special characters can only use underscore, and cannot start with a number.
4. To use special characters, reserved keywords, or start with a number, quote the entire name with backticks (\`) and cannot use periods (`.`). For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md).
**Note**: If you name an edge type in Chinese and encounter a `SyntaxError`, you need to quote the Chinese characters with backticks (\`).| |``|The name of the property. It must be unique for each edge type. The rules for permitted property names are the same as those for edge type names.| |``|Shows the data type of each property. For a full description of the property data types, see [Data types](../3.data-types/1.numeric.md) and [Boolean](../3.data-types/2.boolean.md).| |`NULL \| NOT NULL`|Specifies if the property supports `NULL | NOT NULL`. The default value is `NULL`. `DEFAULT` must be specified if `NOT NULL` is set.| diff --git a/docs-2.0-en/3.ngql-guide/14.native-index-statements/1.create-native-index.md b/docs-2.0-en/3.ngql-guide/14.native-index-statements/1.create-native-index.md index 968fefb156b..906474ffdca 100644 --- a/docs-2.0-en/3.ngql-guide/14.native-index-statements/1.create-native-index.md +++ b/docs-2.0-en/3.ngql-guide/14.native-index-statements/1.create-native-index.md @@ -67,7 +67,7 @@ CREATE {TAG | EDGE} INDEX [IF NOT EXISTS] ON { | `|The name of the index. It must be unique in a graph space. A recommended way of naming is `i_tagName_propName`.
Index names cannot start with a number. They supports 1 to 4 bytes UTF-8 encoded characters, such as English letters (case-sensitive), numbers, and Chinese characters, but does not support special characters except underscores. To use special characters, reserved keywords, or starting with a number, quote them with backticks. For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md).
**Note**: If you name an index in Chinese and encounter a `SyntaxError`, you need to quote the Chinese characters with backticks (\`). | +|``|The name of the index. It must be unique in a graph space. A recommended way of naming is `i_tagName_propName`.
By default, the space name only supports 1-4 byte UTF-8 encoded characters, including English letters (case sensitive), numbers, Chinese characters, etc. But special characters can only use underscore, and cannot start with a number.
To use special characters, reserved keywords, or start with a number, quote the entire name with backticks (\`) and cannot use periods (`.`). For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md).
**Note**: If you name an index in Chinese and encounter a `SyntaxError`, you need to quote the Chinese characters with backticks (\`). | |` | `|Specifies the name of the tag or edge associated with the index.| |``|To index a **variable-length** string property, you must use `prop_name(length)` to specify the index length, and the maximum index length is 256. To index a tag or an edge type, ignore the `prop_name_list`.| |`COMMENT`|The remarks of the index. The maximum length is 256 bytes. By default, there will be no comments on an index.| diff --git a/docs-2.0-en/3.ngql-guide/9.space-statements/1.create-space.md b/docs-2.0-en/3.ngql-guide/9.space-statements/1.create-space.md index 72d2227cb10..5a59a5c8f10 100644 --- a/docs-2.0-en/3.ngql-guide/9.space-statements/1.create-space.md +++ b/docs-2.0-en/3.ngql-guide/9.space-statements/1.create-space.md @@ -22,7 +22,7 @@ CREATE SPACE [IF NOT EXISTS] ( |Parameter|Description| |:---|:---| |`IF NOT EXISTS`|Detects if the related graph space exists. If it does not exist, a new one will be created. The graph space existence detection here only compares the graph space name (excluding properties).| -|``|1. Uniquely identifies a graph space in a NebulaGraph instance.
2. Space names cannot be modified after they are set.
3. Space names cannot start with a number; they support 1-4 byte UTF-8 encoded characters, including English letters (case sensitive), numbers, Chinese characters, etc., but do not include special characters other than underscores. To use special characters, reserved keywords or starting with a number, quote them with backticks (\`) and cannot use periods (`.`). For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md). **Note**: If you name a space in Chinese and encounter a `SyntaxError`, you need to quote the Chinese characters with backticks (\`).| +|``|1. Uniquely identifies a graph space in a NebulaGraph instance.
2. Space names cannot be modified after they are set.
3. By default, the space name only supports 1-4 byte UTF-8 encoded characters, including English letters (case sensitive), numbers, Chinese characters, etc. But special characters can only use underscore, and cannot start with a number.
4. To use special characters, reserved keywords, or start with a number, quote the entire name with backticks (\`) and cannot use periods (`.`). For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md). **Note**: If you name a space in Chinese and encounter a `SyntaxError`, you need to quote the Chinese characters with backticks (\`).| |`partition_num`|Specifies the number of partitions in each replica. The suggested value is 20 times (2 times for HDD) the number of the hard disks in the cluster. For example, if you have three hard disks in the cluster, we recommend that you set 60 partitions. The default value is 100.| |`replica_factor`|Specifies the number of replicas in the cluster. The suggested number is 3 in a production environment and 1 in a test environment. The replica number must be an **odd number** for the need of quorum-based voting. The default value is 1.| |`vid_type`|A required parameter. Specifies the VID type in a graph space. Available values are `FIXED_STRING(N)` and `INT64`. `INT` equals to `INT64`.
``FIXED_STRING()` specifies the VID as a string, while `INT64` specifies it as an integer. `N` represents the maximum length of the VIDs. If you set a VID that is longer than `N` bytes, NebulaGraph throws an error. Note, for UTF-8 chars, the length may vary in different cases, i.e. a UTF-8 Chinese char is 3 byte, this means 11 Chinese chars(length-33) will exeed a FIXED_STRING(32) vid defination.| @@ -64,7 +64,7 @@ CREATE SPACE [IF NOT EXISTS] AS ; | Parameter | Description | | :--- | :--- | |`IF NOT EXISTS`|Detects if the new graph space exists. If it does not exist, the new one will be created. The graph space existence detection here only compares the graph space name (excluding properties).| -| `` | The name of the graph space that is newly created. The name of the graph space starts with a letter, supports 1 to 4 bytes UTF-8 encoded characters, such as English letters (case-sensitive), digits, and Chinese characters, but does not support special characters except underscores. For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md). When a new graph space is created, the schema of the old graph space `` will be cloned, including its parameters (the number of partitions and replicas, etc.), Tag, Edge type and native indexes. | +| `` | The name of the graph space that is newly created.
By default, the space name only supports 1-4 byte UTF-8 encoded characters, including English letters (case sensitive), numbers, Chinese characters, etc. But special characters can only use underscore, and cannot start with a number.
To use special characters, reserved keywords, or start with a number, quote the entire name with backticks (\`) and cannot use periods (`.`). For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md).
When a new graph space is created, the schema of the old graph space `` will be cloned, including its parameters (the number of partitions and replicas, etc.), Tag, Edge type and native indexes.
**Note**: If you name a space in Chinese and encounter a `SyntaxError`, you need to quote the Chinese characters with backticks (\`).| | `` | The name of the graph space that already exists. | ## Examples diff --git a/docs-2.0-zh/3.ngql-guide/10.tag-statements/1.create-tag.md b/docs-2.0-zh/3.ngql-guide/10.tag-statements/1.create-tag.md index 9e4e8f6e4cd..b298cd53b17 100644 --- a/docs-2.0-zh/3.ngql-guide/10.tag-statements/1.create-tag.md +++ b/docs-2.0-zh/3.ngql-guide/10.tag-statements/1.create-tag.md @@ -31,7 +31,7 @@ CREATE TAG [IF NOT EXISTS] |参数|说明| |:---|:---| |`IF NOT EXISTS`|检测待创建的 Tag 是否存在,只有不存在时,才会创建 Tag。仅检测 Tag 的名称,不会检测具体属性。| -|``|1、每个图空间内的 Tag 必须是唯一的。
2、Tag 名称设置后无法修改。
3、不能以数字开头;支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等,但是不包括除下划线外的特殊字符;使用特殊字符、保留关键字或数字开头时,需要用反引号(\`)包围且不能使用英文句号(`.`)。详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。
**注意**:如果以中文命名 Tag,报`SyntaxError`错误时,需使用反引号(\`)包围中文字符。| +|``|1、每个图空间内的 Tag 必须是唯一的。
2、Tag 名称设置后无法修改。
3、默认情况下,仅支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等,但是特殊字符只能使用下划线。不能以数字开头。
4、如果需要使用特殊字符、保留关键字或者以数字开头,请使用反引号(\`)包围整个名称。反引号中不能包含英文句号(`.`)。详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。
**注意**:如果以中文命名 Tag,报`SyntaxError`错误时,需使用反引号(\`)包围中文字符。| |``|属性名称。每个 Tag 中的属性名称必须唯一。属性的命名规则与 Tag 相同。| |``|属性的数据类型,目前支持[数值](../3.data-types/1.numeric.md)、[布尔](../3.data-types/2.boolean.md)、[字符串](../3.data-types/3.string.md)以及[日期与时间](../3.data-types/4.date-and-time.md)。| |`NULL \| NOT NULL`|指定属性值是否支持为`NULL`。默认值为`NULL`。指定`NOT NULL`且没有指定`DEFAULT`值时,插入数据必须指定值;同时指定`NOT NULL`和`DEFAULT`值时,插入数据如果没有指定值,则默认插入`DEFAULT`值。| diff --git a/docs-2.0-zh/3.ngql-guide/11.edge-type-statements/1.create-edge.md b/docs-2.0-zh/3.ngql-guide/11.edge-type-statements/1.create-edge.md index 04dfe0f7548..a0393939a50 100644 --- a/docs-2.0-zh/3.ngql-guide/11.edge-type-statements/1.create-edge.md +++ b/docs-2.0-zh/3.ngql-guide/11.edge-type-statements/1.create-edge.md @@ -31,7 +31,7 @@ CREATE EDGE [IF NOT EXISTS] |参数|说明| |:---|:---| |`IF NOT EXISTS`|检测待创建的 Edge type 是否存在,只有不存在时,才会创建 Edge type。仅检测 Edge type 的名称,不会检测具体属性。| -|``|1、每个图空间内的 Edge type 必须是唯一的。
2、Edge type 名称设置后无法修改。
3、不能以数字开头;支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等,但是不包括除下划线外的特殊字符;使用特殊字符、保留关键字或数字开头时,需要用反引号(\`)包围且不能使用英文句号(`.`)。详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。
**注意**:如果以中文命名 Edge type,报`SyntaxError`错误时,需使用反引号(\`)包围中文字符。| +|``|1、每个图空间内的 Edge type 必须是唯一的。
2、Edge type 名称设置后无法修改。
3、默认情况下,仅支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等,但是特殊字符只能使用下划线。不能以数字开头。
4、如果需要使用特殊字符、保留关键字或者以数字开头,请使用反引号(\`)包围整个名称。反引号中不能包含英文句号(`.`)。详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。
**注意**:如果以中文命名 Edge type,报`SyntaxError`错误时,需使用反引号(\`)包围中文字符。| |``|属性名称。每个 Edge type 中的属性名称必须唯一。属性的命名规则与 Edge type 相同。| |``|属性的数据类型,目前支持[数值](../3.data-types/1.numeric.md)、[布尔](../3.data-types/2.boolean.md)、[字符串](../3.data-types/3.string.md)以及[日期与时间](../3.data-types/4.date-and-time.md)。| |`NULL \| NOT NULL`|指定属性值是否支持为`NULL`。默认值为`NULL`。当指定属性值为`NOT NULL`时,必需指定属性的默认值,也就是`DEFAULT`的值。| diff --git a/docs-2.0-zh/3.ngql-guide/14.native-index-statements/1.create-native-index.md b/docs-2.0-zh/3.ngql-guide/14.native-index-statements/1.create-native-index.md index d2fbfbd69c5..7d8d217f3de 100644 --- a/docs-2.0-zh/3.ngql-guide/14.native-index-statements/1.create-native-index.md +++ b/docs-2.0-zh/3.ngql-guide/14.native-index-statements/1.create-native-index.md @@ -68,7 +68,7 @@ CREATE {TAG | EDGE} INDEX [IF NOT EXISTS] ON { | `|索引名。索引名在一个图空间中必须是唯一的。推荐的命名方式为`i_tagName_propName`。
索引名称不能以数字开头,支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等,但是不包括除下划线外的特殊字符。使用特殊字符、保留关键字或数字开头时,需要用反引号(\`)包围,详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。
**注意**:如果以中文为索引命名,报`SyntaxError`错误时,需使用反引号(\`)包围中文字符。| +|``|索引名。索引名在一个图空间中必须是唯一的。推荐的命名方式为`i_tagName_propName`。
默认情况下,仅支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等,但是特殊字符只能使用下划线。不能以数字开头。
如果需要使用特殊字符、保留关键字或者以数字开头,请使用反引号(\`)包围整个名称。反引号中不能包含英文句号(`.`)。详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。
**注意**:如果以中文为索引命名,报`SyntaxError`错误时,需使用反引号(\`)包围中文字符。| |` | `|指定索引关联的 Tag 或 Edge 名称。| |``|为**变长**字符串属性创建索引时,必须用`prop_name(length)`指定索引长度,索引长度最长为 256;为 Tag 或 Edge type 本身创建索引时,忽略``。| |`COMMENT`|索引的描述。最大为 256 字节。默认无描述。| diff --git a/docs-2.0-zh/3.ngql-guide/9.space-statements/1.create-space.md b/docs-2.0-zh/3.ngql-guide/9.space-statements/1.create-space.md index 7e7c69f878c..9bb85e7acea 100644 --- a/docs-2.0-zh/3.ngql-guide/9.space-statements/1.create-space.md +++ b/docs-2.0-zh/3.ngql-guide/9.space-statements/1.create-space.md @@ -23,7 +23,7 @@ CREATE SPACE [IF NOT EXISTS] ( |参数|说明| |:---|:---| |`IF NOT EXISTS`|检测待创建的图空间是否存在,只有不存在时,才会创建图空间。仅检测图空间的名称,不会检测具体属性。| -|``|1、在 {{nebula.name}} 实例中唯一标识一个图空间。
2、图空间名称设置后无法被修改。
3、不能以数字开头;支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等,但是不包括除下划线外的特殊字符;使用特殊字符、保留关键字或数字开头时,需要用反引号(\`)包围且不能使用英文句号(`.`)。详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。
**注意**:如果以中文为图空间命名,报`SyntaxError`错误时,需使用反引号(\`)包围中文字符。| +|``|1、在{{nebula.name}}实例中唯一标识一个图空间。
2、图空间名称设置后无法被修改。
3、默认情况下,仅支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等,但是特殊字符只能使用下划线。不能以数字开头。
4、如果需要使用特殊字符、保留关键字或者以数字开头,请使用反引号(\`)包围整个名称。反引号中不能包含英文句号(`.`)。详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。
**注意**:如果以中文为图空间命名,报`SyntaxError`错误时,需使用反引号(\`)包围中文字符。| |`partition_num`|指定图空间的分片数量。建议设置为集群中硬盘数量的 20 倍(HDD 硬盘建议为 2 倍)。例如集群中有 3 个硬盘,建议设置 60 个分片。默认值为 10。| |`replica_factor`|指定每个分片的副本数量。建议在生产环境中设置为 3,在测试环境中设置为 1。由于需要基于多数表决,副本数量必须是**奇数**。默认值为 1。| |`vid_type`|必选参数。指定点 ID 的数据类型。可选值为`FIXED_STRING()`和`INT64`。`INT`等同于`INT64`。
`FIXED_STRING()`表示数据类型为定长字符串,长度为`N`字节,超出长度会报错。例如,UTF-8中,一个中文字符的长度为三个字节,如果设置`N`为 12,那么`vid_type`为最多 4 个中文字符。
`INT64`表示数据类型为整数。| @@ -67,7 +67,7 @@ CREATE SPACE [IF NOT EXISTS] AS ; |参数|说明| |:---|:---| |`IF NOT EXISTS`|检测待创建的图空间是否存在,只有不存在时,才会克隆图空间。仅检测图空间的名称,不会检测具体属性。| -|``|目标图空间名称。该图空间必须未创建。图空间名称以英文字母开头,支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等,但是不包括除下划线外的特殊字符。使用保留关键字时,需要用反引号(\`)包围,详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。创建时会克隆``图空间的 Schema,包括图空间本身参数(分片数量、副本数量等)、Tag、Edge type 和 原生索引。| +|``|目标图空间名称。该图空间必须未创建。
默认情况下,仅支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等,但是特殊字符只能使用下划线。不能以数字开头。
如果需要使用特殊字符、保留关键字或者以数字开头,请使用反引号(\`)包围整个名称。反引号中不能包含英文句号(`.`)。详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。
创建时会克隆``图空间的 Schema,包括图空间本身参数(分片数量、副本数量等)、Tag、Edge type 和 原生索引。
**注意**:如果以中文为图空间命名,报`SyntaxError`错误时,需使用反引号(\`)包围中文字符。| |``|原始图空间名称。该图空间必须已存在。| ## 示例