diff --git a/db-administration/data-query/data-query.md b/db-administration/data-query/data-query.md index b651471d5cc3229fe0c253fa8307506024873f27..c9a51771343f00c55297bb4b4c5dee3079a3d503 100644 --- a/db-administration/data-query/data-query.md +++ b/db-administration/data-query/data-query.md @@ -42,7 +42,7 @@ KWDB 跨模查询支持以下联合查询: ## 前提条件 -用户拥有目标表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ## 语法示例 diff --git a/db-administration/data-query/relational-data-query.md b/db-administration/data-query/relational-data-query.md index b6a2bb55c9ad48b5b47590810ab0c370702f0221..8b94f19e9c0e8443dbaf188ac0e6b5dc26c09356 100644 --- a/db-administration/data-query/relational-data-query.md +++ b/db-administration/data-query/relational-data-query.md @@ -40,7 +40,7 @@ KWDB 支持在查询中对列类型为时间戳、时间戳常量以及结果类 ### 前提条件 -用户拥有目标表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/db-administration/data-query/ts-data-query.md b/db-administration/data-query/ts-data-query.md index 3783a203623f0ddf834253611f3bd806ebfd5575..6cd679dd1c61638a32a1df55c6f4e63bb12ecef0 100644 --- a/db-administration/data-query/ts-data-query.md +++ b/db-administration/data-query/ts-data-query.md @@ -11,7 +11,7 @@ id: ts-data-query ### 前提条件 -用户拥有目标表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -146,7 +146,7 @@ SELECT time_bucket_gapfill (time, 86400) AS a, max(c1) FROM t1 GROUP BY a; ### 前提条件 -用户拥有目标表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -328,7 +328,7 @@ KWDB 的最值上下文查询功能允许用户在使用 `min` 或 `max` 聚合 ### 前提条件 -用户拥有目标表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/db-administration/db-mgmt/db-mgmt-relational.md b/db-administration/db-mgmt/db-mgmt-relational.md index 44e7d04b09ba476a4deeb9c9f456c55d2e9262d0..c0aa67cced7823c651993158f7ec57599c611730 100644 --- a/db-administration/db-mgmt/db-mgmt-relational.md +++ b/db-administration/db-mgmt/db-mgmt-relational.md @@ -7,9 +7,11 @@ id: db-mgmt-relational ## 创建数据库 +`CREATE DATABASE` 语句用于创建关系数据库对象(Relational Database)。每条语句支持创建一个关系数据库。创建成功后,用户拥有该数据库的全部权限。 + ### 前提条件 -用户具有 Admin 角色。默认情况下,root 用户具有 Admin 角色。创建成功后,用户拥有该数据库的全部权限。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。创建成功后,用户拥有该数据库的全部权限。 ### 语法格式 @@ -19,7 +21,7 @@ CREATE DATABASE [IF NOT EXISTS] [WITH] [ENCODING [=] <'code_name'>] [C ### 参数说明 -:::warning 说明 +::: warning 说明 配置可选参数时,必须严格按照 `[ENCODING [=] <'code_name'>] [COMMENT [=] <'comment_text'>]` 的顺序,否则系统将会报错。 ::: @@ -69,7 +71,7 @@ SHOW DATABASES [WITH COMMENT]; ### 语法示例 -:::warning 说明 +::: warning 说明 时序数据库和关系数据库的 `engine_type` 分别为 `TIME SERIES` 和 `RELATIONAL`。 ::: @@ -135,7 +137,7 @@ SHOW CREATE DATABASE reldb1; ### 前提条件 -用户拥有数据库的 CREATE 或 ALL 权限。 +无 ### 语法格式 @@ -159,7 +161,7 @@ USE db1; ## 修改数据库 -KWDB 支持修改数据库名称。 +KWDB 支持修改数据库名称以及数据库区域配置。 ::: warning 说明 KWDB 不支持修改视图关联的数据库的名称。 @@ -167,13 +169,25 @@ KWDB 不支持修改视图关联的数据库的名称。 ### 前提条件 -用户为 Admin 用户或者 Admin 角色成员。默认情况下,root 用户具有 Admin 角色。 +- 修改数据库名称:用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 +- 修改数据库区域配置: + - 修改系统数据库区域配置:用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 + - 修改其他数据库区域配置:用户是 `admin` 角色的成员或者拥有目标数据库的 CREATE 或 ZONECONFIG 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 -```sql -ALTER DATABASE RENAME TO ; -``` +- 修改数据库名称: + + ```sql + ALTER DATABASE RENAME TO ; + ``` + +- 修改数据库区域配置: + + ```sql + ALTER DATABASE CONFIGURE ZONE + [USING = [COPY FROM PARENT | ], = [ | COPY FROM PARENT], ... | DISCARD]; + ``` ### 参数说明 @@ -181,6 +195,10 @@ ALTER DATABASE RENAME TO ; | --- | --- | | `db_name` | 待修改的数据库名称。如果目标数据库为当前数据库,或者将 `sql_safe_updates` 参数设置为 `true`,则无法重命名该数据库。| | `new_name` | 拟修改的数据库名称,新数据库名称必须唯一,并且[遵循数据库标识符规则](../../sql-reference/sql-identifiers.md)。| +| `variable` | 待修改的变量名,关系库支持修改以下变量:
- `range_min_bytes`:数据分片的最小大小,单位为字节。数据分片小于该值时,KWDB 会将其与相邻数据分片合并。默认值:256 MiB,设置值应大于 1 MiB(1048576 字节),小于数据分片的最大大小。
- `range_max_bytes`:数据分片的最大大小,单位为字节。数据分片大于该值时,KWDB 会将其切分到两个数据分片。默认值: 512 MiB。设置值不得小于 5 MiB(5242880 字节)。
- `gc.ttlseconds`:数据在垃圾回收前保留的时间,单位为秒。默认值为 `90000`(25 小时)。设置值建议不小于 600 秒(10 分钟),以免影响长时间运行的查询。设置值较小时可以节省磁盘空间,设置值较大时会增加 `AS OF SYSTEM TIME` 查询的时间范围。另外,由于每行的所有版本都存储在一个永不拆分的单一数据分片内,不建议将该值设置得太大,以免单行的所有更改累计超过 64 MiB,导致内存不足或其他问题。
- `num_replicas`:副本数量。默认值为 3。`system` 数据库、`meta`、`liveness` 和 `system` 数据分片的默认副本数为 5。 **注意**:集群中存在不可用节点时,副本数量不可缩减。
- `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}'` 表示在节点 1、2 和 3 上必须各放置 1 个副本。目前只支持 `region=NODEx` 格式
- `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=NODE1]]'` 表示倾向将主副本放置在节点 1。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。| +| `value` | 变量值。 | +|`COPY FROM PARENT`| 使用父区域的设置值。| +|`DISCARD` | 移除区域配置,采用默认值。| ### 语法示例 @@ -219,11 +237,35 @@ ALTER DATABASE RENAME TO ; (5 rows) ``` +- 修改数据库区域配置 + + 以下示例将 `db3` 数据库副本数改为 5, 将数据在垃圾回收前保留的时间改为 100000 秒。 + + ```sql + -- 1. 修改数据库区域配置 + > ALTER DATABASE db3 CONFIGURE ZONE USING num_replicas = 5, gc.ttlseconds = 100000; + CONFIGURE ZONE 1 + + -- 2. 查看数据库区域配置 + + > SHOW ZONE CONFIGURATION FOR DATABASE db3; + target | config_sql + -------------------+------------------------------------------ + DATABASE db3 | ALTER DATABASE db3 CONFIGURE ZONE USING + | range_min_bytes = 134217728, + | range_max_bytes = 536870912, + | gc.ttlseconds = 100000, + | num_replicas = 5, + | constraints = '[]', + | lease_preferences = '[]' + (1 row) + ``` + ## 删除数据库 ### 前提条件 -- 用户拥有目标数据库和其下全部模式及对象的 DROP 权限。删除成功后,所有用户针对目标数据库和其下全部模式及对象的所有权限均被删除。 +- 用户是 `admin` 角色的成员或者拥有目标数据库及对象的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。删除成功后,所有用户针对目标数据库和其下全部模式及对象的所有权限均被删除。 - 目标数据库不能是当前数据库。如需删除当前数据库,使用 `USE ` 语句将当前数据库切换成其他数据库,再进行删除。 ### 语法格式 diff --git a/db-administration/db-mgmt/db-mgmt-ts.md b/db-administration/db-mgmt/db-mgmt-ts.md index b29b81b5bf727fa0117f409f73c2623daa998acd..7a784914f69d3551e770ae74fddfb717719ba833 100644 --- a/db-administration/db-mgmt/db-mgmt-ts.md +++ b/db-administration/db-mgmt/db-mgmt-ts.md @@ -9,7 +9,7 @@ id: db-mgmt-ts ### 前提条件 -用户具有 Admin 角色。默认情况下,root 用户具有 Admin 角色。创建成功后,用户拥有该数据库的全部权限。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。创建成功后,用户拥有该数据库的全部权限。 ### 语法格式 @@ -20,7 +20,9 @@ CREATE TS DATABASE [RETENTIONS ] [COMMENT [=] <'comment ### 参数说明 :::warning 说明 -配置可选参数时,必须严格按照 `[RETENTIONS ] [COMMENT [=] <'comment_text'>]` 的顺序,否则系统将会报错。 +- 配置可选参数时,必须严格按照 `[RETENTIONS ] [COMMENT [=] <'comment_text'>]` 的顺序,否则系统将会报错。 +- 3.0.0 版本数据库分区间隔仅支持 10 天,其他配置值无效。 + ::: | 参数 | 说明 | @@ -171,10 +173,11 @@ CREATE TS DATABASE tsdb1 RETENTIONS 10d; --2. 查看已创建的 tsdb1 数据库。 SHOW CREATE DATABASE tsdb1; - database_name | create_statement -----------------+------------------------------------- + database_name | create_statement +----------------+------------------------------- tsdb1 | CREATE TS DATABASE tsdb1 | retentions 864000s + | partition interval 10d (1 row) ``` @@ -182,7 +185,7 @@ SHOW CREATE DATABASE tsdb1; ### 前提条件 -用户拥有数据库的 CREATE 或 ALL 权限。 +无 ### 语法格式 @@ -211,13 +214,13 @@ KWDB 支持修改数据库的名称、生命周期和区域配置。 ### 前提条件 - 修改数据库的名称 - - 用户为 Admin 用户或者 Admin 角色成员。 + - 用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 - 目标数据库不是当前数据库。 - 修改数据库生命周期 - - 用户为 Admin 用户或者 Admin 角色成员。 + - 用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 - 修改数据库区域设置 - - 修改系统数据库区域配置:用户为 Admin 用户或 Admin 角色成员。 - - 修改其他数据库区域配置:用户拥有目标数据库的 CREATE 或 ZONECONFIG 权限。 + - 修改系统数据库区域配置:用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 + - 修改其他数据库区域配置:用户是 `admin` 角色的成员或者拥有目标数据库的 CREATE 或 ZONECONFIG 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -248,10 +251,10 @@ KWDB 支持修改数据库的名称、生命周期和区域配置。 | `new_name` | 拟修改的数据库名称,新数据库名称必须唯一,并且[遵循数据库标识符规则](../../sql-reference/sql-identifiers.md)。目前,数据库名称不支持中文字符,最大长度不能超过 63 个字节。| | `db_name` | 待修改的数据库名称。| | `keep_duration` | 可选参数,设置数据库的数据生命周期。数据超过此时长后将被系统自动清除。
默认值: `0s`(永久保留)
时间单位:
- 秒:`s` 或 `second`
- 分钟:`m` 或 `minute`
- 小时:`h` 或 `hour`
- 天:`d` 或 `day`
- 周:`w` 或 `week`
- 月:`mon` 或 `month`
- 年:`y` 或 `year`
取值范围:正整数,上限为 1000 年
**说明:**
- 表级设置优先于库级设置。
- 保留时长越长,存储空间占用越大,请根据业务需求合理配置。
- 如果待写入的数据已超过生命周期限制,系统会直接丢弃该数据,不予写入。| -| `variable` | 要修改的变量名,时序库支持修改以下变量:
- `range_min_bytes`:数据分片的最小大小,单位为字节。数据分片小于该值时,KaiwuDB 会将其与相邻数据分片合并。默认值:256 MiB,设置值应大于 1 MiB(1048576 字节),小于数据分片的最大大小。
- `range_max_bytes`:数据分片的最大大小,单位为字节。数据分片大于该值时,KaiwuDB 会将其切分到两个数据分片。默认值: 512 MiB。设置值不得小于 5 MiB(5242880 字节)。
- `gc.ttlseconds`:数据在垃圾回收前保留的时间,单位为秒。默认值为 `90000`(25 小时)。设置值建议不小于 600 秒(10 分钟),以免影响长时间运行的查询。设置值较小时可以节省磁盘空间,设置值较大时会增加 `AS OF SYSTEM TIME` 查询的时间范围。另外,由于每行的所有版本都存储在一个永不拆分的单一数据分片内,不建议将该值设置得太大,以免单行的所有更改累计超过 64 MiB,导致内存不足或其他问题。
- `num_replicas`:副本数量。默认值为 3。`system` 数据库、`meta`、`liveness` 和 `system` 数据分片的默认副本数为 5。 **注意**:集群中存在不可用节点时,副本数量不可缩减。
- `ts_merge.days`:时序数据分片合并时间。同一个时序表同哈希点按照时间戳分裂后,超过该时间的数据分片将自动合并,且合并后不会再自动拆分。默认值:10(10天)。设置值必须大于等于 0,设置值为 0 时表示时序数据分片按照时间戳分裂后便立刻自动合并。系统数据分片数量过多导致出现网络等故障时可以将该值适当调小,以缓解数据过大的问题。**提示:** KaiwuDB 默认只根据哈希点拆分数据分片,因此数据分片按时间合并功能默认关闭,如需支持按时间合并数据分片,需将 `kv.kvserver.ts_split_interval` 实时参数设置为 `1`, 将 `kv.kvserver.ts_split_by_timestamp.enabled` 实时参数设置为 `true` 以支持按照哈希点和时间戳拆分数据分片。 | +| `variable` | 要修改的变量名,时序库支持修改以下变量:
- `range_min_bytes`:数据分片的最小大小,单位为字节。数据分片小于该值时,KWDB 会将其与相邻数据分片合并。默认值:256 MiB,设置值应大于 1 MiB(1048576 字节),小于数据分片的最大大小。
- `range_max_bytes`:数据分片的最大大小,单位为字节。数据分片大于该值时,KWDB 会将其切分到两个数据分片。默认值: 512 MiB。设置值不得小于 5 MiB(5242880 字节)。
- `gc.ttlseconds`:数据在垃圾回收前保留的时间,单位为秒。默认值为 `90000`(25 小时)。设置值建议不小于 600 秒(10 分钟),以免影响长时间运行的查询。设置值较小时可以节省磁盘空间,设置值较大时会增加 `AS OF SYSTEM TIME` 查询的时间范围。另外,由于每行的所有版本都存储在一个永不拆分的单一数据分片内,不建议将该值设置得太大,以免单行的所有更改累计超过 64 MiB,导致内存不足或其他问题。
- `num_replicas`:副本数量。默认值为 3。`system` 数据库、`meta`、`liveness` 和 `system` 数据分片的默认副本数为 5。 **注意**:集群中存在不可用节点时,副本数量不可缩减。
- `ts_merge.days`:时序数据分片合并时间。同一个时序表同哈希点按照时间戳分裂后,超过该时间的数据分片将自动合并,且合并后不会再自动拆分。默认值:10(10天)。设置值必须大于等于 0,设置值为 0 时表示时序数据分片按照时间戳分裂后便立刻自动合并。系统数据分片数量过多导致出现网络等故障时可以将该值适当调小,以缓解数据过大的问题。**提示:** KWDB 默认只根据哈希点拆分数据分片,因此数据分片按时间合并功能默认关闭,如需支持按时间合并数据分片,需将 `kv.kvserver.ts_split_interval` 实时参数设置为 `1`, 将 `kv.kvserver.ts_split_by_timestamp.enabled` 实时参数设置为 `true` 以支持按照哈希点和时间戳拆分数据分片。 | | `value` | 变量值。 | |`COPY FROM PARENT`| 使用父区域的设置值。| -|`USING REBALANCE` | 手动触发数据分片的区域重新分配和负载均衡。

适用于以下场景:
- 关闭自动均衡后的主动调优
- 负载不均时的人工干预

KaiwuDB 默认自动执行后台数据分片均衡,用户通过 `SET CLUSTER SETTING kv.allocator.ts_consider_rebalance.enabled = false;` 关闭自动均衡功能后,可在系统低负载时段进行手动均衡。

注意:
- 该功能仅适用于用户数据分片,不适用于系统数据分片
- 建议在业务低峰期执行,避免影响正常业务性能。 | +|`USING REBALANCE` | 手动触发数据分片的区域重新分配和负载均衡。

适用于以下场景:
- 关闭自动均衡后的主动调优
- 负载不均时的人工干预

KWDB 默认自动执行后台数据分片均衡,用户通过 `SET CLUSTER SETTING kv.allocator.ts_consider_rebalance.enabled = false;` 关闭自动均衡功能后,可在系统低负载时段进行手动均衡。

注意:
- 该功能仅适用于用户数据分片,不适用于系统数据分片
- 建议在业务低峰期执行,避免影响正常业务性能。 | |`DISCARD` | 移除区域配置,采用默认值。| ### 语法示例 @@ -274,7 +277,7 @@ KWDB 支持修改数据库的名称、生命周期和区域配置。 - 修改数据库的区域配置。 - 以下示例将 `tsdb` 数据库的副本数改为5个,将数据在垃圾回收前保留的时间改为100000秒。 + 以下示例将 `tsdb` 数据库的副本数改为 5 个,将数据在垃圾回收前保留的时间改为 100000 秒。 ```SQL -- 1. 修改区域配置 @@ -283,16 +286,16 @@ KWDB 支持修改数据库的名称、生命周期和区域配置。 -- 2. 查看修改是否成功 > SHOW ZONE CONFIGURATION FOR DATABASE tsdb; - zone_name | config_sql - +-----------+-----------------------------------------+ - tsdb | ALTER DATABASE tsdb CONFIGURE ZONE USING - | range_min_bytes = 268435456, - | range_max_bytes = 536870912, - | gc.ttlseconds = 100000, - | num_replicas = 5, - | constraints = '[]', - | lease_preferences = '[]' - (6 rows) + target | raw_config_sql + ----------------+------------------------------------------- + DATABASE tsdb | ALTER DATABASE tsdb CONFIGURE ZONE USING + | range_min_bytes = 134217728, + | range_max_bytes = 536870912, + | gc.ttlseconds = 100000, + | num_replicas = 5, + | constraints = '[]', + | lease_preferences = '[]' + (1 row) ``` ## 删除数据库 @@ -305,7 +308,7 @@ KWDB 支持修改数据库的名称、生命周期和区域配置。 ### 前提条件 -- 用户拥有目标数据库及对象的 DROP 权限。删除成功后,所有用户针对目标数据库和其对象的所有权限均被删除。 +- 用户是 `admin` 角色的成员或者拥有目标数据库及对象的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。删除成功后,所有用户针对目标数据库和其对象的所有权限均被删除。 - 目标数据库不能是当前数据库。如需删除当前数据库,使用 `USE ` 语句将当前数据库切换成其他数据库,再进行删除。 ### 语法格式 diff --git a/db-administration/db-object-mgmt/relational-db/column-mgmt-relational.md b/db-administration/db-object-mgmt/relational-db/column-mgmt-relational.md index de0100d1c379c8727c3dc2fa6896f823a9093552..75ec88cbc0c3e3b7ef1524cf9ce5cdc4d2f09f17 100644 --- a/db-administration/db-object-mgmt/relational-db/column-mgmt-relational.md +++ b/db-administration/db-object-mgmt/relational-db/column-mgmt-relational.md @@ -11,7 +11,7 @@ KWDB 支持在创建表时创建列,也支持使用 `ALTER TABLE ... ADD COLUM ### 前提条件 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -195,7 +195,7 @@ KWDB 支持使用 `ALTER TABLE ... ALTER COLUMN` 语句执行以下操作。`ALT ### 前提条件 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -333,7 +333,7 @@ KWDB 支持使用 `ALTER TABLE ... RENAME COLUMN` 语句修改列名。 ### 前提条件 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -387,7 +387,7 @@ KWDB 支持使用 `ALTER TABLE ... DROP COLUMN` 语句删除列。`DROP COLUMN` ### 前提条件 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/db-administration/db-object-mgmt/relational-db/comment-mgmt-relational.md b/db-administration/db-object-mgmt/relational-db/comment-mgmt-relational.md index 151da4e96afea966a39d2c7a09078ece13fee185..dd1a2574be8eb077ec69b31b4281ce57db2502c7 100644 --- a/db-administration/db-object-mgmt/relational-db/comment-mgmt-relational.md +++ b/db-administration/db-object-mgmt/relational-db/comment-mgmt-relational.md @@ -9,7 +9,7 @@ id: comment-mgmt-relational ## 前提条件 -用户具有操作对象的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有操作对象的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ## 语法格式 diff --git a/db-administration/db-object-mgmt/relational-db/constraint-mgmt-relational.md b/db-administration/db-object-mgmt/relational-db/constraint-mgmt-relational.md index d22d19a581e6d4633d4b88638b68f2b9f3a63e61..638e569e5faa4852e81ec579635d4f63794827cf 100644 --- a/db-administration/db-object-mgmt/relational-db/constraint-mgmt-relational.md +++ b/db-administration/db-object-mgmt/relational-db/constraint-mgmt-relational.md @@ -18,7 +18,7 @@ id: constraint-mgmt-relational ### 前提条件 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -176,7 +176,7 @@ SHOW CONSTRAINTS FROM orders; ### 前提条件 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -223,7 +223,7 @@ SHOW CONSTRAINTS FROM orders; ### 前提条件 -用户拥有约束所属表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/db-administration/db-object-mgmt/relational-db/index-mgmt-relational.md b/db-administration/db-object-mgmt/relational-db/index-mgmt-relational.md index dd3df62bf0d2019dfce023ad8e20b06f0d3d16e2..05e6e184a14634f835fd3c3d3f11459e85572979 100644 --- a/db-administration/db-object-mgmt/relational-db/index-mgmt-relational.md +++ b/db-administration/db-object-mgmt/relational-db/index-mgmt-relational.md @@ -17,7 +17,7 @@ KWDB 支持创建函数索引,函数索引的索引列不是表中的列,而 ### 前提条件 -用户拥有目标表或物化视图的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表或物化视图的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -260,8 +260,9 @@ SHOW INDEX FROM re_users; ### 前提条件 -- 更改索引名称:用户拥有索引所属表或物化视图的 CREATE 权限。 -- 对指定行进行范围分割:用户拥有索引的 INSERT 权限。 +- 更改索引名称:用户是 `admin` 角色的成员或者拥有所属表或物化视图的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 对指定行进行范围分割:用户是 `admin` 角色的成员或者拥有索引的 INSERT 权限。默认情况下, `root` 用户属于 `admin` 角色。 + ### 语法格式 @@ -383,7 +384,7 @@ SHOW INDEX FROM re_users; ### 前提条件 -用户拥有索引所属表或物化视图的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表或物化视图的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/db-administration/db-object-mgmt/relational-db/materialized-view-mgmt-relational.md b/db-administration/db-object-mgmt/relational-db/materialized-view-mgmt-relational.md index e66192143cdd8cc7a85dbdd34b447340b406f4aa..31b28c5e8ae224ae03ed60f957662a45473307ce 100644 --- a/db-administration/db-object-mgmt/relational-db/materialized-view-mgmt-relational.md +++ b/db-administration/db-object-mgmt/relational-db/materialized-view-mgmt-relational.md @@ -15,7 +15,7 @@ KWDB 不支持基于临时表、临时视图创建物化视图,也不支持显 ### 所需权限 -用户拥有所属数据库的 CREATE 权限和引用表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有所属数据库的 CREATE 权限和引用表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -71,7 +71,7 @@ SELECT * FROM small_order; ### 所需权限 -用户拥有重命名前物化视图的 DROP 权限以及重命名后物化视图所属父数据库的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有重命名前物化视图的 DROP 权限以及重命名后物化视图所属父数据库 CREATE 的权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -123,7 +123,7 @@ KWDB 不支持显式事务刷新物化视图。 ### 所需权限 -用户拥有物化视图的 UPDATE 权限或者用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 +用户是 `admin` 角色的成员或者拥有物化视图的 UPDATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -151,8 +151,8 @@ REFRESH MATERIALIZED VIEW small_orders; ### 所需权限 -- 删除无依赖关系的物化视图:用户拥有目标物化视图的 DROP 权限。 -- 删除存在依赖关系的物化视图:用户拥有目标物化视图的 DROP 权限及其关联对象的 DROP 权限。 +- 删除无依赖关系的物化视图:用户是 `admin` 角色的成员或者拥有目标物化视图的 DROP 权限的普通用户。默认情况下,`root` 用户属于 `admin` 角色。。 +- 删除存在依赖关系的物化视图:用户是 `admin` 角色的成员或者拥有目标物化视图及其关联对象的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/db-administration/db-object-mgmt/relational-db/partition-mgmt-relational.md b/db-administration/db-object-mgmt/relational-db/partition-mgmt-relational.md index a0aed02aef17ef871293948dd3d3c73439cd0eff..e554bf43f4b65dfd747b28a54198a86ca926e3b9 100644 --- a/db-administration/db-object-mgmt/relational-db/partition-mgmt-relational.md +++ b/db-administration/db-object-mgmt/relational-db/partition-mgmt-relational.md @@ -17,9 +17,9 @@ id: partition-management-relational | 分区方式 | 语法 | 适用场景 | 主要特点 | 示例场景 | | :------- | :------------------- | :------------------------------- | :----------------------------------------------------------- | :----------------------------- | -| 列表分区 | `PARTITION BY LIST` | 分区键值数量有限且相对固定 | • 明确枚举每个分区的所有可能值
• 支持单列或多列组合作为分区键
• 可设置 `DEFAULT` 分区兜底 | 按国家/地区对用户数据分区 | -| 范围分区 | `PARTITION BY RANGE` | 分区键值数量庞大,无法逐一列举 | • 通过上下界定义连续值范围
• 支持 `MINVALUE`/`MAXVALUE` 边界
• 下界包含,上界排除
• NULL 值视为最小值 | 按时间范围对订单数据分区 | -| 哈希分区 | `PARTITION BY HASH` | 需要数据均匀分布,无明显业务分组 | • 使用哈希函数映射到固定分区数
• 数据分布相对均匀
• 支持与 `USING HASH WITH BUCKET_COUNT` 联用,将索引键值分布到多个分片桶(bucket)中,实现更均匀的数据分布 | 按用户 ID 哈希分区实现负载均衡 | +| 列表分区 | `PARTITION BY LIST` | 分区键值数量有限且相对固定 | - 明确枚举每个分区的所有可能值
- 支持单列或多列组合作为分区键
- 可设置 `DEFAULT` 分区兜底 | 按国家/地区对用户数据分区 | +| 范围分区 | `PARTITION BY RANGE` | 分区键值数量庞大,无法逐一列举 | - 通过上下界定义连续值范围
- 支持 `MINVALUE`/`MAXVALUE` 边界
- 下界包含,上界排除
- NULL 值视为最小值 | 按时间范围对订单数据分区 | +| 哈希分区 | `PARTITION BY HASH` | 需要数据均匀分布,无明显业务分组 | - 使用哈希函数映射到固定分区数
- 数据分布相对均匀
- 支持与 `USING HASH WITH BUCKET_COUNT` 联用,将索引键值分布到多个分片桶(bucket)中,实现更均匀的数据分布 | 按用户 ID 哈希分区实现负载均衡 | ::: warning 说明 @@ -37,8 +37,8 @@ id: partition-management-relational ### 所需权限 -- 建表时创建分区:用户为 `admin` 角色成员或拥有数据库的 CREATE 权限。默认情况下,root 用户属于 `admin` 角色。 -- 修改表时创建分区:用户为 `admin` 角色成员或拥有目标表的 CREATE 权限。默认情况下,root 用户属于 `admin` 角色。 +- 建表时创建分区:用户是 `admin` 角色成员或拥有数据库的 CREATE 权限。默认情况下,root 用户属于 `admin` 角色。 +- 修改表时创建分区:用户是 `admin` 角色成员或拥有目标表的 CREATE 权限。默认情况下,root 用户属于 `admin` 角色。 ### 语法格式 @@ -59,8 +59,8 @@ id: partition-management-relational ... ) | RANGE (name_list) ( - PARTITION FROM ( ) TO ( ), - PARTITION FROM ( ) TO ( ), + PARTITION VALUES FROM ( ) TO ( ), + PARTITION VALUES FROM ( ) TO ( ), ... ) | HASH (name_list) ( @@ -82,8 +82,8 @@ id: partition-management-relational ... ) | RANGE (name_list) ( - PARTITION FROM ( ) TO ( ), - PARTITION FROM ( ) TO ( ), + PARTITION VALUES FROM ( ) TO ( ), + PARTITION VALUES FROM ( ) TO ( ), ... ) | HASH (name_list) ( @@ -109,7 +109,7 @@ id: partition-management-relational ```SQL ALTER TABLE - PARTITION BY HASH (kwdb_internal__shard_) ( + PARTITION BY HASH (kwdb_internal__shard_) ( PARTITION VALUES IN ( ), PARTITION VALUES IN ( ), ... @@ -122,12 +122,12 @@ id: partition-management-relational | :--------------- | :----------------------------------------------------------- | | `table_name` | 分区所在的表名 | | `column_def` | 表列定义。列定义列表,支持定义一列或多列,各列之间使用逗号(`,`)隔开。列名在表中必须唯一,但可以与索引或约束同名。每列必须定义列名、数据类型,可以选择定义列级约束或其他列限定(例如计算列),格式为 ` [col_qual_list]`。在列级别定义的主键、唯一性约束、检查约束将作为表创建的一部分移动到表级别 | -| `name_list` | 分区键,必须为主键列 | +| `name_list` | 分区键,必须为主键列的开头 | | `partition_name` | 分区名称 | | `expr_list` | 分区值表达式列表 | | `column_name` | 主键列名 | | `bucket_count` | 分片桶数,必须为整数 | -| `kwdb_internal_table-name_shard_bucket-count` | 启用哈希分片索引功能后系统生成的内部列,用于存储哈希分片键,其中 `table-name` 为分区所在表名,`bucket-count` 为建表时设置的分片桶数 | +| `kwdb_internal_primary-key_shard_bucket-count` | 启用哈希分片索引功能后系统生成的内部列,用于存储哈希分片键,其中 `primary-key` 为分区所在表的主键名,`bucket-count` 为建表时设置的分片桶数 | ### 语法示例 @@ -146,10 +146,10 @@ id: partition-management-relational order_amount DECIMAL(10,2), order_status VARCHAR(20), created_at TIMESTAMP DEFAULT NOW(), - PRIMARY KEY (order_id, region_code) + PRIMARY KEY (region_code, order_id) -- 分区键必须在主键的开头 ) PARTITION BY LIST (region_code) ( PARTITION north_china VALUES IN (1), -- 华北地区分区 - PARTITION east_china VALUES IN (2), -- 华东地区分区 + PARTITION east_china VALUES IN (2), -- 华东地区分区 PARTITION south_china VALUES IN (3) -- 华南地区分区 ); ``` @@ -160,10 +160,10 @@ id: partition-management-relational -- 为现有表添加按时间范围的分区 ALTER TABLE existing_orders PARTITION BY RANGE (created_at) ( - PARTITION q1_2025 FROM ('2025-01-01') TO ('2025-04-01'), - PARTITION q2_2025 FROM ('2025-04-01') TO ('2025-07-01'), - PARTITION q3_2025 FROM ('2025-07-01') TO ('2025-10-01'), - PARTITION q4_2025 FROM ('2025-10-01') TO ('2026-01-01') + PARTITION q1_2025 VALUES FROM ('2025-01-01') TO ('2025-04-01'), + PARTITION q2_2025 VALUES FROM ('2025-04-01') TO ('2025-07-01'), + PARTITION q3_2025 VALUES FROM ('2025-07-01') TO ('2025-10-01'), + PARTITION q4_2025 VALUES FROM ('2025-10-01') TO ('2026-01-01') ); ``` @@ -187,7 +187,7 @@ id: partition-management-relational -- 为哈希分片表创建分区 ALTER TABLE users - PARTITION BY HASH (kwdb_internal_users_shard_8) ( + PARTITION BY HASH (kwdb_internal_user_id_shard_8) ( PARTITION shard_0 VALUES IN (0), PARTITION shard_1 VALUES IN (1), PARTITION shard_2 VALUES IN (2), @@ -214,7 +214,7 @@ id: partition-management-relational ### 所需权限 -用户为 `admin` 角色成员或拥有目标表的 CREATE 权限。默认情况下,root 用户属于 `admin` 角色。 +用户是 `admin` 角色成员或拥有目标表的 CREATE 权限。默认情况下,root 用户属于 `admin` 角色。 ### 语法格式 @@ -229,33 +229,33 @@ CONFIGURE ZONE [USING = , = , ... | DISCARD] | :--------------- | :----------------------------------------------------------- | | `partition_name` | 待修改的分区名称 | | `table_name` | 分区所在的表名 | -| `variable` | 支持修改以下变量:
• `num_replicas`:副本数量。默认值为 3
• `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}'` 表示在 `node1`、`node2`、`node3` 上必须各放置 1 个副本。目前只支持 `region=nodex` 格式
• `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=node1]]'` 表示倾向将主副本放置在 `node1`。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。列表中的每个值可以包含多个约束

**注意**:
• 租约偏好不必与 `constraints` 字段共享,用户可以单独定义 `lease_preferences`
• 设置 `constraints` 时需要同步设置 `num_replicas`,且 `constraints` 数量需要小于等于 `num_replicas` 数量。`constraints` 中的顺序无影响 | +| `variable` | 支持修改以下变量:
- `num_replicas`:副本数量。默认值为 3
- `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}'` 表示在节点 1、节点 2、节点 3 上必须各放置 1 个副本。目前只支持 `region=NODEx` 格式
- `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=NODE1]]'` 表示倾向将主副本放置在节点 1。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。列表中的每个值可以包含多个约束

**注意**:
- 租约偏好不必与 `constraints` 字段共享,用户可以单独定义 `lease_preferences`
- 设置 `constraints` 时需要同步设置 `num_replicas`,且 `constraints` 数量需要小于等于 `num_replicas` 数量。`constraints` 中的顺序无影响 | | `value` | 变量值,可以是具体的配置值,也可以是 `COPY FROM PARENT`,即使用父区域的设置值 | | `DISCARD` | 移除区域配置,采用默认值 | ### 语法示例 ```SQL --- 华北分区:数据主要存储在 node1,同时在 node2 和 node3 保持副本,lease 偏向 node1 +-- 华北分区:数据存储在所有节点,lease 偏向节点 1 ALTER PARTITION north_china OF TABLE ecommerce_orders.regional_orders CONFIGURE ZONE USING num_replicas = 3, - constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}', - lease_preferences = '[[+region=node1]]'; + constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}', + lease_preferences = '[[+region=NODE1]]'; --- 华东分区:数据主要存储在 node2,同时在 node1 和 node3 保持副本,lease 偏向 node2 +-- 华东分区:数据存储在所有节点,lease 偏向 节点 2 ALTER PARTITION east_china OF TABLE ecommerce_orders.regional_orders CONFIGURE ZONE USING num_replicas = 3, - constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}', - lease_preferences = '[[+region=node2]]'; + constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}', + lease_preferences = '[[+region=NODE2]]'; --- 华南分区:数据主要存储在 node3,同时在 node1 和 node2 保持副本,lease 偏向 node3 +-- 华南分区:数据存储在所有节点,lease 偏向 节点 3 ALTER PARTITION south_china OF TABLE ecommerce_orders.regional_orders CONFIGURE ZONE USING num_replicas = 3, - constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}', - lease_preferences = '[[+region=node3]]'; + constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}', + lease_preferences = '[[+region=NODE3]]'; -- 向表中写入数据 INSERT INTO ecommerce_orders.regional_orders VALUES diff --git a/db-administration/db-object-mgmt/relational-db/procedure-mgmt-relational.md b/db-administration/db-object-mgmt/relational-db/procedure-mgmt-relational.md index 0fb3c2bdd8392a099012231089f97fa1a54c7599..2c704fea76b6ed7e8c3ef9e7d5e831a313baa42d 100644 --- a/db-administration/db-object-mgmt/relational-db/procedure-mgmt-relational.md +++ b/db-administration/db-object-mgmt/relational-db/procedure-mgmt-relational.md @@ -39,8 +39,7 @@ KWDB 关系引擎支持创建、修改、查看、删除、执行存储过程。 ### 前提条件 -- 非三权分立模式下,用户拥有当前数据库的 CREATE 权限和存储过程体中引用的所有对象的相关权限(例如表的 SELECT 权限)。 -- 三权分立模式下,用户是 `sysadmin` 角色的成员或者是拥有当前数据库 CREATE 权限和存储过程体中引用的所有对象的相关权限(例如表的 SELECT 权限)的普通用户。默认情况下,`sysroot` 用户属于 `sysadmin` 角色。 +用户是 `admin` 角色的成员或者拥有当前数据库的 CREATE 权限和存储过程体中引用的所有对象的相关权限(例如表的 SELECT 权限)。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -127,8 +126,7 @@ CREATE PROCEDURE ### 前提条件 -- 非三权分立模式下,用户拥有目标存储过程的 EXECUTE 权限和存储过程体中引用的所有对象的相关权限(例如表的 SELECT 权限)。 -- 三权分立模式下,用户是 `sysadmin` 角色的成员或者是拥有目标存储过程 EXECUTE 权限和存储过程体中引用的所有对象的相关权限(例如表的 SELECT 权限)的普通用户。默认情况下,`sysroot` 用户属于 `sysadmin` 角色。 +用户是 `admin` 角色的成员或者拥有目标存储过程 EXECUTE 权限和存储过程体中引用的所有对象的相关权限(例如表的 SELECT 权限)。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -178,8 +176,7 @@ call test1(1); ### 前提条件 -- 非三权分立模式下,用户拥有目标存储过程的 CREATE 权限。 -- 三权分立模式下,用户是 `sysadmin` 角色的成员或者是拥有目标存储过程 CREATE 权限的普通用户。默认情况下,`sysroot` 用户属于 `sysadmin` 角色。 +用户是 `admin` 角色的成员或者拥有目标存储过程的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -305,8 +302,7 @@ ALTER PROCEDURE proc1 COMMENT IS 'test query sql and if else logical'; ### 前提条件 -- 非三权分立模式下,用户拥有目标存储过程的 DROP 权限。 -- 三权分立模式下,用户是 `sysadmin` 角色的成员或者是拥有目标存储过程 DROP 权限的普通用户。默认情况下,`sysroot` 用户属于 `sysadmin` 角色。 +用户是 `admin` 角色的成员或者拥有目标存储过程的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/db-administration/db-object-mgmt/relational-db/range-mgmt-relational.md b/db-administration/db-object-mgmt/relational-db/range-mgmt-relational.md index ed4a313e28f55a75556b112306c860d268f28632..c52641a2e9a858d3f8df678a6c82bcd9cc235cfb 100644 --- a/db-administration/db-object-mgmt/relational-db/range-mgmt-relational.md +++ b/db-administration/db-object-mgmt/relational-db/range-mgmt-relational.md @@ -13,7 +13,7 @@ KWDB 将所有用户数据和几乎所有系统数据存储在排序的键值对 ### 前提条件 -用户为 Admin 用户或者 Admin 角色成员。默认情况下,root 用户具有 Admin 角色。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -99,7 +99,7 @@ SHOW RANGES FROM [TABLE | INDEX @ | DATAB ### 所需权限 -用户为 Admin 用户或 Admin 角色成员。默认情况下,root 用户具有 Admin 角色。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -112,7 +112,7 @@ ALTER RANGE CONFIGURE ZONE [USING = [COPY FROM PARENT | | 参数 | 说明 | | --- | --- | | `range_name` | 待修改的数据分片名称,包括:
- `default`:默认副本设置
- `meta`:所有数据的位置信息
- `liveness`:给定时间活动节点的信息
- `system`:分配新表ID所需的信息以及追踪集群节点状态
- `timeseries`:集群监控数据| -| `variable` | 待修改的变量名,关系库支持修改以下变量:
- `range_min_bytes`:数据分片的最小大小,单位为字节。数据分片小于该值时,KWDB 会将其与相邻数据分片合并。默认值:256 MiB,设置值应大于 1 MiB(1048576 字节),小于数据分片的最大大小。
- `range_max_bytes`:数据分片的最大大小,单位为字节。数据分片大于该值时,KWDB 会将其切分到两个数据分片。默认值: 512 MiB。设置值不得小于 5 MiB(5242880 字节)。
- `gc.ttlseconds`:数据在垃圾回收前保留的时间,单位为秒。默认值为 `90000`(25 小时)。设置值建议不小于 600 秒(10 分钟),以免影响长时间运行的查询。设置值较小时可以节省磁盘空间,设置值较大时会增加 `AS OF SYSTEM TIME` 查询的时间范围。另外,由于每行的所有版本都存储在一个永不拆分的单一数据分片内,不建议将该值设置得太大,以免单行的所有更改累计超过 64 MiB,导致内存不足或其他问题。
- `num_replicas`:副本数量。默认值为 3。`system` 数据库、`meta`、`liveness` 和 `system` 数据分片的默认副本数为 5。 **注意**:集群中存在不可用节点时,副本数量不可缩减。
- `constraints`:副本位置的必需(+)和/或禁止(-)约束。
- `lease_preferences`:租约位置的必需(+)和/或禁止(-)约束的有序列表。每个约束前可带 + 表示必需,或 - 表示禁止。注意,租约偏好不必与 `constraints` 字段共享,用户可以单独定义 `lease_preferences`,也可以单独定义 `lease_preferences`。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,该算法基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。列表中的每个值可以包含多个约束。例如,列表 `[[+zone=zn-east-1b, +ssd], [+zone=zn-east-1a], [+zone=zn-east-1c, +ssd]]` 表示首选位于 `zn-east-1b` 区域具有 SSD 的节点,其次是位于 `zn-east-1a` 区域的节点,最后是 `zn-east-1c` 区域具有 SSD 的节点。默认值:如果未指定此字段,则不应用租约偏好。 | +| `variable` | 待修改的变量名,关系库支持修改以下变量:
- `range_min_bytes`:数据分片的最小大小,单位为字节。数据分片小于该值时,KWDB 会将其与相邻数据分片合并。默认值:256 MiB,设置值应大于 1 MiB(1048576 字节),小于数据分片的最大大小。
- `range_max_bytes`:数据分片的最大大小,单位为字节。数据分片大于该值时,KWDB 会将其切分到两个数据分片。默认值: 512 MiB。设置值不得小于 5 MiB(5242880 字节)。
- `gc.ttlseconds`:数据在垃圾回收前保留的时间,单位为秒。默认值为 `90000`(25 小时)。设置值建议不小于 600 秒(10 分钟),以免影响长时间运行的查询。设置值较小时可以节省磁盘空间,设置值较大时会增加 `AS OF SYSTEM TIME` 查询的时间范围。另外,由于每行的所有版本都存储在一个永不拆分的单一数据分片内,不建议将该值设置得太大,以免单行的所有更改累计超过 64 MiB,导致内存不足或其他问题。
- `num_replicas`:副本数量。默认值为 3。`system` 数据库、`meta`、`liveness` 和 `system` 数据分片的默认副本数为 5。 **注意**:集群中存在不可用节点时,副本数量不可缩减。
- `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}'` 表示在节点 1、2 和 3 上必须各放置 1 个副本。目前只支持 `region=NODEx` 格式
- `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=NODE1]]'` 表示倾向将主副本放置在节点 1。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。列表中的每个值可以包含多个约束。| | `value` | 变量值。 | |`COPY FROM PARENT`| 使用父区域的设置值。| |`DISCARD` | 移除区域配置,采用默认值。| @@ -121,7 +121,7 @@ ALTER RANGE CONFIGURE ZONE [USING = [COPY FROM PARENT | - 修改系统数据分片的区域配置 - 以下示例将 `meta` 系统数据分片的副本数改为7个。 + 以下示例将 `meta` 系统数据分片的副本数改为 7 个。 ```SQL > ALTER RANGE meta CONFIGURE ZONE USING num_replicas=7; diff --git a/db-administration/db-object-mgmt/relational-db/schema-mgmt-relational.md b/db-administration/db-object-mgmt/relational-db/schema-mgmt-relational.md index 5bcb391fb939b284b576f64bccdcd8a6403ccc1d..735f44f1932f11f6644413ab466b43c5fa390575 100644 --- a/db-administration/db-object-mgmt/relational-db/schema-mgmt-relational.md +++ b/db-administration/db-object-mgmt/relational-db/schema-mgmt-relational.md @@ -9,7 +9,7 @@ id: schema-mgmt-relational ### 前提条件 -用户拥有模式所属数据库的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有所属数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -48,7 +48,7 @@ CREATE SCHEMA ### 前提条件 -用户拥有当前数据库或目标数据库的访问权限。 +用户是 `admin` 角色的成员或者拥有当前数据库或目标数据库的访问权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -86,7 +86,7 @@ SHOW SCHEMAS; ### 前提条件 -用户拥有目标模式的 DROP 权限。 +用户是 `admin` 角色的成员或者拥有模式的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/db-administration/db-object-mgmt/relational-db/sequence-mgmt-relational.md b/db-administration/db-object-mgmt/relational-db/sequence-mgmt-relational.md index 9ba2848b4a43254ef88a90a05b1a5302d9808ecf..f4614b1c7026ad3addbf15816d37e30fefd272b1 100644 --- a/db-administration/db-object-mgmt/relational-db/sequence-mgmt-relational.md +++ b/db-administration/db-object-mgmt/relational-db/sequence-mgmt-relational.md @@ -9,7 +9,7 @@ id: sequence-mgmt-relational ### 前提条件 -用户拥有新建序列所属数据库的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有所属数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -180,7 +180,7 @@ SHOW SEQUENCES; ### 前提条件 -用户拥有序列所属数据库的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有序列所属数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -290,7 +290,7 @@ ALTER SEQUENCE [IF EXISTS] ### 前提条件 -用户拥有序列所属数据库的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有序列所属数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -353,7 +353,7 @@ ALTER SEQUENCE [IF EXISTS] RENAME TO ; ### 前提条件 -用户拥有目标序列的 DROP 权限。 +用户是 `admin` 角色的成员或者拥有目标序列的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/db-administration/db-object-mgmt/relational-db/table-mgmt-relational.md b/db-administration/db-object-mgmt/relational-db/table-mgmt-relational.md index 65a898fcada5240027f73a95eddf02077bd8136c..43821eda2e42e4eeaec10abadf00a529eb9eee06 100644 --- a/db-administration/db-object-mgmt/relational-db/table-mgmt-relational.md +++ b/db-administration/db-object-mgmt/relational-db/table-mgmt-relational.md @@ -10,7 +10,7 @@ id: table-mgmt-relational ### 前提条件 -用户拥有数据库的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -25,7 +25,7 @@ CREATE TABLE [IF NOT EXISTS] ### 参数说明 :::warning 说明 -配置可选参数时,必须严格按照 `[ | | | ] [] [COMMENT [=] <'comment_text'>]` 的顺序,否则系统将会报错。 +配置可选参数时,必须严格按照 `[ | | | ] [] [] [COMMENT [=] <'comment_text'>]` 的顺序,否则系统将会报错。 ::: | 参数 | 说明 | @@ -579,7 +579,7 @@ SHOW TABLES [FROM ][.] [WITH COMMENT]; ### 前提条件 -用户拥有指定表的任何权限。 +用户拥有目标表的任何权限。 ### 语法格式 @@ -646,15 +646,15 @@ SHOW CREATE [TABLE] [.] ; ### 前提条件 -- 在现有表中添加、修改、重命名或删除列:用户拥有目标表的 CREATE 权限。 -- 在现有表中添加、验证、重命名或删除约束:用户拥有目标表的 CREATE 权限。 -- 修改现有表上的主键列:用户拥有目标表的 CREATE 权限。 -- 修改表的区域配置:用户拥有目标表的 CREATE 权限或 ZONECONFIG 权限。 -- 创建表分区:用户拥有目标表的 CREATE 权限。 +- 在现有表中添加、修改、重命名或删除列:用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 在现有表中添加、验证、重命名或删除约束:用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 修改现有表上的主键列:用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 修改表的区域配置:用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限或 ZONECONFIG 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 创建表分区:用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 - 重命名表: - - 重命名当前数据库中的表:用户拥有表所属数据库的 CREATE 权限和原表的 DROP 权限时。当表存在视图依赖时,系统不支持重命名表。 - - 重命名表并将其迁移表到其他数据库:用户拥有目标数据库的 CREATE 权限。 -- 在表的特定行或范围上创建或移除拆分点: 用户拥有目标表的 INSERT 权限。 + - 重命名当前数据库中的表:用户是 `admin` 角色的成员或者拥有所属数据库的 CREATE 权限和原表的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。当表存在视图依赖时,系统不支持重命名表。 + - 重命名表并将其迁移表到其他数据库:用户是 `admin` 角色的成员或者拥有目标数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 在表的特定行或范围上创建或移除拆分点: 用户是 `admin` 角色的成员或者拥有目标表的 INSERT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -692,7 +692,7 @@ ALTER TABLE [IF EXISTS] - DROP - `DROP COLUMN`: 删除列,需指定列名。`COLUMN` 为可选关键字,如未使用,默认删除列。`IF EXISTS` 关键字可选。当使用 `IF EXISTS` 关键字时,如果列名存在,系统删除列。如果列名不存在,系统删除列失败,但不会报错。当未使用 `IF EXISTS` 关键字时,如果列名存在,系统删除列。如果列名不存在,系统报错,提示列名不存在。 - `DROP CONSTRAINT`:删除约束。更多详细信息,参见[删除约束](./constraint-mgmt-relational.md#删除约束)。 -- PARTITION BY: 创建表的数据分区,更多详细信息,参见[分区管理](./partition-mgmt-relational.md) +- PARTITION BY: 创建表的数据分区,更多详细信息,参见[分区管理](./partition-mgmt-relational.md)。 - RENAME - `RENAME TO`: 修改表的名称。 - `RENAME COLUMN`:修改列的名称。更多详细信息,参见[修改列](./column-mgmt-relational.md#修改列)。 @@ -807,7 +807,7 @@ ALTER TABLE [IF EXISTS] ### 前提条件 -- 用户拥有目标表的 DROP 权限。 +- 用户是 `admin` 角色的成员或者拥有目标表的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。 - 当目标表存在关联的外键约束或与其他交错表关联,用户还需要拥有关联表的 REFERENCES 权限。 - 当目标表存在视图等依赖关系,用户还需要拥有所有依赖此表视图的 DROP 权限。 diff --git a/db-administration/db-object-mgmt/relational-db/trigger-relational.md b/db-administration/db-object-mgmt/relational-db/trigger-relational.md index 6b38f8346e0adce73bd44281d3752d9fc05c09c6..0cfe067fa909201d441f1f0454f18c84a848f8f4 100644 --- a/db-administration/db-object-mgmt/relational-db/trigger-relational.md +++ b/db-administration/db-object-mgmt/relational-db/trigger-relational.md @@ -13,8 +13,7 @@ id: trigger-relational ### 前提条件 -- 非三权分立模式下,用户是 `admin` 角色的成员或者拥有触发器关联表的 `CREATE` 权限和触发器主体中相关 SQL 操作的权限。默认情况下,`root` 用户属于 `admin` 角色。 -- 三权分立模式下,用户是 `sysadmin` 角色的成员或者是拥有触发器关联表的 `CREATE` 权限和触发器主体中相关 SQL 操作权限的普通用户。默认情况下,`sysroot` 用户属于 `sysadmin` 角色。 +用户是 `admin` 角色的成员或者拥有触发器关联表的 `CREATE` 权限和触发器主体中相关 SQL 操作的权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -117,8 +116,7 @@ SHOW TRIGGERS FROM orders; ### 前提条件 -- 非三权分立模式下,用户是 `admin` 角色的成员或者拥有触发器关联表的 `DROP` 权限。默认情况下,`root` 用户属于 `admin` 角色。 -- 三权分立模式下,用户是 `sysadmin` 角色的成员或者是拥有触发器关联表的 `DROP` 权限的普通用户。默认情况下,`sysroot` 用户属于 `sysadmin` 角色。 +用户是 `admin` 角色的成员或者拥有触发器关联表的 `DROP` 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -148,8 +146,7 @@ ALTER TRIGGER my_trigger ON orders RENAME TO trigger_test; ### 前提条件 -- 非三权分立模式下,用户是 `admin` 角色的成员或者拥有触发器关联表的 `DROP` 权限。默认情况下,`root` 用户属于 `admin` 角色。 -- 三权分立模式下,用户是 `sysadmin` 角色的成员或者是拥有触发器关联表的 `DROP` 权限的普通用户。默认情况下,`sysroot` 用户属于 `sysadmin` 角色。 +用户是 `admin` 角色的成员或者拥有触发器关联表的 `DROP` 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/db-administration/db-object-mgmt/relational-db/view-mgmt-relational.md b/db-administration/db-object-mgmt/relational-db/view-mgmt-relational.md index eff9f1caacfd49f2bf84e0bcbaee446e8c8f882c..bc1fe9e82a025c2c945bdcb87e6cdfa8f0d5d172 100644 --- a/db-administration/db-object-mgmt/relational-db/view-mgmt-relational.md +++ b/db-administration/db-object-mgmt/relational-db/view-mgmt-relational.md @@ -11,7 +11,7 @@ id: view-mgmt-relational ### 前提条件 -用户拥有所属数据库的 CREATE 权限和引用表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有所属数据库的 CREATE 权限和引用表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -65,7 +65,7 @@ SELECT * FROM short_order; ### 前提条件 -用户拥有重命名前视图的 DROP 权限以及重命名后视图所属父数据库的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有重命名前视图的 DROP 权限以及重命名后视图所属父数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -114,8 +114,8 @@ SELECT * FROM information_schema.tables WHERE table_type = 'VIEW'; ### 前提条件 -- 删除无依赖关系的视图:用户拥有目标视图的 DROP 权限。 -- 删除存在依赖关系的视图:用户拥有目标视图的 DROP 权限及其关联对象的 DROP 权限。 +- 删除无依赖关系的视图:用户是 `admin` 角色的成员或者拥有目标视图的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 删除存在依赖关系的视图:用户是 `admin` 角色的成员或者拥有目标视图及其关联对象的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/db-administration/db-object-mgmt/relational-db/zone-mgmt-relational.md b/db-administration/db-object-mgmt/relational-db/zone-mgmt-relational.md index fe0a35512f40b88b0baf1be2f940603952d8cbe9..6229350b349f26cd811eda98ae33543cfacc4d58 100644 --- a/db-administration/db-object-mgmt/relational-db/zone-mgmt-relational.md +++ b/db-administration/db-object-mgmt/relational-db/zone-mgmt-relational.md @@ -19,10 +19,10 @@ KWDB 集群中,每个数据分片都隶属于一个特定的副本区域(zon ### 语法格式 -- 查看指定数据分片、数据库、表或索引的区域配置 +- 查看指定数据分片、数据库、表、索引或分区的区域配置 ```sql - SHOW ZONE CONFIGURATION FOR [RANGE range_name | DATABASE database_name | TABLE table_name | INDEX table_name @ index_name]; + SHOW ZONE CONFIGURATION FOR [RANGE | DATABASE | TABLE | INDEX @ | PARTITION OF TABLE ]; ``` - 查看所有副本区域信息 @@ -39,19 +39,20 @@ KWDB 集群中,每个数据分片都隶属于一个特定的副本区域(zon | `database_name` | 数据库的名称。 | | `table_name` | 表的名称。 | | `index_name` | 索引的名称。 | +| `partition_name` | 分区的名称。 | ### 语法示例 - 查看指定系统数据分片的副本信息 以下示例查看 `default` 默认系统数据分片的副本区域信息。 - + ```sql SHOW ZONE CONFIGURATION FOR RANGE default; ``` - + 执行成功后,控制台输出以下信息: - + ```sql target | raw_config_sql ----------------+------------------------------------------- @@ -64,17 +65,17 @@ KWDB 集群中,每个数据分片都隶属于一个特定的副本区域(zon | lease_preferences = '[]' (1 row) ``` - + - 查看指定数据库的副本信息 以下示例查看 `db1` 数据库的副本区域信息。 - + ```sql SHOW ZONE CONFIGURATION FOR DATABASE db1; ``` - + 执行成功后,控制台输出以下信息: - + ```sql target | raw_config_sql ---------------+------------------------------------------ @@ -87,17 +88,17 @@ KWDB 集群中,每个数据分片都隶属于一个特定的副本区域(zon | lease_preferences = '[]' (1 row) ``` - + - 查看指定表的副本区域信息 以下示例查看 `t1` 表的副本区域信息。 - + ```sql SHOW ZONE CONFIGURATION FOR TABLE t1; ``` - + 执行成功后,控制台输出以下信息: - + ```sql target | raw_config_sql ----------------+------------------------------------------- @@ -113,12 +114,12 @@ KWDB 集群中,每个数据分片都隶属于一个特定的副本区域(zon ## 修改区域配置 -`ALTER CONFIGURE ZONE` 语句用于修改或移除数据库、表、数据分片的副本区域配置。 +`ALTER CONFIGURE ZONE` 语句用于修改或移除数据库、表、数据分片、分区的副本区域配置。 ### 所需权限 -- 修改系统数据库或系统数据分片:用户为 Admin 用户或 Admin 角色成员。 -- 修改其他库或其他库下的数据分片或表:用户拥有目标对象的 CREATE 或 ZONECONFIG 权限。 +- 修改系统数据库或系统数据分片:用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 +- 修改其他库或其他库下的数据分片、表或分区:用户是 `admin` 角色的成员或者拥有目标对象的 CREATE 权限或 ZONECONFIG 权限。默认情况下,`root` 用户属于 `admin` 角色。。 ### 语法格式 @@ -134,7 +135,7 @@ ALTER [DATABASE | TABLE | RANGE | PART | `table_name` | 待修改的表名。| | `range_name` | 待修改的数据分片名,包括:
- `default`:默认副本设置
- `meta`:所有数据的位置信息
- `liveness`:给定时间活动节点的信息
- `system`:分配新表ID所需的信息以及追踪集群节点状态
- `timeseries`:集群监控数据| | `partition_name` | 待修改的表分区名。| -| `variable` | 待修改的变量名,关系库支持修改以下变量:
- `range_min_bytes`:数据分片的最小大小,单位为字节。数据分片小于该值时,KWDB 会将其与相邻数据分片合并。默认值:256 MiB,设置值应大于 1 MiB(1048576 字节),小于数据分片的最大大小。
- `range_max_bytes`:数据分片的最大大小,单位为字节。数据分片大于该值时,KWDB 会将其切分到两个数据分片。默认值: 512 MiB。设置值不得小于 5 MiB(5242880 字节)。
- `gc.ttlseconds`:数据在垃圾回收前保留的时间,单位为秒。默认值为 `90000`(25 小时)。设置值建议不小于 600 秒(10 分钟),以免影响长时间运行的查询。设置值较小时可以节省磁盘空间,设置值较大时会增加 `AS OF SYSTEM TIME` 查询的时间范围。另外,由于每行的所有版本都存储在一个永不拆分的单一数据分片内,不建议将该值设置得太大,以免单行的所有更改累计超过 64 MiB,导致内存不足或其他问题。
- `num_replicas`:副本数量。默认值为 3。`system` 数据库、`meta`、`liveness` 和 `system` 数据分片的默认副本数为 5。 **注意**:集群中存在不可用节点时,副本数量不可缩减。
- `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}'` 表示在 `node1`、`node2`、`node3` 上必须各放置 1 个副本。目前只支持 `region=nodex` 格式。
- `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=node1]]'` 表示倾向将主副本放置在 `node1`。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。列表中的每个值可以包含多个约束。

**注意**:
- 租约偏好不必与 `constraints` 字段共享,用户可以单独定义 `lease_preferences`
- 设置 `constraints` 时需要同步设置 `num_replicas`,且 `constraints` 数量需要小于等于 `num_replicas` 数量。`constraints` 中的顺序无影响 | +| `variable` | 待修改的变量名,关系库支持修改以下变量:
- `range_min_bytes`:数据分片的最小大小,单位为字节。数据分片小于该值时,KWDB 会将其与相邻数据分片合并。默认值:256 MiB,设置值应大于 1 MiB(1048576 字节),小于数据分片的最大大小。
- `range_max_bytes`:数据分片的最大大小,单位为字节。数据分片大于该值时,KWDB 会将其切分到两个数据分片。默认值: 512 MiB。设置值不得小于 5 MiB(5242880 字节)。
- `gc.ttlseconds`:数据在垃圾回收前保留的时间,单位为秒。默认值为 `90000`(25 小时)。设置值建议不小于 600 秒(10 分钟),以免影响长时间运行的查询。设置值较小时可以节省磁盘空间,设置值较大时会增加 `AS OF SYSTEM TIME` 查询的时间范围。另外,由于每行的所有版本都存储在一个永不拆分的单一数据分片内,不建议将该值设置得太大,以免单行的所有更改累计超过 64 MiB,导致内存不足或其他问题。
- `num_replicas`:副本数量。默认值为 3。`system` 数据库、`meta`、`liveness` 和 `system` 数据分片的默认副本数为 5。 **注意**:集群中存在不可用节点时,副本数量不可缩减。
- `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}'` 表示在节点 1、2 和 3 上必须各放置 1 个副本。目前只支持 `region=NODEx` 格式。
- `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=NODE1]]'` 表示倾向将主副本放置在节点 1。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。列表中的每个值可以包含多个约束。

**注意**:
- 租约偏好不必与 `constraints` 字段共享,用户可以单独定义 `lease_preferences`
- 设置 `constraints` 时需要同步设置 `num_replicas`,且 `constraints` 数量需要小于等于 `num_replicas` 数量。`constraints` 中的顺序无影响 | | `value` | 变量值。 | |`COPY FROM PARENT`| 使用父区域的设置值。| |`DISCARD` | 移除区域配置,采用默认值。| @@ -143,7 +144,7 @@ ALTER [DATABASE | TABLE | RANGE | PART - 修改数据库的区域配置 - 以下示例将 `db3` 数据库的副本数改为5个,将数据在垃圾回收前保留的时间改为100000秒。 + 以下示例将 `db3` 数据库的副本数改为 5 个,将数据在垃圾回收前保留的时间改为 100000 秒。 ```SQL > ALTER DATABASE db3 CONFIGURE ZONE USING num_replicas = 5, gc.ttlseconds = 100000; @@ -164,7 +165,7 @@ ALTER [DATABASE | TABLE | RANGE | PART - 修改表的区域配置 - 以下示例将 `orders` 表的副本数改为3个,将数据在垃圾回收前保留的时间改为100000秒。 + 以下示例将 `orders` 表的副本数改为 3 个,将数据在垃圾回收前保留的时间改为 100000 秒。 ```SQL > ALTER TABLE orders CONFIGURE ZONE USING num_replicas = 3, gc.ttlseconds = 100000; diff --git a/db-administration/db-object-mgmt/ts-db/column-mgmt-ts.md b/db-administration/db-object-mgmt/ts-db/column-mgmt-ts.md index 89e24e02d21c36a646d36a4ff3a0312d0f5a1d19..f8486f658ba654dc9848a1643014d238af666705 100644 --- a/db-administration/db-object-mgmt/ts-db/column-mgmt-ts.md +++ b/db-administration/db-object-mgmt/ts-db/column-mgmt-ts.md @@ -18,7 +18,7 @@ KWDB 支持使用 `ALTER TABLE ... ADD COLUMN` 语句添加列。`ADD COLUMN` ### 前提条件 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -136,7 +136,7 @@ KWDB 支持使用 `ALTER TABLE ... ALTER COLUMN` 语句修改列的数据类型 ### 前提条件 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -186,7 +186,7 @@ KWDB 支持使用 `ALTER TABLE ... RENAME COLUMN` 语句修改列名。 ### 前提条件 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -224,7 +224,7 @@ KWDB 支持使用 `ALTER TABLE ... DROP COLUMN` 语句删除列。`DROP COLUMN` ### 前提条件 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/db-administration/db-object-mgmt/ts-db/index-mgmt-ts.md b/db-administration/db-object-mgmt/ts-db/index-mgmt-ts.md index 0ce295d1417f63d3243e0d18751cb0580b3ea3f4..c7a6926a18c9b5e7a39b21bd27d7fa86f6bbf26f 100644 --- a/db-administration/db-object-mgmt/ts-db/index-mgmt-ts.md +++ b/db-administration/db-object-mgmt/ts-db/index-mgmt-ts.md @@ -115,6 +115,12 @@ SHOW INDEXES FROM temperature; ### 语法格式 +```sql +DROP INDEX .; +``` + +或 + ```sql DROP INDEX @; ``` @@ -123,6 +129,7 @@ DROP INDEX @; | 参数 | 说明 | | --- | --- | +| `database_name` | 待删除索引所在的数据库名。| | `table_name` | 待删除索引所在的表名。| | `index_name` | 待删除索引的名称。| diff --git a/db-administration/db-object-mgmt/ts-db/label-mgmt-ts.md b/db-administration/db-object-mgmt/ts-db/label-mgmt-ts.md index 4c9b00223c8977050118d7650942dc1e5d7c2a13..7964ef985f34ee5b2f5f2e6468a895cf796ed8fd 100644 --- a/db-administration/db-object-mgmt/ts-db/label-mgmt-ts.md +++ b/db-administration/db-object-mgmt/ts-db/label-mgmt-ts.md @@ -19,7 +19,7 @@ KWDB 支持在创建表时创建表的标签,也支持使用 `ALTER TABLE ... ### 前提条件 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -83,7 +83,7 @@ SHOW TAGS FROM sensor_data; ### 前提条件 -用户拥有目标表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -128,7 +128,7 @@ KWDB 支持使用 `ALTER TABLE ... ALTER TAG` 语句修改标签的数据类型 #### 前提条件 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 #### 语法格式 @@ -159,7 +159,7 @@ KWDB 支持使用 `ALTER TABLE ... RENAME TAG` 语句修改标签名称。 #### 前提条件 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 #### 语法格式 @@ -189,7 +189,7 @@ KWDB 支持通过 `UPDATE` 语句修改标签值。 #### 前提条件 -用户拥有目标表的 UPDATE 和 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 UPDATE 和 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 #### 语法格式 @@ -274,7 +274,7 @@ KWDB 支持使用 `ALTER TABLE ... DROP TAG` 语句删除标签。`DROP TAG` 为 ### 前提条件 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/db-administration/db-object-mgmt/ts-db/partition-mgmt-ts.md b/db-administration/db-object-mgmt/ts-db/partition-mgmt-ts.md index 17219966c135d01ab35274fb73bf32055e6edcd0..41dd1b365d3c11262136c5486b98a1a7ec8f09a1 100644 --- a/db-administration/db-object-mgmt/ts-db/partition-mgmt-ts.md +++ b/db-administration/db-object-mgmt/ts-db/partition-mgmt-ts.md @@ -34,7 +34,7 @@ id: partition-mgmt-ts ### 所需权限 -用户为 `admin` 角色成员或拥有目标表的 CREATE 权限,root 用户默认属于 `admin` 角色。 +用户是 `admin` 角色成员或拥有目标表的 CREATE 权限,`root` 用户默认属于 `admin` 角色。 ### 语法格式 @@ -49,8 +49,8 @@ id: partition-mgmt-ts ```SQL ALTER TABLE PARTITION BY HASHPOINT ( - PARTITION VALUES IN (), - PARTITION VALUES IN (), + PARTITION VALUES IN [], + PARTITION VALUES IN [], ... ); ``` @@ -60,8 +60,8 @@ id: partition-mgmt-ts ```SQL ALTER TABLE PARTITION BY HASHPOINT ( - PARTITION FROM () TO (), - PARTITION FROM () TO (), + PARTITION VALUES FROM () TO (), + PARTITION VALUES FROM () TO (), ... ); ``` @@ -84,9 +84,9 @@ id: partition-mgmt-ts -- 为订单表创建按指定哈希值的分区 ALTER TABLE orders PARTITION BY HASHPOINT ( - PARTITION p_region_1 VALUES IN (1, 3, 5, 7), - PARTITION p_region_2 VALUES IN (2, 4, 6, 8), - PARTITION p_region_3 VALUES IN (9, 10) + PARTITION p_region_1 VALUES IN [1, 3, 5, 7], + PARTITION p_region_2 VALUES IN [2, 4, 6, 8], + PARTITION p_region_3 VALUES IN [9, 10] ); ``` @@ -96,9 +96,9 @@ id: partition-mgmt-ts -- 为用户表创建按哈希值范围的分区 ALTER TABLE users PARTITION BY HASHPOINT ( - PARTITION p_low FROM (0) TO (100), - PARTITION p_medium FROM (100) TO (200), - PARTITION p_high FROM (200) TO (300) + PARTITION p_low VALUES FROM (0) TO (100), + PARTITION p_medium VALUES FROM (100) TO (200), + PARTITION p_high VALUES FROM (200) TO (300) ); ``` @@ -117,7 +117,7 @@ id: partition-mgmt-ts ### 所需权限 -用户为 `admin` 角色成员或拥有目标表的 CREATE 权限,root 用户默认属于 `admin` 角色。 +用户是 `admin` 角色成员或拥有目标表的 CREATE 权限,`root` 用户默认属于 `admin` 角色。 ### 语法格式 @@ -132,33 +132,33 @@ CONFIGURE ZONE [USING = , = , ... | DISCARD] | :--------------- | :----------------------------------------------------------- | | `partition_name` | 待修改的分区名称 | | `table_name` | 分区所在的表名 | -| `variable` | 支持修改以下变量:
• `num_replicas`:副本数量。默认值为 3
• `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}'` 表示在 `node1`、`node2`、`node3` 上必须各放置 1 个副本。目前只支持 `region=nodex` 格式
• `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=node1]]'` 表示倾向将主副本放置在 `node1`。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。列表中的每个值可以包含多个约束

**注意**:
• 租约偏好不必与 `constraints` 字段共享,用户可以单独定义 `lease_preferences`
• 设置 `constraints` 时需要同步设置 `num_replicas`,且 `constraints` 数量需要小于等于 `num_replicas` 数量。`constraints` 中的顺序无影响 | +| `variable` | 支持修改以下变量:
- `num_replicas`:副本数量。默认值为 3
- `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}'` 表示在节点 1、节点 2、节点 3 上必须各放置 1 个副本。目前只支持 `region=NODEx` 格式
- `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=NODE1]]'` 表示倾向将主副本放置在节点 1。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。列表中的每个值可以包含多个约束

**注意**:
- 租约偏好不必与 `constraints` 字段共享,用户可以单独定义 `lease_preferences`
- 设置 `constraints` 时需要同步设置 `num_replicas`,且 `constraints` 数量需要小于等于 `num_replicas` 数量。`constraints` 中的顺序无影响 | | `value` | 变量值,可以是具体的配置值,也可以是 `COPY FROM PARENT`,即使用父区域的设置值 | | `DISCARD` | 移除区域配置,采用默认值 | ### 语法示例 ```SQL --- 低哈希值分区:数据存储在所有节点,lease偏向node1 +-- 低哈希值分区:数据存储在所有节点,lease 偏向节点 1 ALTER PARTITION p_low OF TABLE users CONFIGURE ZONE USING num_replicas = 3, - constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}', - lease_preferences = '[[+region=node1]]'; + constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}', + lease_preferences = '[[+region=NODE1]]'; --- 中哈希值分区:数据存储在所有节点,lease偏向node2 +-- 中哈希值分区:数据存储在所有节点,lease 偏向节点 2 ALTER PARTITION p_medium OF TABLE users CONFIGURE ZONE USING num_replicas = 3, - constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}', - lease_preferences = '[[+region=node2]]'; + constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}', + lease_preferences = '[[+region=NODE2]]'; --- 高哈希值分区:数据存储在所有节点,lease偏向node3 +-- 高哈希值分区:数据存储在所有节点,lease 偏向节点 3 ALTER PARTITION p_high OF TABLE users CONFIGURE ZONE USING num_replicas = 3, - constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}', - lease_preferences = '[[+region=node3]]'; + constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}', + lease_preferences = '[[+region=NODE3]]'; -- 插入测试数据 INSERT INTO users (created_at, id, name, email, region) VALUES diff --git a/db-administration/db-object-mgmt/ts-db/range-mgmt-ts.md b/db-administration/db-object-mgmt/ts-db/range-mgmt-ts.md index 299c72246807d1a99adb8534d61e89e4aa508b00..866154bda451e32956b0a0b14520c6e3b02f06d3 100644 --- a/db-administration/db-object-mgmt/ts-db/range-mgmt-ts.md +++ b/db-administration/db-object-mgmt/ts-db/range-mgmt-ts.md @@ -5,6 +5,10 @@ id: range-mgmt-ts # 数据分片管理 +KWDB 将所有用户数据和几乎所有系统数据存储在排序的键值对映射中。这个键空间被划分为多个键空间中的连续块,即数据分片(range)。每个键始终可以在单个数据分片内找到。 从 SQL 的角度来看,时序表最初会映射到单个数据分片,数据分片中的每个键值对对应表中的一行。数据分片的大小达到 512 MiB后,系统会自动将其拆分为两个数据分片。随着表的增长,新生成的数据分片也会继续进行类似的拆分操作。当用户数据减少时,数据分片会自动合并。注意:由于 KWDB 采用标记删除的方式处理数据删除,数据分片不会立即合并,只有在垃圾回收过程中实际删除数据后,数据分片才会合并。 + +每个数据分片都隶属于一个特定的副本区域(zone)。集群在重新平衡数据分片时,会考虑副本区域的配置,以确保遵守所有约束条件。副本区域更多信息见[副本区域](./zone-mgmt-ts.md)。 + KWDB 支持用户使用 `SELECT * from kwdb_internal.ranges` 语句查看时序库、表的数据分片信息,使用 `ALTER RANGE` 语句修改、移除数据分片的区域配置或对数据分片进行手动均衡。 ## 修改数据分片 @@ -26,7 +30,7 @@ KWDB 支持用户使用 `SELECT * from kwdb_internal.ranges` 语句查看时序 ### 所需权限 -用户为 Admin 用户或者 Admin 角色成员。默认情况下,root 用户具有 Admin 角色。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -49,7 +53,7 @@ ALTER RANGE CONFIGURE ZONE [USING = [COPY FROM PARENT | - 修改系统数据分片的区域配置 - 以下示例将 `meta` 数据分片的副本数改为7个。 + 以下示例将 `meta` 数据分片的副本数改为 7 个。 ```SQL ALTER RANGE meta CONFIGURE ZONE USING num_replicas=7; diff --git a/db-administration/db-object-mgmt/ts-db/table-mgmt-ts.md b/db-administration/db-object-mgmt/ts-db/table-mgmt-ts.md index 0d58c7c636a456e0ee77786ec989e15fdb56d61e..00a4552d1e11cfa1c7aac78c7e915482dc147c17 100644 --- a/db-administration/db-object-mgmt/ts-db/table-mgmt-ts.md +++ b/db-administration/db-object-mgmt/ts-db/table-mgmt-ts.md @@ -11,7 +11,7 @@ id: table-mgmt-ts ### 前提条件 -用户拥有 DATABASE CREATE 权限。 +用户是 `admin` 角色的成员或者拥有数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -28,8 +28,10 @@ PRIMARY [TAGS|ATTRIBUTES] () ### 参数说明 :::warning 说明 + - 目前,时序表名、列名和标签名称不支持中文字符。 - 配置可选参数时,必须严格按照 `[RETENTIONS ] [DICT ENCODING] [COMMENT [=] <'comment_text'>] [WITH HASH()]` 的顺序,否则系统将会报错。 +- 3.0.0 版本中,表活跃时间和分区间隔的配置不会生效。 ::: | 参数 | 说明 | @@ -68,13 +70,16 @@ PRIMARY [TAGS|ATTRIBUTES] () table_name | create_statement --------------+----------------------------------------------------------------- sensor_data | CREATE TABLE sensor_data ( - | k_timestamp TIMESTAMPTZ NOT NULL, + | k_timestamp TIMESTAMPTZ(3) NOT NULL, | temperature FLOAT8 NOT NULL, | humidity FLOAT8 NULL, | pressure FLOAT8 NULL | ) TAGS ( | sensor_id INT4 NOT NULL, | sensor_type VARCHAR(30) NOT NULL ) PRIMARY TAGS(sensor_id) + | retentions 864000s + | activetime 1d + | partition interval 10d (1 row) ``` @@ -111,7 +116,6 @@ PRIMARY [TAGS|ATTRIBUTES] () ```sql CREATE TABLE device_info (create_time TIMESTAMPZ NOT NULL, device_id INT COMMENT 'device ID' NOT NULL, install_date TIMESTAMPZ, warranty_period INT2) TAGS (plant_code INT2 NOT NULL COMMENT = 'plant code', workshop VARCHAR(128) NOT NULL, device_type CHAR(1023) NOT NULL, manufacturer NCHAR(254) NOT NULL) PRIMARY TAGS(plant_code, workshop, device_type, manufacturer) COMMENT = 'table for device information'; - CREATE ``` - 创建时序表并设置 HASH 环大小。 @@ -209,7 +213,7 @@ SHOW TABLES [FROM ][.] [WITH COMMENT]; ### 前提条件 -用户拥有指定表的任何权限。 +用户拥有目标表的任何权限。 ### 语法格式 @@ -241,11 +245,13 @@ SHOW CREATE [TABLE] [.] ; table_name | create_statement -------------+---------------------------------------------- t3 | CREATE TABLE t3 ( - | ts TIMESTAMPTZ NOT NULL, + | ts TIMESTAMPTZ(3) NOT NULL, | a INT4 NULL | ) TAGS ( | ptag INT4 NOT NULL ) PRIMARY TAGS(ptag) | retentions 0s + | activetime 1d + | partition interval 30d (1 row) ``` @@ -268,7 +274,9 @@ SHOW CREATE [TABLE] [.] ; | ) TAGS ( | site INT4 NOT NULL ) PRIMARY TAGS(site) | retentions 0s - (1 row) + | activetime 1d + | partition interval 30d + (1 row) ``` ## 修改表 @@ -293,10 +301,9 @@ SHOW CREATE [TABLE] [.] ; ### 前提条件 -- 重命名表:用户拥有目标表的 DROP 权限及所在数据库的 CREATE 权限。 -- 其它修改表操作:用户拥有目标表的 CREATE 权限。 -- 修改表的区域配置:用户拥有目标表的 CREATE 权限或 ZONECONFIG 权限。 -- 创建表分区:用户拥有目标表的 CREATE 权限。 +- 重命名表:用户是 `admin` 角色的成员或者拥有目标表的 DROP 权限及所在数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 修改表的区域配置:用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限或 ZONECONFIG 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 其它修改表操作:用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -432,7 +439,7 @@ ALTER TABLE ts_table ALTER color TYPE VARCHAR(50); ### 前提条件 -用户拥有目标表的 DROP 权限。删除成功后,所有用户针对目标表的所有权限均被删除。 +用户是 `admin` 角色的成员或者拥有目标表的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。删除成功后,所有用户针对目标表的所有权限均被删除。 ### 语法格式 diff --git a/db-administration/db-object-mgmt/ts-db/zone-mgmt-ts.md b/db-administration/db-object-mgmt/ts-db/zone-mgmt-ts.md index 918e480b90e301dc8ce16cb72aa2de3a3e1dfd3f..e1cab137160e88e339fe6ce5a84dc0951523719b 100644 --- a/db-administration/db-object-mgmt/ts-db/zone-mgmt-ts.md +++ b/db-administration/db-object-mgmt/ts-db/zone-mgmt-ts.md @@ -5,8 +5,6 @@ id: zone-mgmt-ts # 区域配置管理 -KWDB 将所有用户数据和几乎所有系统数据存储在排序的键值对映射中。这个键空间被划分为多个键空间中的连续块,即数据分片(range)。每个键始终可以在单个数据分片内找到。 从 SQL 的角度来看,时序表最初会映射到单个数据分片,数据分片中的每个键值对对应表中的一行。数据分片的大小达到 512 MiB后,系统会自动将其拆分为两个数据分片。随着表的增长,新生成的数据分片也会继续进行类似的拆分操作。当用户数据减少时,数据分片会自动合并。注意:由于 KWDB 采用标记删除的方式处理数据删除,数据分片不会立即合并,只有在垃圾回收过程中实际删除数据后,数据分片才会合并。 - KWDB 集群中,每个数据分片都隶属于一个特定的副本区域(zone)。集群在重新平衡数据分片时,会考虑副本区域的配置,以确保遵守所有约束条件。 集群启动时,会自动生成预配置的副本区域和 `default` 副本区域。其中预配置的副本区域适用于内部系统数据,`default` 副本区域适用于集群中的其他数据。 @@ -21,10 +19,10 @@ KWDB 集群中,每个数据分片都隶属于一个特定的副本区域(zon ### 语法格式 -- 查看指定数据分片、数据库或表的副本区域信息 +- 查看指定数据分片、分区、数据库或表的副本区域信息 ```sql - SHOW ZONE CONFIGURATION FOR [RANGE range_name | DATABASE database_name | TABLE table_name]; + SHOW ZONE CONFIGURATION FOR [RANGE | DATABASE | TABLE | PARTITION OF TABLE ]; ``` - 查看所有副本区域信息 @@ -40,6 +38,7 @@ KWDB 集群中,每个数据分片都隶属于一个特定的副本区域(zon | `range_name` | 数据分片的名称,包括:
- `default`:默认副本设置
- `meta`:所有数据的位置信息
- `liveness`:给定时间活动节点的信息
- `system`:分配新表ID所需的信息以及追踪集群节点状态
- `timeseries`:集群监控数据 | | `database_name` | 数据库的名称。 | | `table_name` | 表的名称。 | +| `partition_name` | 分区的名称。 | ### 语法示例 @@ -57,10 +56,11 @@ KWDB 集群中,每个数据分片都隶属于一个特定的副本区域(zon target | raw_config_sql ----------------+------------------------------------------- RANGE default | ALTER RANGE default CONFIGURE ZONE USING - | range_min_bytes = 268435456, + | range_min_bytes = 134217728, | range_max_bytes = 536870912, | gc.ttlseconds = 90000, - | num_replicas = 3, + | num_replicas = 1, + | ts_merge.days = 240h0m0s, | constraints = '[]', | lease_preferences = '[]' (1 row) @@ -68,22 +68,23 @@ KWDB 集群中,每个数据分片都隶属于一个特定的副本区域(zon - 查看指定数据库的副本信息 - 以下示例查看 `db1` 数据库的副本区域信息。 + 以下示例查看 `d1` 数据库的副本区域信息。 ```sql - SHOW ZONE CONFIGURATION FOR DATABASE db1; + SHOW ZONE CONFIGURATION FOR DATABASE d1; ``` 执行成功后,控制台输出以下信息: ```sql - target | raw_config_sql - ---------------+------------------------------------------ - DATABASE db1 | ALTER DATABASE db1 CONFIGURE ZONE USING - | range_min_bytes = 1048576, - | range_max_bytes = 8388608, - | gc.ttlseconds = 100000, - | num_replicas = 5, + target | raw_config_sql + ----------------+------------------------------------------- + RANGE default | ALTER RANGE default CONFIGURE ZONE USING + | range_min_bytes = 134217728, + | range_max_bytes = 536870912, + | gc.ttlseconds = 90000, + | num_replicas = 1, + | ts_merge.days = 240h0m0s, | constraints = '[]', | lease_preferences = '[]' (1 row) @@ -103,28 +104,28 @@ KWDB 集群中,每个数据分片都隶属于一个特定的副本区域(zon target | raw_config_sql ----------------+------------------------------------------- RANGE default | ALTER RANGE default CONFIGURE ZONE USING - | range_min_bytes = 268435456, + | range_min_bytes = 134217728, | range_max_bytes = 536870912, | gc.ttlseconds = 90000, - | num_replicas = 3, + | num_replicas = 1, + | ts_merge.days = 240h0m0s, | constraints = '[]', | lease_preferences = '[]' (1 row) ``` - ## 修改区域配置 `ALTER ... CONFIGURE ZONE` 语句用于以下操作: -- 修改数据库、表、数据分片的区域配置 -- 移除数据库、表、数据分片的区域配置 +- 修改数据库、表、数据分片和分区的区域配置 +- 移除数据库、表、数据分片和分区的区域配置 - 对指定数据库、表或数据分片进行手动均衡 ### 所需权限 -- 修改系统数据库或系统数据分片:用户为 Admin 用户或 Admin 角色成员。 -- 修改其他库或其他库下的数据分片或表:用户拥有目标对象的 CREATE 权限或 ZONECONFIG 权限。 +- 修改系统数据库或系统数据分片:用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 +- 修改其他库或其他库下的数据分片、表或分区:用户是 `admin` 角色的成员或者拥有目标对象的 CREATE 权限或 ZONECONFIG 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -140,7 +141,7 @@ ALTER [DATABASE | TABLE | RANGE | PART | `database_name` | 待修改的数据库名称。| | `table_name` | 待修改的表名称。| | `partition_name` | 待修改的表分区名。| -| `variable` | 要修改的变量名,时序库支持修改以下变量:
- `range_min_bytes`:数据分片的最小大小,单位为字节。数据分片小于该值时,KWDB 会将其与相邻数据分片合并。默认值:256 MiB,设置值应大于 1 MiB(1048576 字节),小于数据分片的最大大小。
- `range_max_bytes`:数据分片的最大大小,单位为字节。数据分片大于该值时,KWDB 会将其切分到两个数据分片。默认值: 512 MiB。设置值不得小于 5 MiB(5242880 字节)。
- `gc.ttlseconds`:数据在垃圾回收前保留的时间,单位为秒。默认值为 `90000`(25 小时)。设置值建议不小于 600 秒(10 分钟),以免影响长时间运行的查询。设置值较小时可以节省磁盘空间,设置值较大时会增加 `AS OF SYSTEM TIME` 查询的时间范围。另外,由于每行的所有版本都存储在一个永不拆分的单一数据分片内,不建议将该值设置得太大,以免单行的所有更改累计超过 64 MiB,导致内存不足或其他问题。
- `num_replicas`:副本数量。默认值为 3。`system` 数据库、`meta`、`liveness` 和 `system` 数据分片的默认副本数为 5。 **注意**:集群中存在不可用节点时,副本数量不可缩减。
- `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}'` 表示在 `node1`、`node2`、`node3` 上必须各放置 1 个副本。目前只支持 `region=nodex` 格式。
- `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=node1]]'` 表示倾向将主副本放置在 `node1`。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。列表中的每个值可以包含多个约束。
- `ts_merge.days`:时序数据分片合并时间。同一个时序表同哈希点按照时间戳分裂后,超过该时间的数据分片将自动合并,且合并后不会再自动拆分。默认值:10(10天)。设置值必须大于等于 0,设置值为 0 时表示时序数据分片按照时间戳分裂后便立刻自动合并。系统数据分片数量过多导致出现网络等故障时可以将该值适当调小,以缓解数据过大的问题。

**提示**:
- 租约偏好不必与 `constraints` 字段共享,用户可以单独定义 `lease_preferences`。
- 设置 `constraints` 时需要同步设置 `num_replicas`,且 `constraints` 数量需要小于等于 `num_replicas` 数量。`constraints` 中的顺序无影响。
- KWDB 默认只根据哈希点拆分数据分片,因此数据分片按时间合并功能默认关闭,如需支持按时间合并数据分片,需将 `kv.kvserver.ts_split_interval` 实时参数设置为 `1`, 将 `kv.kvserver.ts_split_by_timestamp.enabled` 实时参数设置为 `true` 以支持按照哈希点和时间戳拆分数据分片。 | +| `variable` | 要修改的变量名,时序库支持修改以下变量:
- `range_min_bytes`:数据分片的最小大小,单位为字节。数据分片小于该值时,KWDB 会将其与相邻数据分片合并。默认值:256 MiB,设置值应大于 1 MiB(1048576 字节),小于数据分片的最大大小。
- `range_max_bytes`:数据分片的最大大小,单位为字节。数据分片大于该值时,KWDB 会将其切分到两个数据分片。默认值: 512 MiB。设置值不得小于 5 MiB(5242880 字节)。
- `gc.ttlseconds`:数据在垃圾回收前保留的时间,单位为秒。默认值为 `90000`(25 小时)。设置值建议不小于 600 秒(10 分钟),以免影响长时间运行的查询。设置值较小时可以节省磁盘空间,设置值较大时会增加 `AS OF SYSTEM TIME` 查询的时间范围。另外,由于每行的所有版本都存储在一个永不拆分的单一数据分片内,不建议将该值设置得太大,以免单行的所有更改累计超过 64 MiB,导致内存不足或其他问题。
- `num_replicas`:副本数量。默认值为 3。`system` 数据库、`meta`、`liveness` 和 `system` 数据分片的默认副本数为 5。 **注意**:集群中存在不可用节点时,副本数量不可缩减。
- `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}'` 表示在节点 1、2 和 3 上必须各放置 1 个副本。目前只支持 `region=NODEx` 格式
- `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=NODE1]]'` 表示倾向将主副本放置在节点 1。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。列表中的每个值可以包含多个约束。
- `ts_merge.days`:时序数据分片合并时间。同一个时序表同哈希点按照时间戳分裂后,超过该时间的数据分片将自动合并,且合并后不会再自动拆分。默认值:10(10天)。设置值必须大于等于 0,设置值为 0 时表示时序数据分片按照时间戳分裂后便立刻自动合并。系统数据分片数量过多导致出现网络等故障时可以将该值适当调小,以缓解数据过大的问题。

**提示**:
- 租约偏好不必与 `constraints` 字段共享,用户可以单独定义 `lease_preferences`。
- 设置 `constraints` 时需要同步设置 `num_replicas`,且 `constraints` 数量需要小于等于 `num_replicas` 数量。`constraints` 中的顺序无影响。
- KWDB 默认只根据哈希点拆分数据分片,因此数据分片按时间合并功能默认关闭,如需支持按时间合并数据分片,需将 `kv.kvserver.ts_split_interval` 实时参数设置为 `1`, 将 `kv.kvserver.ts_split_by_timestamp.enabled` 实时参数设置为 `true` 以支持按照哈希点和时间戳拆分数据分片。 | | `value` | 变量值。 | |`COPY FROM PARENT`| 使用父区域的设置值。| |`USING REBALANCE` | 手动触发数据分片的区域重新分配和负载均衡。

适用于以下场景:
- 关闭自动均衡后的主动调优
- 负载不均时的人工干预

KWDB 默认自动执行后台数据分片均衡,用户通过 `SET CLUSTER SETTING kv.allocator.ts_consider_rebalance.enabled = false;` 关闭自动均衡功能后,可在系统低负载时段进行手动均衡。

注意:
- 该功能仅适用于用户数据分片,不适用于系统数据分片
- 建议在业务低峰期执行,避免影响正常业务性能。 | @@ -150,28 +151,28 @@ ALTER [DATABASE | TABLE | RANGE | PART - 修改数据库的区域配置 - 以下示例将 `vtx` 数据库的副本数改为5个,将数据在垃圾回收前保留的时间改为100000秒。 + 以下示例将 `vtx` 数据库的副本数改为 5 个,将数据在垃圾回收前保留的时间改为 100000 秒。 ```SQL > ALTER DATABASE vtx CONFIGURE ZONE USING num_replicas = 5, gc.ttlseconds = 100000; CONFIGURE ZONE 1 > SHOW ZONE CONFIGURATION FOR DATABASE vtx; - zone_name | config_sql - +-----------+-----------------------------------------+ - vtx | ALTER DATABASE vtx CONFIGURE ZONE USING - | range_min_bytes = 268435456, - | range_max_bytes = 536870912, - | gc.ttlseconds = 100000, - | num_replicas = 5, - | constraints = '[]', - | lease_preferences = '[]' - (6 rows) + target | raw_config_sql + ----------------+------------------------------------------- + DATABASE vtx | ALTER DATABASE tsdb CONFIGURE ZONE USING + | range_min_bytes = 134217728, + | range_max_bytes = 536870912, + | gc.ttlseconds = 100000, + | num_replicas = 5, + | constraints = '[]', + | lease_preferences = '[]' + (1 row) ``` - 修改表的区域配置 - 以下示例将 `vehicles` 表的副本数改为3个,将数据在垃圾回收前保留的时间改为100000秒。 + 以下示例将 `vehicles` 表的副本数改为 3 个,将数据在垃圾回收前保留的时间改为 100000 秒。 ```SQL > ALTER TABLE vehicles CONFIGURE ZONE USING num_replicas = 3, gc.ttlseconds = 100000; @@ -216,6 +217,5 @@ ALTER [DATABASE | TABLE | RANGE | PART 以下示例将时序表 `sensor` 的数据分片进行了手动均衡。 ```SQL - > ALTER TABLE sensor CONFIGURE ZONE USING REBALANCE; - ALTER TABLE + ALTER TABLE sensor CONFIGURE ZONE USING REBALANCE; ``` \ No newline at end of file diff --git a/db-administration/user-mgmt.md b/db-administration/user-mgmt.md index e0f5bd8f6028583ff614b0210f0409803619e21c..c8dd44ef7f7ec60176439c59bb6621ea5ed0fe6e 100644 --- a/db-administration/user-mgmt.md +++ b/db-administration/user-mgmt.md @@ -172,7 +172,7 @@ SHOW USERS; ### 前提条件 -用户拥有 Admin(ALL)权限或者具有创建角色(CREATEROLE)的权限。 +用户具备创建角色(CREATEROLE)的权限或者是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/db-operation/backup-and-restore.md b/db-operation/backup-and-restore.md index dd7554d0418cababe73d0c0e78b487edb1b0cb1c..d0140a949c54df4fca38bcf1e7ad223951d0b2da 100644 --- a/db-operation/backup-and-restore.md +++ b/db-operation/backup-and-restore.md @@ -40,7 +40,7 @@ KWDB 采用**双文件轮转策略**实现高效的 WAL 文件管理: | `ts.wal.wal_level` | WAL(Write-Ahead Log)写入级别,控制数据持久化策略:
- `0` (`off`):关闭 WAL,重启时通过时序存储引擎接口恢复数据状态
- `1` (`sync`):日志实时写入磁盘并强制持久化,提供最高安全性,性能相对较低
- `2` (`flush`):日志写入文件系统缓冲区,在性能和安全性间取得平衡
- `3` (`byrl`):基于 Raft Log 保证数据一致性,WAL 仅负责元数据一致性 | `1` | | `ts.wal.checkpoint_interval` | 检查点执行间隔,控制时序数据从内存持久化到磁盘的频率 | `1m` | -::: warning 重要说明 +::: warning 说明 - 支持从 `2` (`flush`) 或 `1` (`sync`) 动态切换到 `0` (`off`) / `3` (`byrl`),切换过程会产生短暂阻塞,阻塞时长取决于当前检查点的执行时间 - 实例级别的 DDL 操作不受 `ts.wal.wal_level` 影响,始终启用 WAL 并实时持久化 ::: diff --git a/db-operation/cluster-ha.md b/db-operation/cluster-ha.md index 1bbb24a7db4de7556f248f114ab6e0f129239fb3..a19963175b112cec34e3570b15d0f7992adf3ac8 100644 --- a/db-operation/cluster-ha.md +++ b/db-operation/cluster-ha.md @@ -50,7 +50,11 @@ KWDB 集群启动后,分片副本均匀分布在所有节点上,确保数据 用户也可通过相关参数关闭副本自动补足功能,在系统负载较低时重新启用。 -::: warning 提示 如果之前通过 CONFIGURE ZONE 语句设置了副本约束,且约束规则中包含异常节点,可能会影响副本补足功能的正常运行。此时需要重新配置约束规则,将异常节点从规则中移除,副本补足功能即可恢复正常。 ::: +::: warning 提示 + +如果之前通过 CONFIGURE ZONE 语句设置了副本约束,且约束规则中包含异常节点,可能会影响副本补足功能的正常运行。此时需要重新配置约束规则,将异常节点从规则中移除,副本补足功能即可恢复正常。 + +::: img diff --git a/db-operation/cluster-scale.md b/db-operation/cluster-scale.md index 5a8296bc4a00df9ec7739f470673db54aee05a8f..1d1f137ff03cf8fc8ad2e0efaf719d7d8eb06cbe 100644 --- a/db-operation/cluster-scale.md +++ b/db-operation/cluster-scale.md @@ -6,17 +6,16 @@ id: cluster-scale ## 集群扩容 -::: warning 说明 - -- 扩容集群时,如果集群中的节点数量少于许可证限制的节点数量时,用户可以正常扩容集群。否则,禁止用户扩容集群。 -- 集群执行扩容期间,可能会出现短暂的数据查询不完整情况,操作完成后,系统将自动同步并确保数据查询的完整性和准确性。 -::: - KWDB 多副本集群和单副本集群均支持集群扩容操作。 - 多副本集群扩容后,系统默认自动触发数据重新分布,具体操作信息,参见[多副本集群扩容](#多副本集群扩容)。 - 单副本集群扩容后,系统不会对已有数据进行重新分布,只会在新建表后进行数据均衡,具体操作信息,参见[单副本集群扩容](#单副本集群扩容)。 +::: warning 说明 + +集群执行扩容期间,可能会出现短暂的数据查询不完整情况,操作完成后,系统将自动同步并确保数据查询的完整性和准确性。 +::: + ### 多副本集群扩容 KWDB 多副本集群扩容操作简单,只需将新节点加入现有集群即可。集群默认会自动完成数据重分布。用户也可通过 `kv.allocator.ts_consider_rebalance.enabled` 参数关闭自动重分布功能,选择在系统负载较低时重新启用该参数进行数据重分布,或使用 `ALTER ... CONFIGURE ZONE` 命令对指定表、库或数据分片进行手动均衡。 @@ -89,7 +88,7 @@ KWDB 多副本集群扩容操作简单,只需将新节点加入现有集群即 参数说明: - - `kwbase_path`:kwbase二进制文件所在目录,裸机部署默认目录为 `/usr/local/kaiwudb/bin`, 容器部署默认目录为 `/kaiwudb/bin`。 + - `kwbase_path`:kwbase 二进制文件所在目录,裸机部署默认目录为 `/usr/local/kaiwudb/bin`, 容器部署默认目录为 `/kaiwudb/bin`。 - `cert_path`:证书目录,默认存储位置为 `/etc/kaiwudb/certs`。 - `--host=`:可选参数,用于指定执行命令的节点,该节点必须为健康节点,地址格式为 `:`, 不指定时默认使用 `127.0.0.1:26257`。 diff --git a/db-operation/cluster-settings-config.md b/db-operation/cluster-settings-config.md index 37416f8f6dcba2e55a901cd8ea6344d0a22f886a..2034108e66055335e15f246f1b1548e7e6a53dfc 100644 --- a/db-operation/cluster-settings-config.md +++ b/db-operation/cluster-settings-config.md @@ -40,6 +40,7 @@ id: cluster-settings-config | 参数 | 描述 | | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `--advertise-addr` | 节点使用的 IP 地址或主机名,与其他节点通过该地址进行通信。如果是主机名,则要求能正常解析地址。如果是 IP 地址,则要求能正常访问 IP 地址。对于 IPv6,使用 `[...]` 表示法,例如:`[::1]` 或 `[fe80::f6f2:::]`。
参数的效果取决于与 `--listen-addr` 参数的组合使用。例如,如果端口号与`--listen-addr` 参数中使用的端口号不同,则需要端口转发。
默认值:`--listen-addr` 参数的取值。如未指定 `--listen-addr` 参数,默认主机名和端口为:`canonical hostname`(`/etc/host` 第二列)和 `26257`。 | +| `--brpc-addr` | 指定时序引擎间的 brpc 通信地址,格式为 `:` 或 `:`:
- 必须包含端口号,否则系统会报错 `failed to start server: --brpc-addr's port not specified`。
- IP 地址可省略,若未指定,系统将依次使用 `--advertise-addr` 或 `--listen-addr` 的 IP。
**说明**
`--advertise-addr` 与 `--brpc-addr` 均为节点间通信地址,因此需确保各节点间网络互通。推荐使用 `--brpc-addr=:` 格式,由系统自动获取 IP 地址。| | `--listen-addr` | 侦听来自其他节点和客户端连接的 IP 地址/主机名和端口。IPv6 地址使用 `[...]` 表示法,例如:`[::1]` 或 `[fe80::f6f2:::]`。参数的效果取决于与 `--advertise-addr` 参数的组合使用。
默认值:侦听所有 IP 地址,端口为 `26257`。如未指定 `--advertise-addr` 参数,使用 `canonical hostname` 与其他节点进行通信。 | | `--http-addr` | 对外开放的 Admin 界面的 IP 地址或主机名。IPv6 地址使用 `[...]` 表示法,例如:`[::1]:8080` 或 `[fe80::f6f2:::]:8080`。
默认值:与 `--listen-addr` 参数一致,端口为 `8080`。 | | `--join`
`-j` | 节点连接集群的地址。初始化时,需要指定集群 3-5 个节点的地址和端口,然后执行 `kwbase init` 命令启动集群。如未指定该参数时,则启动一个单节点集群。此时,无需执行 `kwbase init` 命令。如需向已有集群添加新节点,支持使用该参数指定集群 3-5 个节点的地址和端口。| @@ -84,6 +85,14 @@ id: cluster-settings-config ### 启动参数配置 +启动参数支持以下配置方式: + +- 修改裸机部署的 `kaiwudb_env` 文件 +- 修改容器部署的 `docker-compose.yml` 文件 +- 使用 `kwbase start` 命令 + +本节介绍如何通过`kaiwudb_env` 或`docker-compose.yml` 文件修改启动参数配置,`kwbase start` 命令相关信息,参见[kwbase start](../tool-command-reference/client-tool/kwbase-sql-reference.md)。 + ::: warning 提示 启动参数是节点级别的配置。如需修改整个集群的配置,需要登录到集群中的每个节点并完成相应的参数配置。 ::: @@ -147,7 +156,7 @@ KWDB 支持通过 `SET CLUSTER SETTING` 语句修改集群设置,设置后立 ::: warning 注意 - 一些集群参数的设置会影响 KWDB 的内部运行机制。修改参数设置前,强烈建议明确使用 KWDB 的目的,以免因修改设置带来风险。 -- 只有 Admin 用户可以更改集群参数设置。 +- 只有 `admin` 角色成员可以更改集群参数设置。 ::: diff --git a/db-operation/db-upgrade.md b/db-operation/db-upgrade.md index eb5db732cb0fad5f965f8604ef051e7e95279041..10d9e0747a289fea8ea72c6a9c3dce29280448a7 100644 --- a/db-operation/db-upgrade.md +++ b/db-operation/db-upgrade.md @@ -67,7 +67,7 @@ id: db-upgrade 4. 修改 `docker-compose.yml` 文件,更新镜像版本。 -5. 启动新版本 KaiwuDB。 +5. 启动新版本 KWDB。 ```bash docker-compose up diff --git a/db-operation/error-code/error-code-overview.md b/db-operation/error-code/error-code-overview.md index f54efdce2dc557bb4f455e0bfde3d7ba139ea498..b4d29913ff27bb002c26b3ef4f34ad2b65851408 100644 --- a/db-operation/error-code/error-code-overview.md +++ b/db-operation/error-code/error-code-overview.md @@ -5,7 +5,7 @@ id: error-code-overview # 错误码概述 -当用户使用 KaiwuDB JDBC 连接器连接 KWDB 数据库失败时,或者用户连接 KWDB 数据库后,SQL 语句执行失败,KWDB 会返回相应的错误码信息。目前 KWDB 支持以下三种类型的错误码: +当用户使用 KaiwuDB JDBC 连接器连接 KWDB 数据库失败时,或者用户连接 KWDB 数据库后,SQL 语句执行失败,KWDB 会返回相应的错误码信息。目前 KWDB 支持以下类型的错误码: - [KWDB 专有错误码](./error-code-kaiwudb.md):以 `KW` 开头,由 `5` 位字符组成。 - [PostgreSQL 错误码](./error-code-postgresql.md):KWDB 兼容 PostgreSQL 错误码。PostgreSQL 错误码也由 `5` 位字符组成。 @@ -13,7 +13,7 @@ id: error-code-overview - [时序函数错误码](./error-code-ts-functions.md):与 KWDB 时序函数相关的错误码,由 `5` 位字符组成。 - [触发器错误码](./error-code-trigger.md):与异构数据库访问相关的错误码,由 `5` 位字符组成。 -这三类错误码包含以下信息: +错误码包含以下信息: - 错误码:错误对应的编码。通常情况下,一组有规律的错误码属于同一种错误类型。例如,数据库连接错误相关的错误码范围是 **KW001-KW015**。 - 错误消息:错误码对应的消息,提示错误的具体内容。 diff --git a/db-operation/storage-mgmt.md b/db-operation/storage-mgmt.md index b8d3128d146a08f3d16019b8f5f8f61844c241b3..7a17d47b550c5d4359040276a6f3a98d536692d5 100644 --- a/db-operation/storage-mgmt.md +++ b/db-operation/storage-mgmt.md @@ -5,21 +5,30 @@ id: storage-mgmt # 存储管理 -KWDB 支持在安装时通过修改 `deploy.cfg` 文件中的 `data_root` 参数自定义数据路径。部署完成后,用户也可以修改部署生成的 `kaiwudb_env` 文件或 `docker-compose.yml` 文件中的存储路径。更多配置信息,参见[集群参数配置](./cluster-settings-config.md)。 +## 存储路径设置 + +### 默认存储路径和系统要求 + +下表列出了 KWDB 各类文件的默认存储路径、文件系统和配置信息。 + +|
文件
| 默认路径 | 大小 | 文件系统 | 配置参数 | +| ---------- | ---------------------- | ------------------ | ---------------------------------------------------------- | ----------- | +| 数据文件 | `/var/lib/kaiwudb` | 取决于存储数据的大小 | - 建议使用 ext4 文件系统。
- 如果存储大于 16 TB 的数据,建议使用 XFS 系统。 | - 部署配置文件中的 `data_root` 参数
- `--store` 启动参数 | +| 日志 | `/var/lib/kaiwudb/logs` | 默认 1G,可配置 | 建议使用 ext4 文件系统。 | `--log-dir` 启动参数 | +| 证书 | `/etc/kaiwudb/certs` | N/A | 建议使用 ext4 文件系统。 | `--certs-dir` 启动参数 | +| 二进制文件 | `/usr/local/kaiwudb/bin` | > 200 M | 建议使用 ext4 文件系统。 | N/A | +| 动态库文件 | `/usr/local/kaiwudb/lib` | > 100 M | 建议使用 ext4 文件系统。 | N/A | ::: warning 说明 如果采用 Docker 容器部署,则使用宿主机路径,系统自动进行挂载。 ::: -下表列出 KWDB 各类文件的存储路径、文件系统和配置信息。 +### 存储路径设置 -| 文件 | 默认路径 | 大小 | 文件系统 | 配置参数 | -| ---------- | ---------------------- | ------------------ | ---------------------------------------------------------- | ----------- | -| 数据文件 | `/var/lib/kaiwudb` | 取决于存储数据的大小 | 建议使用 ext4 文件系统。如果存储大于 16 TB 的数据,建议使用 XFS 系统。 | `--store` | -| 日志 | `/var/lib/kaiwudb/logs` | 默认 1G,可配置 | 建议使用 ext4 文件系统。 | `--log-dir` | -| 证书 | `/etc/kaiwudb/certs` | N/A | 建议使用 ext4 文件系统。 | `--certs-dir` | -| 二进制文件 | `/usr/local/kaiwudb/bin` | > 200 M | 建议使用 ext4 文件系统。 | - | -| 动态库文件 | `/usr/local/kaiwudb/lib` | > 100 M | 建议使用 ext4 文件系统。 | - | +KWDB 支持以下存储路径设置方式: + +- 安装时通过修改 `deploy.cfg` 文件中的 `data_root` 参数自定义数据路径。 +- 部署完成后,用户也可以通过修改部署生成的 `kaiwudb_env` 文件、 `docker-compose.yml` 文件或 `kwbase start` 命令修改存储路径。 ## 时序数据重组 @@ -48,4 +57,4 @@ KWDB 支持在安装时通过修改 `deploy.cfg` 文件中的 `data_root` 参数 ### 重组配置 -在 KaiwuDB 中,数据重组功能默认启用,用户可以通过 `ts.auto_vacuum.enabled` 实时参数选择是否启用或禁用该功能。有关详细信息,参见[集群实时参数](./cluster-settings-config.md#实时参数)。 \ No newline at end of file +在 KWDB 中,数据重组功能默认启用,用户可以通过 `ts.auto_vacuum.enabled` 实时参数选择是否启用或禁用该功能。有关详细信息,参见[集群实时参数](./cluster-settings-config.md#实时参数)。 \ No newline at end of file diff --git a/db-security/user-role-mgmt.md b/db-security/user-role-mgmt.md index 0a782a80fd9847d4798f83db77241eefa53daca1..9a3113be2b29dd9def4c8a32d20612aaf49022cf 100644 --- a/db-security/user-role-mgmt.md +++ b/db-security/user-role-mgmt.md @@ -326,7 +326,7 @@ GRANT TO [WITH ADMIN OPTION]; ::: warning 说明 -KWDB 不支持将 `root` 用户从 Admin 角色中删除。 +KWDB 不支持将 `root` 用户从 `admin` 角色中删除。 ::: diff --git a/deployment/cluster-deployment/docker-deployment.md b/deployment/cluster-deployment/docker-deployment.md index 6876882ae60cfcd95e0e90b626c533396bd850b7..a9048c57c7c53a91c2a15110d162362f9803d0d8 100644 --- a/deployment/cluster-deployment/docker-deployment.md +++ b/deployment/cluster-deployment/docker-deployment.md @@ -22,7 +22,7 @@ id: docker-deployment ::: warning 提示 - 如果采用跨机器安全模式部署,需要使用 `./kwbase cert create-node ` 命令为所有节点创建证书和密钥,并将 CA 证书和密钥、节点证书和密钥传输至所有节点;如果需要在其它节点上运行 KaiwuDB 客户端命令,还需要将 `root` 用户的证书和密钥复制到该节点。只有拥有 `root` 用户证书和密钥的节点,才能够访问集群。 + 如果采用跨机器安全模式部署,需要使用 `./kwbase cert create-node ` 命令为所有节点创建证书和密钥,并将 CA 证书和密钥、节点证书和密钥传输至所有节点;如果需要在其它节点上运行 KWDB 客户端命令,还需要将 `root` 用户的证书和密钥复制到该节点。只有拥有 `root` 用户证书和密钥的节点,才能够访问集群。 ::: @@ -43,9 +43,9 @@ id: docker-deployment - `-w /kaiwudb/bin`:将容器内的工作目录设置为 `/kaiwudb/bin`。 - `kwdb_image`:容器镜像,需填入实际的镜像名以及标签, 例如 `kwdb:2.2.0`。 - `bash -c`:在容器中执行后面的证书创建命令, 其中: - - `./kwbase cert create-ca`: 创建证书颁发机构(CA),生成 CA 证书和密钥。 - - `./kwbase cert create-client root`: 为 `root` 用户创建客户端证书和密钥。 - - `./kwbase cert create-node 127.0.0.1 localhost 0.0.0.0`: 创建节点服务器证书和密钥,支持通过三种网络标识符访问:本地回环地址 (`127.0.0.1`)、本地主机名 (`localhost`) 和所有网络接口 (`0.0.0.0`)。 + - `./kwbase cert create-ca`:创建证书颁发机构(CA),生成 CA 证书和密钥。 + - `./kwbase cert create-client root`:为 `root` 用户创建客户端证书和密钥。 + - `./kwbase cert create-node 127.0.0.1 localhost 0.0.0.0`:创建节点服务器证书和密钥,支持通过三种网络标识符访问:本地回环地址 (`127.0.0.1`)、本地主机名 (`localhost`) 和所有网络接口 (`0.0.0.0`)。 - 所有命令均使用 `--certs-dir=` 指定证书存储目录,使用 `--ca-key=/ca.key` 指定 CA 密钥路径。 2. 启动三个及以上数据库实例。 @@ -152,7 +152,7 @@ id: docker-deployment - `--ipc shareable`:允许其他容器共享此容器的IPC命名空间。 - `-w /kaiwudb/bin`:将容器内的工作目录设置为 `/kaiwudb/bin`。 - `kwdb_image`:容器镜像变量,需替换为实际的镜像名称及标签, 例如 `kwdb:2.2.0`。 - - `./kwbase start`: 容器内运行的数据库启动命令, 根据安全模式和非安全模式有所不同: + - `./kwbase start`:容器内运行的数据库启动命令, 根据安全模式和非安全模式有所不同: - `--insecure`:(仅非安全模式)以非安全模式运行。 - `--certs-dir=`:(安全模式)证书目录位置。 - `--listen-addr=0.0.0.0:26257`:数据库监听的地址和端口。 diff --git a/deployment/cluster-deployment/script-deployment.md b/deployment/cluster-deployment/script-deployment.md index 0598f1e70cb5c3542d530be6d42bde30eeb1ce69..fe0ea9cb0ed4e8c81f0c16821e33be9462738930 100644 --- a/deployment/cluster-deployment/script-deployment.md +++ b/deployment/cluster-deployment/script-deployment.md @@ -58,7 +58,7 @@ id: script-deployment - `kaiwudb_port`:KWDB 服务端口,默认为 `26257`。 - `brpc_port`:KWDB 时序引擎间的 brpc 通信端口,用于节点间通信,默认为 `27257`。 - `data_root`:数据目录,默认为 `/var/lib/kaiwudb`。 - - `cpu`: 可选参数,用于指定 KWDB 服务占用当前节点服务器 CPU 资源的比例,默认无限制。取值范围为 `[0,1]`,最大精度为小数点后两位。KWDB 支持调整 CPU 资源占用率。更多信息,参见[配置裸机部署集群](../cluster-config/cluster-config-bare-metal.md)或[配置容器部署集群](../cluster-config/cluster-config-docker.md) 。**注意**:如果部署环境为 Ubuntu 18.04 版本,在裸机部署集群完成后,需要将 `kaiwudb.service` 文件中的 `CPUQuota` 修改为整型值,例如,将 `180.0%` 修改为 `180%`,以确保设置生效。具体操作步骤,参见[配置 CPU 资源占用率](../cluster-config/cluster-config-bare-metal.md#配置-cpu-资源占用率)。 + - `cpu`:可选参数,用于指定 KWDB 服务占用当前节点服务器 CPU 资源的比例,默认无限制。取值范围为 `[0,1]`,最大精度为小数点后两位。KWDB 支持调整 CPU 资源占用率。更多信息,参见[配置裸机部署集群](../cluster-config/cluster-config-bare-metal.md)或[配置容器部署集群](../cluster-config/cluster-config-docker.md) 。**注意**:如果部署环境为 Ubuntu 18.04 版本,在裸机部署集群完成后,需要将 `kaiwudb.service` 文件中的 `CPUQuota` 修改为整型值,例如,将 `180.0%` 修改为 `180%`,以确保设置生效。具体操作步骤,参见[配置 CPU 资源占用率](../cluster-config/cluster-config-bare-metal.md#配置-cpu-资源占用率)。 - `local`:本地节点配置 - `local_node_ip`:本地节点对外提供服务的 IP 地址,监听地址为 `0.0.0.0`,端口为 KWDB 服务端口。 - `cluster`:集群内其他节点的配置 @@ -130,7 +130,7 @@ id: script-deployment | `build` | 节点的 KWDB 版本 | | `started_at` | 节点启动的日期和时间。 | | `updated_at` | 节点更新命令结果的日期和时间。节点正常时,每 10 秒左右记录一次新状态。节点不正常时,此命令的统计信息可能会较旧。 | - | `locality` | 节点机器的地理位置,例如国家、数据中心或机架等。 | + | `locality` | 节点 ID。 | | `start_mode` | 节点启动模式。 | | `is_available`
`is_live` | 如果均为 `true`,表示节点为存活状态。
如果均为 `false`,表示节点为异常状态。 | diff --git a/deployment/prepare/before-deploy-bare-metal.md b/deployment/prepare/before-deploy-bare-metal.md index 83183f80c0fea019c5b2c147ccde712ff003edb7..de3aff168264edacfa67af062c3f7a4461ac4f98 100644 --- a/deployment/prepare/before-deploy-bare-metal.md +++ b/deployment/prepare/before-deploy-bare-metal.md @@ -78,7 +78,7 @@ KWDB 支持在以下服务器操作系统进行安装部署。 目前 KWDB 开源仓库提供了以下系统与架构的 [DEB 或 RPM 安装包](https://gitee.com/kwdb/kwdb/releases/),如需其它系统或架构的安装包,请联系 [KWDB 技术支持](https://www.kaiwudb.com/support/): - Ubuntu V20.04 x86_64 -- Ubuntu V22.04 x86_64 +- Ubuntu V20.04 ARM_64 - Kylin V10_2403 x86_64 - Kylin V10_2403 ARM_64 diff --git a/development/connect-kaiwudb/c-plus-plus/connect-odbc.md b/development/connect-kaiwudb/c-plus-plus/connect-odbc.md index 3b4522046212dca3cce66b2d605935e3147ca1ce..dde6c9b12503ec92798a0b187ab37e315f61df61 100644 --- a/development/connect-kaiwudb/c-plus-plus/connect-odbc.md +++ b/development/connect-kaiwudb/c-plus-plus/connect-odbc.md @@ -613,7 +613,7 @@ int main() { 时序引擎默认开启写入短接功能。PostgreSQL ODBC 也支持通过 `PREPARE INSERT` 语句提高时序数据写入速度。 -以下示例说明如何根据配置的数据源连接 KaiwuDB 数据库并查询数据。 +以下示例说明如何根据配置的数据源连接 KWDB 数据库并查询数据。 1. 创建示例程序文件。 diff --git a/development/connect-kaiwudb/restful-api/connect-restful-api.md b/development/connect-kaiwudb/restful-api/connect-restful-api.md index 12e7f3f8847b74ea8b345b7a47c550b03003f949..437d27bf32fd26723d01f3edb981bfc2b4609393 100644 --- a/development/connect-kaiwudb/restful-api/connect-restful-api.md +++ b/development/connect-kaiwudb/restful-api/connect-restful-api.md @@ -1196,7 +1196,7 @@ Accept: text/plain "code": "code", "desc": "desc" } -
- code(int):状态码。0表示成功,其它值表示失败。。
- desc(string):删除操作的结果描述。 +
- code(int):状态码。0表示成功,其它值表示失败。
- desc(string):删除操作的结果描述。 diff --git a/development/read-write-data/flink.md b/development/read-write-data/flink.md index cfc0ec83c26573f2d2833748fdac8473008a2d80..bfc95b845eb52a0e0f19b0baee3979dff9539bfa 100644 --- a/development/read-write-data/flink.md +++ b/development/read-write-data/flink.md @@ -7,7 +7,7 @@ id: flink Apache Flink 是 Apache 软件基金会开源的分布式流批一体化处理框架,广泛应用于流处理、批处理、复杂事件处理、实时数据仓库构建以及机器学习等大数据场景。 -为实现 Flink 与 KWDB 的高效集成,KWDB 提供了专用的 KaiwuDB Flink Connector。该连接器通过 Source 组件从 KWDB 读取数据进行实时分析,通过 Sink 组件将 Flink 处理后的结果写入 KWDB,实现高效的数据存储与管理。 +为实现 Flink 与 KWDB 的高效集成,KWDB 提供了专用的连接器 KaiwuDB Flink Connector。该连接器通过 Source 组件从 KWDB 读取数据进行实时分析,通过 Sink 组件将 Flink 处理后的结果写入 KWDB,实现高效的数据存储与管理。 KaiwuDB Flink Connector 支持以下两种使用方式: @@ -16,7 +16,7 @@ KaiwuDB Flink Connector 支持以下两种使用方式: ## 功能概述 -KaiwuDB Flink 连接器支持以下功能: +KaiwuDB Flink Connector 支持以下功能: - 从 KWDB 读取数据并使用 Flink 进行分析处理 - 将 Flink 的复杂计算和深度分析结果写入 KWDB @@ -24,7 +24,7 @@ KaiwuDB Flink 连接器支持以下功能: - 灵活的参数配置:支持 URL 地址、批处理大小、数据库和表名、并发度等配置 - 支持按时间戳和主标签进行数据分片,实现并发读取 -## 配置 KWDB Flink Connector +## 配置 KaiwuDB Flink Connector ### 前提条件 diff --git a/en/deployment/cluster-deployment/docker-deployment.md b/en/deployment/cluster-deployment/docker-deployment.md index c63a6994d2ff3f5c9bfc509e02e9425131e04ba9..8e9820294586426d67565d7d12562772bb70dc3c 100644 --- a/en/deployment/cluster-deployment/docker-deployment.md +++ b/en/deployment/cluster-deployment/docker-deployment.md @@ -5,7 +5,7 @@ id: docker-deployment # Deploy Using Docker -This section describes how to deploy a KaiwuDB cluster on a single machine using the Docker Run commands. +This section describes how to deploy a KWDB cluster on a single machine using the Docker Run commands. **Note**: For production environments, it is recommended to deploy only one node per machine to improve availability and reduce the risk of data loss. diff --git a/en/development/overview.md b/en/development/overview.md index b6afe252748a48a7e465495d532c18bd620baa5c..b35f05dc4e6b1d269b56a4ce53401285977b4fbb 100644 --- a/en/development/overview.md +++ b/en/development/overview.md @@ -5,11 +5,11 @@ id: overview # Overview -This section offers a complete set of resources for developing applications with KaiwuDB. It includes guidance on how to connect using different programming language connectors and how to integrate with popular data tools. +This section offers a complete set of resources for developing applications with KWDB. It includes guidance on how to connect using different programming language connectors and how to integrate with popular data tools. -## Connecting to KaiwuDB +## Connecting to KWDB -Learn how to connect to KaiwuDB using various supported connectors. Each option includes setup instructions and sample code: +Learn how to connect to KWDB using various supported connectors. Each option includes setup instructions and sample code: - **Java** - [JDBC](./connect-kaiwudb/java/connect-jdbc.md) @@ -42,7 +42,7 @@ Learn how to connect to KaiwuDB using various supported connectors. Each option ## Reading and Writing Data -Discover how to integrate KaiwuDB with popular messaging and data processing tools to enable smooth data flows: +Discover how to integrate KWDB with popular messaging and data processing tools to enable smooth data flows: - [Kafka](./read-write-data/kafka.md) - [DataX](./read-write-data/datax.md) diff --git a/en/sql-reference/functions/functions-relational-db.md b/en/sql-reference/functions/functions-relational-db.md index f6a158e208e373e88367726d186dba6a56dc0cec..5806fa858fc258a480772ad995a19ef7741eb06c 100644 --- a/en/sql-reference/functions/functions-relational-db.md +++ b/en/sql-reference/functions/functions-relational-db.md @@ -964,7 +964,6 @@ This table lists the operators that look like built-in functions but have specia | matching(val: FLOAT4, excludeRule: INT8, lowerBound: decimal, upperBound: STRING, percentage: INT8) → BOOL | Return `true` if the ratio of the number of values satisfying the condition to the total number is greater than a predefined percentage. Otherwise, return `false`. | | matching(val: FLOAT8, excludeRule: INT8, lowerBound: decimal, upperBound: STRING, percentage: INT8) → BOOL | Return `true` if the ratio of the number of values satisfying the condition to the total number is greater than a predefined percentage. Otherwise, return `false`. | | matching(val: decimal, excludeRule: INT8, lowerBound: decimal, upperBound: STRING, percentage: INT8) → BOOL | Return `true` if the ratio of the number of values satisfying the condition to the total number is greater than a predefined percentage. Otherwise, return `false`. | -| interpolate(method, mode) | The interpolate function, working with the `time_bucket_gapfill()` function. The type of the interpolate result is identical to that of the original value.
Parameters:
- method: interpolate algorithm, only supporting aggregate functions and numeric data type.
- mode: interpolate mode, supporting constant, prev, next, linear, and null. | ## Window Functions diff --git a/en/sql-reference/functions/functions-ts-db.md b/en/sql-reference/functions/functions-ts-db.md index 5c4ced2d53b0d7c7ebcb52bb9cf6bd1e1b7c0b5d..097cfc5c24fc9436c3acef01e07bd46b333ffb17 100644 --- a/en/sql-reference/functions/functions-ts-db.md +++ b/en/sql-reference/functions/functions-ts-db.md @@ -314,6 +314,7 @@ For all date and time functions supported by the time-series engine, their outpu | first_row(val: varbytes) →varbytes | Return the data with the minimum timestamp in the condition range (may be the null value). | | first_row(val: varchar) →varchar | Return the data with the minimum timestamp in the condition range (may be the null value). | | first_row(*) →any element | Return the data with the minimum timestamp in the condition range (may be the null value). | +| interpolate(method, mode) | The interpolate function, working with the `time_bucket_gapfill()` function. The type of the interpolate result is identical to that of the original value.
Parameters:
- method: interpolate algorithm, only supporting aggregate functions and numeric data type.
- mode: interpolate mode, supporting constant, `prev`, `next`, `linear`, and `null`. | | last(val: float4) → float4 | Return the data with the maximum timestamp in the condition range (does not contain the null value).
This aggregate function is supported in multiple query scenarios, including subqueries, JOIN queries, nested queries (`FROM` subqueries), queries with the `WHERE`, `GROUP BY`, `HAVING`, or `ORDER BY` clause. In addition, this function can work with other KWDB aggregate functions.
**Limitations**:
- It can only be used in a `SELECT` list but cannot be calculated as a common column.
- It supports aggregating queries on a single column. KWDB returns an error if it works on inserted constants, operators, expressions, or functions.
- This function is only used for aggregating queries on time-series tables, but not on temporary tables or relational tables. | | last(val: float8) → float8 | Return the data with the maximum timestamp in the condition range (does not contain the null value).
This aggregate function is supported in multiple query scenarios, including subqueries, JOIN queries, nested queries (`FROM` subqueries), queries with the `WHERE`, `GROUP BY`, `HAVING`, or `ORDER BY` clause. In addition, this function can work with other KWDB aggregate functions.
**Limitations**:
- It can only be used in a `SELECT` list but cannot be calculated as a common column.
- It supports aggregating queries on a single column. KWDB returns an error if it works on inserted constants, operators, expressions, or functions.
- This function is only used for aggregating queries on time-series tables, but not on temporary tables or relational tables. | | last(val: INT2) → INT2 | Return the data with the maximum timestamp in the condition range (does not contain the null value).
This aggregate function is supported in multiple query scenarios, including subqueries, JOIN queries, nested queries (`FROM` subqueries), queries with the `WHERE`, `GROUP BY`, `HAVING`, or `ORDER BY` clause. In addition, this function can work with other KWDB aggregate functions.
**Limitations**:
- It can only be used in a `SELECT` list but cannot be calculated as a common column.
- It supports aggregating queries on a single column. KWDB returns an error if it works on inserted constants, operators, expressions, or functions.
- This function is only used for aggregating queries on time-series tables, but not on temporary tables or relational tables. | diff --git a/faqs/faqs.md b/faqs/faqs.md index ccd4ebb530af86bc1d994f266d0836229162f701..b32b70e98233b85dde9fc5ea586d39c4a3bbd6c0 100644 --- a/faqs/faqs.md +++ b/faqs/faqs.md @@ -276,7 +276,7 @@ id: faqs SET CLUSTER SETTING sql.stats.ts_automatic_collection.enabled = FALSE; ``` - 5. (KaiwuDB 2.x 版本)关闭数据压缩功能,减少写入时的计算开销,适用于对空间占用不敏感的场景。 + 5. (KWDB 2.x 版本)关闭数据压缩功能,减少写入时的计算开销,适用于对空间占用不敏感的场景。 ```SQL ALTER SCHEDULE scheduled_table_compress F Recurring '0 0 1 1 ?2099'; diff --git a/kaiwudb-developer-center/relational-db/relational-db-mgmt.md b/kaiwudb-developer-center/relational-db/relational-db-mgmt.md index 2fc489ab864a1fad0cf99a50afbaf971a274d5f0..9169993974d373d50fdc5ebb9df709d8cfd58ee0 100644 --- a/kaiwudb-developer-center/relational-db/relational-db-mgmt.md +++ b/kaiwudb-developer-center/relational-db/relational-db-mgmt.md @@ -25,7 +25,7 @@ KaiwuDB 开发者中心支持创建、编辑、查看、切换、重命名和删 - 创建成功后,新建数据库将自动显示在数据库导航区内,继承 KaiwuDB 数据库系统的角色和用户设置。 + 创建成功后,新建数据库将自动显示在数据库导航区内,继承 KWDB 数据库系统的角色和用户设置。 ## 编辑数据库 diff --git a/kaiwudb-developer-center/role-and-user-mgmt.md b/kaiwudb-developer-center/role-and-user-mgmt.md index d853c2fdb93176492abb8460c862a7ab41abf67e..1ab20bf730d4cbe673ffe0942be8a808e3b806d2 100644 --- a/kaiwudb-developer-center/role-and-user-mgmt.md +++ b/kaiwudb-developer-center/role-and-user-mgmt.md @@ -76,7 +76,7 @@ KaiwuDB 开发者中心支持为角色或用户添加成员。角色或用户的 ::: warning 说明 -KaiwuDB 不支持将 `root` 用户从 `admin` 角色中删除。 +KWDB 不支持将 `root` 用户从 `admin` 角色中删除。 ::: #### 前提条件 diff --git a/kaiwudb-developer-center/ts-db/ts-db-mgmt.md b/kaiwudb-developer-center/ts-db/ts-db-mgmt.md index 129b455992d642ea2b14c9ee093866c9272440a7..34df22ab2976cf7b86e6b76ba9674e00346a36b0 100644 --- a/kaiwudb-developer-center/ts-db/ts-db-mgmt.md +++ b/kaiwudb-developer-center/ts-db/ts-db-mgmt.md @@ -25,7 +25,7 @@ KaiwuDB 开发者中心支持创建、编辑、查看、切换、重命名和删 - 创建成功后,新建数据库将自动显示在数据库导航区内,继承 KaiwuDB 数据库系统的角色和用户设置。 + 创建成功后,新建数据库将自动显示在数据库导航区内,继承 KWDB 数据库系统的角色和用户设置。 ## 编辑数据库 diff --git a/quickstart/access-kaiwudb/access-kaiwudb-cli.md b/quickstart/access-kaiwudb/access-kaiwudb-cli.md index 21769c75a7f79439115d2fba4874002f93f8afdd..e116c8f4ad9f1843ca6a059b7df2bc110e9adc91 100644 --- a/quickstart/access-kaiwudb/access-kaiwudb-cli.md +++ b/quickstart/access-kaiwudb/access-kaiwudb-cli.md @@ -42,9 +42,9 @@ docker exec -it ./kwbase sql [security-opions] --host= -u ``` -## TLS 安全模式连接 +## 安全模式连接 -以下示例说明如何以 TLS 安全模式连接 KWDB。 +以下示例说明如何以安全模式连接 KWDB。 - 使用部署数据库时所用的用户: diff --git a/quickstart/access-kaiwudb/access-kaiwudb-kdc.md b/quickstart/access-kaiwudb/access-kaiwudb-kdc.md index 66a6600d6d96a69a6017cadf15b4de90980a30af..21584abc9945222aa433c43b6bb6c5f35200b483 100644 --- a/quickstart/access-kaiwudb/access-kaiwudb-kdc.md +++ b/quickstart/access-kaiwudb/access-kaiwudb-kdc.md @@ -46,7 +46,7 @@ KaiwuDB 开发者中心的安装需满足以下环境要求: 2. 合并解压缩安装包,文件目录如下: - ![安装包](../../static/quickstart/JD1MbIGlXoE7qzxwqOjcc8Wtn4e.png) + 3. 双击运行 KaiwuDB 开发者中心应用程序。 @@ -54,23 +54,21 @@ KaiwuDB 开发者中心的安装需满足以下环境要求: 首次建立连接或软件中的所有连接都被删除后,软件启动后会自动弹出**新建连接**向导,引导用户建立连接。 -![数据库连接](../../static/quickstart/VfcqbD99roY3zbxdCQdcCRFenBc.png) + 其他情况下,如需创建连接,可以选择以下任一操作: - 单击工具栏或数据库导航区工具栏中的**新建连接**按钮。 - - ![](../../static/quickstart/RSxWbFLxYoqf5dxHTHkcpyN3nle.png) + - 在菜单栏中,单击**数据库**,然后从下拉菜单中选择**新建连接**。 - - ![](../../static/quickstart/WcrObb1VhorfioxESFJcxGtgnAd.png) + 以下步骤以首次建立连接为例,说明如何连接数据库。 1. 在**创建新连接**窗口,选择 KaiwuDB 驱动,然后单击**下一步**。 - ![](../../static/quickstart/FU8sbwC1yoqPchxh3ttcptgan4d.png) + 2. 在**常规**页签,设置主机、端口、数据库、用户和密码(如果采用非安全部署模式,则无需设置密码)。 @@ -84,4 +82,6 @@ KaiwuDB 开发者中心的安装需满足以下环境要求: 数据库导航区将自动更新,显示已连接的数据库。 - ![](../../static/quickstart/TLQcbBq6eoTndRxSYQucuY7bn9e.png) \ No newline at end of file + + + \ No newline at end of file diff --git a/quickstart/install-kaiwudb/quickstart-bare-metal.md b/quickstart/install-kaiwudb/quickstart-bare-metal.md index b5aed979c925d1b8803e7825a9daac6d0977f45d..fcc2bd970991c09c3a69551a83c900a46150dce2 100644 --- a/quickstart/install-kaiwudb/quickstart-bare-metal.md +++ b/quickstart/install-kaiwudb/quickstart-bare-metal.md @@ -62,10 +62,7 @@ KWDB 支持在以下服务器操作系统进行安装部署。 | libprotobuf | v3.6.1+ | **注意**:Ubuntu 18.04 默认的 libprotobuf 版本不满足要求,用户需要提前安装所需版本(推荐 3.6.1 和 3.12.4)。| | GEOS | v3.3.8+ | 可选依赖 | | xz-libs | v5.2.0+ | N/A | -| squashfs-tools | any | N/A | | libgcc | v7.3.0+ | N/A | -| mount | any | N/A | -| squashfuse | any | 可选依赖 | ### 端口要求 @@ -89,7 +86,7 @@ KWDB 支持在以下服务器操作系统进行安装部署。 目前 KWDB 开源仓库提供了以下系统与架构的 [DEB 或 RPM 安装包](https://gitee.com/kwdb/kwdb/releases/),如需其它系统或架构的安装包,请联系 [KWDB 技术支持](https://www.kaiwudb.com/support/): - Ubuntu V20.04 x86_64 -- Ubuntu V22.04 x86_64 +- Ubuntu V20.04 ARM_64 - Kylin V10_2403 x86_64 - Kylin V10_2403 ARM_64 @@ -172,7 +169,7 @@ tar -zxvf - `kaiwudb_port`:KWDB 服务端口,默认为 `26257`。 - `brpc_port`:KWDB 时序引擎间的 brpc 通信端口,用于节点间通信。单节点部署时可不指定,指定后系统会自动忽略该设置。 - `data_root`:数据目录,默认为 `/var/lib/kaiwudb`。 - - `cpu`: 可选参数,用于指定 KWDB 服务占用当前节点服务器 CPU 资源的比例,默认无限制。取值范围为 `[0,1]`,最大精度为小数点后两位。**注意**:如果部署环境为 Ubuntu 18.04 版本,部署集群后,需要将 `kaiwudb.service` 文件中的 `CPUQuota` 修改为整型值,例如,将 `180.0%` 修改为 `180%`,以确保设置生效。具体操作步骤,参见[配置 CPU 资源占用率](../../deployment/cluster-config/cluster-config-bare-metal.md#配置-cpu-资源占用率)。 + - `cpu`:可选参数,用于指定 KWDB 服务占用当前节点服务器 CPU 资源的比例,默认无限制。取值范围为 `[0,1]`,最大精度为小数点后两位。**注意**:如果部署环境为 Ubuntu 18.04 版本,部署集群后,需要将 `kaiwudb.service` 文件中的 `CPUQuota` 修改为整型值,例如,将 `180.0%` 修改为 `180%`,以确保设置生效。具体操作步骤,参见[配置 CPU 资源占用率](../../deployment/cluster-config/cluster-config-bare-metal.md#配置-cpu-资源占用率)。 - `local`:本地节点配置 - `node_addr`:本地节点对外提供服务的 IP 地址,监听地址为 `0.0.0.0`,端口为 KWDB 服务端口。 diff --git a/quickstart/install-kaiwudb/quickstart-docker.md b/quickstart/install-kaiwudb/quickstart-docker.md index f05ea37d95b83bfdf67704c1fce13de442778796..12a1205bcf72166c47e7589be83b8036b998e182 100644 --- a/quickstart/install-kaiwudb/quickstart-docker.md +++ b/quickstart/install-kaiwudb/quickstart-docker.md @@ -181,7 +181,7 @@ KWDB 支持通过以下方式获取容器镜像: - `kaiwudb_port`:KWDB 服务端口,默认为 `26257`。 - `brpc_port`:KWDB 时序引擎间的 brpc 通信端口,用于节点间通信。单节点部署时可不指定,指定后系统会自动忽略该设置。 - `data_root`:数据目录,默认为 `/var/lib/kaiwudb`。 - - `cpu`: 可选参数,用于指定 KWDB 服务占用当前节点服务器 CPU 资源的比例,默认无限制。取值范围为 `[0,1]`,最大精度为小数点后两位。 + - `cpu`:可选参数,用于指定 KWDB 服务占用当前节点服务器 CPU 资源的比例,默认无限制。取值范围为 `[0,1]`,最大精度为小数点后两位。 - `local`:本地节点配置 - `node_addr`:本地节点对外提供服务的 IP 地址,监听地址为 `0.0.0.0`,端口为 KWDB 服务端口。 @@ -346,9 +346,9 @@ KWDB 支持通过以下方式获取容器镜像: - `-w /kaiwudb/bin`:将容器内的工作目录设置为 `/kaiwudb/bin`。 - `kwdb_image`:容器镜像,需填入实际的镜像名以及标签, 例如 `kwdb:2.2.0`。 - `bash -c`:在容器中执行后面的证书创建命令, 其中: - - `./kwbase cert create-ca`: 创建证书颁发机构(CA),生成 CA 证书和密钥。 - - `./kwbase cert create-client root`: 为 `root` 用户创建客户端证书和密钥。 - - `./kwbase cert create-node 127.0.0.1 localhost 0.0.0.0`: 创建节点证书和密钥,支持通过三种网络标识符访问:本地回环地址 (`127.0.0.1`)、本地主机名 (`localhost`) 和所有网络接口 (`0.0.0.0`)。 + - `./kwbase cert create-ca`:创建证书颁发机构(CA),生成 CA 证书和密钥。 + - `./kwbase cert create-client root`:为 `root` 用户创建客户端证书和密钥。 + - `./kwbase cert create-node 127.0.0.1 localhost 0.0.0.0`:创建节点证书和密钥,支持通过三种网络标识符访问:本地回环地址 (`127.0.0.1`)、本地主机名 (`localhost`) 和所有网络接口 (`0.0.0.0`)。 - 所有命令均使用 `--certs-dir=` 指定证书存储目录,使用 `--ca-key=/ca.key` 指定密钥路径。 2. 启动基于 Docker 的 KWDB 数据库节点。 @@ -372,7 +372,7 @@ KWDB 支持通过以下方式获取容器镜像: --store=/kaiwudb/deploy/kwdb-container ``` - - TLS 安全模式 + - 安全模式 ```bash docker run -d --privileged --name kwdb \ @@ -399,12 +399,12 @@ KWDB 支持通过以下方式获取容器镜像: - `--ulimit memlock=-1`:取消容器内存大小限制。 - `--ulimit nofile=$max_files`:设置容器内进程可以打开的最大文件数。 - `-p $db_port:26257`:将容器的 26257 端口(数据库主端口)映射到主机的指定端口。 - - `-p $http_port:8080`: 将容器的 8080 端口(HTTP 端口)映射到主机的指定端口。 + - `-p $http_port:8080`:将容器的 8080 端口(HTTP 端口)映射到主机的指定端口。 - `-v`:将主机的 `/var/lib/kaiwudb` 目录挂载到容器内的 `/kaiwudb/deploy/kwdb-container` 目录,用于持久化数据存储。安全模式下,将主机的 `/etc/kaiwudb/certs` 目录挂载到容器内的 `` 目录,用于存放证书和密钥。 - `--ipc shareable`:允许其他容器共享此容器的IPC命名空间。 - `-w /kaiwudb/bin`:将容器内的工作目录设置为 `/kaiwudb/bin`。 - `kwdb_image`:容器镜像变量,需替换为实际的镜像名称及标签, 例如 `kwdb:2.2.0`。 - - `./kwbase start`: 容器内运行的数据库启动命令, 根据安全模式和非安全模式有所不同: + - `./kwbase start`:容器内运行的数据库启动命令, 根据安全模式和非安全模式有所不同: - `--insecure`:(仅非安全模式)指定以非安全模式运行。 - `--certs-dir=`:(安全模式)指定证书目录位置。 - `--listen-addr=0.0.0.0:26257`:指定数据库监听的地址和端口。 diff --git a/quickstart/overview.md b/quickstart/overview.md index 2fe1264f803d5519843bee52f856ba90b7730ca1..62bfc5d08e253f94c2a550595dfc7cbd52c6a861 100644 --- a/quickstart/overview.md +++ b/quickstart/overview.md @@ -24,4 +24,4 @@ id: overview - 卸载 KWDB - 如需了解如何卸载 KaiwuDB,请参见[卸载 KWDB 数据库](./uninstall-kaiwudb/uninstall-db.md) \ No newline at end of file + 如需了解如何卸载 KWDB,请参见[卸载 KWDB 数据库](./uninstall-kaiwudb/uninstall-db.md) \ No newline at end of file diff --git a/quickstart/use-kaiwudb/use-kaiwudb-kdc.md b/quickstart/use-kaiwudb/use-kaiwudb-kdc.md index 1b5471a95ab51c5ec7868b4cfb7f155362c544ed..357f9988162520f8f7c5198cb2097686f4b12db6 100644 --- a/quickstart/use-kaiwudb/use-kaiwudb-kdc.md +++ b/quickstart/use-kaiwudb/use-kaiwudb-kdc.md @@ -17,7 +17,7 @@ id: use-kaiwudb-kdc **前提条件**: -用户为 `admin` 用户或 `admin` 角色成员。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 **步骤**: @@ -35,7 +35,7 @@ id: use-kaiwudb-kdc **前提条件**: -用户为 `admin` 用户、`admin` 角色成员或拥有 `TABLE CREATE` 或 `ALL` 权限。 +用户是 `admin` 角色的成员或者拥有所属数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 **步骤**: @@ -57,7 +57,7 @@ id: use-kaiwudb-kdc **前提条件**: -用户为 `admin` 用户、`admin` 角色成员或拥有目标表的 `INSERT` 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 INSERT 权限。默认情况下,`root` 用户属于 `admin` 角色。 **步骤**: @@ -73,7 +73,7 @@ id: use-kaiwudb-kdc **前提条件**: -用户为 `admin` 用户、`admin` 角色成员或拥有目标表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 **步骤**: @@ -87,7 +87,7 @@ id: use-kaiwudb-kdc **前提条件**: -用户为 `admin` 用户或 `admin` 角色成员。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 **步骤**: @@ -104,7 +104,7 @@ id: use-kaiwudb-kdc **前提条件**: -用户为 `admin` 用户、`admin` 角色成员或拥有 `TABLE CREATE` 或 `ALL` 权限。 +用户是 `admin` 角色的成员或者拥有所属数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 **步骤**: @@ -137,7 +137,7 @@ id: use-kaiwudb-kdc **前提条件**: -用户为 `admin` 用户、`admin` 角色成员或拥有目标表的 `INSERT` 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 INSERT 权限。默认情况下,`root` 用户属于 `admin` 角色。 **步骤**: @@ -152,7 +152,7 @@ id: use-kaiwudb-kdc **前提条件**: -用户为 `admin` 用户、`admin` 角色成员或拥有目标表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 **步骤**: @@ -166,7 +166,7 @@ KaiwuDB 开发者中心支持使用 SQL 编辑器完成 KWDB 跨模查询操作 **前提条件**: -用户为 `admin` 用户、`admin` 角色成员或拥有目标表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 **步骤**: diff --git a/sql-reference/data-type/data-type-relational-db.md b/sql-reference/data-type/data-type-relational-db.md index ff0141b061e8332fd7ea8a5d983707f8a9ab1df5..300264a89d255aa38cbb2b47bb4905695494b834 100644 --- a/sql-reference/data-type/data-type-relational-db.md +++ b/sql-reference/data-type/data-type-relational-db.md @@ -834,7 +834,7 @@ c1 BLOB(Binary Large Object,二进制大型对象),用以存储非文本的字节流数据(如程序、图象、影音等)。KWDB 不限制 BLOB 数据类型的存储长度,但建议将存储对象的大小保持在 64M 以下以保证数据库性能。 -KaiwuDB 允许 BLOB 与以下数据类型相互转换。当数据符合规则时,系统进行数据转换,否则系统报错。 +KWDB 允许 BLOB 与以下数据类型相互转换。当数据符合规则时,系统进行数据转换,否则系统报错。 | BLOB | 字符类型 | UUID 类型 | | --- | --- | --- | @@ -878,7 +878,7 @@ SHOW CREATE blobs; CLOB(Character Large Object,字符型大型对象),与字符集相关,用以存储文本型的数据(如历史档案、大部头著作等)。KWDB 不限制 CLOB 的存储长度,但建议将存储对象的大小保持在 64M 以下以保证数据库性能。 -KaiwuDB 允许 CLOB 与以下数据类型相互转换。当数据符合规则时,系统进行数据转换,否则系统报错。 +KWDB 允许 CLOB 与以下数据类型相互转换。当数据符合规则时,系统进行数据转换,否则系统报错。 | CLOB | 数值类型 | 布尔类型 | 字符类型 | 日期和时间类型 | JSONB 类型 | INET 类型 | UUID 类型 | | --- | --- | --- | --- | --- | --- | --- | --- | diff --git a/sql-reference/db-mgmt/privilege-mgmt-sql.md b/sql-reference/db-mgmt/privilege-mgmt-sql.md index f8e6a6cc53bc8e3d70fadbdef4d4ed29ff5a8a6f..b3bfaaa18867b9756f2574eaf35dbf16699b9f4e 100644 --- a/sql-reference/db-mgmt/privilege-mgmt-sql.md +++ b/sql-reference/db-mgmt/privilege-mgmt-sql.md @@ -30,7 +30,7 @@ KWDB 支持对数据库和表在内的数据库对象的访问和操作权限进 ### 所需权限 -授予权限的用户在目标数据库、表或模式(只适用于关系数据自定义模式)上具备被授予的权限。例如,向其他用户授予目标表的 `SELECT` 权限的用户必须具备目标表的 `GRANT` 和 `SELECT` 权限。 +用户是 `admin` 角色的成员或者拥有目标数据对象被授予的权限。例如,向其他用户授予目标表的 `SELECT` 权限的用户必须具备目标表的 `GRANT` 和 `SELECT` 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -59,7 +59,7 @@ GRANT CREATE ON DATABASE db1, defaultdb TO operatora; ### 所需权限 -撤销其他用户的权限的用户具备目标数据库、表或模式(只适用于关系数据自定义模式)的 `GRANT` 权限和被撤销的权限。例如,撤销其他用户目标表的 `SELECT` 权限的用户必须具备目标表的 `GRANT` 和 `SELECT` 权限。 +用户是 `admin` 角色的成员或者拥有目标数据对象被撤销的权限。例如,撤销其他用户目标表的 `SELECT` 权限的用户必须具备目标表的 `GRANT` 和 `SELECT` 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/db-mgmt/role-mgmt-sql.md b/sql-reference/db-mgmt/role-mgmt-sql.md index 4d0d7c2165dedacde65aa8025d6a980ddc8e8665..1debc6a80aacc79137c3f92cd9f1deefe96378c5 100644 --- a/sql-reference/db-mgmt/role-mgmt-sql.md +++ b/sql-reference/db-mgmt/role-mgmt-sql.md @@ -336,7 +336,7 @@ SHOW ROLES; ::: warning 说明 -KWDB 不支持将 `root` 用户从 Admin 角色中删除。 +KWDB 不支持将 `root` 用户从 `admin` 角色中删除。 ::: diff --git a/sql-reference/ddl/relational-db/relational-column.md b/sql-reference/ddl/relational-db/relational-column.md index a9a743744273fc4ed63816d6754b4eb7c5d97d3e..26f92a302e44341a84e3c55433a0e7bf6d5d9f86 100644 --- a/sql-reference/ddl/relational-db/relational-column.md +++ b/sql-reference/ddl/relational-db/relational-column.md @@ -11,7 +11,7 @@ KWDB 支持在创建表时创建列,也支持使用 `ALTER TABLE ... ADD COLUM ### 所需权限 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -191,7 +191,7 @@ KWDB 支持使用 `ALTER TABLE ... ALTER COLUMN` 语句执行以下操作。`ALT ### 所需权限 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -326,7 +326,7 @@ KWDB 支持使用 `ALTER TABLE ... RENAME COLUMN` 语句修改列名。 ### 所需权限 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -378,7 +378,7 @@ KWDB 支持使用 `ALTER TABLE ... DROP COLUMN` 语句删除列。`DROP COLUMN` ### 所需权限 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/ddl/relational-db/relational-comment.md b/sql-reference/ddl/relational-db/relational-comment.md index 873a43736d9532b2ab80ea8add74c342e392bf82..b048de80bf10c7fb598a1fa0f7b8ae2e6f805e0b 100644 --- a/sql-reference/ddl/relational-db/relational-comment.md +++ b/sql-reference/ddl/relational-db/relational-comment.md @@ -11,7 +11,7 @@ id: relational-comment ### 所需权限 -用户拥有操作对象的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有操作对象的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/ddl/relational-db/relational-constraint.md b/sql-reference/ddl/relational-db/relational-constraint.md index 077c480d12182051366dc55c14b0e2a077fb7555..1f54f5f4942bc5392f4902ba49573fa2f4c73503 100644 --- a/sql-reference/ddl/relational-db/relational-constraint.md +++ b/sql-reference/ddl/relational-db/relational-constraint.md @@ -18,7 +18,7 @@ id: relational-constraint ### 所需权限 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -172,7 +172,7 @@ SHOW CONSTRAINTS FROM orders; ### 所需权限 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -217,7 +217,7 @@ SHOW CONSTRAINTS FROM orders; ### 所需权限 -用户拥有约束所属表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/ddl/relational-db/relational-database.md b/sql-reference/ddl/relational-db/relational-database.md index 093144a762c5f5f55a58fd0ee7c62753c08fdc08..1d56ceb90f151f418b327d89c178eca5de460232 100644 --- a/sql-reference/ddl/relational-db/relational-database.md +++ b/sql-reference/ddl/relational-db/relational-database.md @@ -11,7 +11,7 @@ id: relational-database ### 所需权限 -用户具有 Admin 角色。默认情况下,root 用户具有 Admin 角色。创建成功后,用户拥有该数据库的全部权限。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。创建成功后,用户拥有该数据库的全部权限。 ### 语法格式 @@ -165,7 +165,7 @@ SHOW CREATE DATABASE reldb1; ## 修改数据库 -`ALTER DATABASE` 语句用于修改数据库名称。 +`ALTER DATABASE` 语句用于修改数据库名称以及数据库区域配置。 ::: warning 说明 KWDB 不支持修改视图关联的数据库的名称。 @@ -173,17 +173,30 @@ KWDB 不支持修改视图关联的数据库的名称。 ### 所需权限 -用户为 Admin 用户或者 Admin 角色成员。默认情况下,root 用户具有 Admin 角色。 +- 修改数据库名称:用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 +- 修改数据库区域配置: + - 修改系统数据库区域配置:用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 + - 修改其他数据库区域配置:用户是 `admin` 角色的成员或者拥有目标数据库的 CREATE 或 ZONECONFIG 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 -![](../../../static/sql-reference/rdb-alter-db.png) +- 修改数据库名称: + + ![](../../../static/sql-reference/rdb-alter-db.png) + +- 修改数据库区域配置: + + ![](../../../static/sql-reference/alter-r-db-zone.png) ### 参数说明 | 参数 | 说明 | | --- | --- | | `database_name` | 数据库的名称。在修改数据库名称的语法中,第一个 `database_name` 指当前数据库的名称。第二个 `database_name` 指拟修改的的数据库名称。新数据库名称必须唯一,并且[遵循数据库标识符规则](../../sql-identifiers.md)。如果目标数据库为当前数据库,或者将 `sql_safe_updates` 参数设置为 `true`,则无法重命名该数据库。| +| `variable` | 待修改的变量名,关系库支持修改以下变量:
- `range_min_bytes`:数据分片的最小大小,单位为字节。数据分片小于该值时,KWDB 会将其与相邻数据分片合并。默认值:256 MiB,设置值应大于 1 MiB(1048576 字节),小于数据分片的最大大小。
- `range_max_bytes`:数据分片的最大大小,单位为字节。数据分片大于该值时,KWDB 会将其切分到两个数据分片。默认值: 512 MiB。设置值不得小于 5 MiB(5242880 字节)。
- `gc.ttlseconds`:数据在垃圾回收前保留的时间,单位为秒。默认值为 `90000`(25 小时)。设置值建议不小于 600 秒(10 分钟),以免影响长时间运行的查询。设置值较小时可以节省磁盘空间,设置值较大时会增加 `AS OF SYSTEM TIME` 查询的时间范围。另外,由于每行的所有版本都存储在一个永不拆分的单一数据分片内,不建议将该值设置得太大,以免单行的所有更改累计超过 64 MiB,导致内存不足或其他问题。
- `num_replicas`:副本数量。默认值为 3。`system` 数据库、`meta`、`liveness` 和 `system` 数据分片的默认副本数为 5。 **注意**:集群中存在不可用节点时,副本数量不可缩减。
- `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}'` 表示在节点 1、2 和 3 上必须各放置 1 个副本。目前只支持 `region=NODEx` 格式
- `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=NODE1]]'` 表示倾向将主副本放置在节点 1。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。| +| `value` | 变量值。 | +|`COPY FROM PARENT`| 使用父区域的设置值。| +|`DISCARD` | 移除区域配置,采用默认值。| ### 语法示例 @@ -222,13 +235,37 @@ KWDB 不支持修改视图关联的数据库的名称。 (5 rows) ``` +- 修改数据库区域配置 + + 以下示例将 `db3` 数据库副本数改为 5, 将数据在垃圾回收前保留的时间改为 100000 秒。 + + ```sql + -- 1. 修改数据库区域配置 + > ALTER DATABASE db3 CONFIGURE ZONE USING num_replicas = 5, gc.ttlseconds = 100000; + CONFIGURE ZONE 1 + + -- 2. 查看数据库区域配置 + + > SHOW ZONE CONFIGURATION FOR DATABASE db3; + target | config_sql + -------------------+------------------------------------------ + DATABASE db3 | ALTER DATABASE db3 CONFIGURE ZONE USING + | range_min_bytes = 134217728, + | range_max_bytes = 536870912, + | gc.ttlseconds = 100000, + | num_replicas = 5, + | constraints = '[]', + | lease_preferences = '[]' + (1 row) + ``` + ## 删除数据库 `DROP DATABASE` 语句用于从 KWDB 中删除数据库及其所有对象。目标数据库不能是当前数据库。如需删除当前数据库,使用 `USE ` 语句将当前数据库切换成其他数据库,再进行删除。 ### 所需权限 -用户拥有目标数据库和其下全部模式及对象的 DROP 权限。删除成功后,所有用户针对目标数据库和其下全部模式及对象的所有权限均被删除。 +用户是 `admin` 角色的成员或者拥有目标数据库及对象的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。删除成功后,所有用户针对目标数据库和其下全部模式及对象的所有权限均被删除。 ### 语法格式 diff --git a/sql-reference/ddl/relational-db/relational-index.md b/sql-reference/ddl/relational-db/relational-index.md index b3a0176a069c77b11f31f5f3f9c43d6bc12d373e..b91af75d075a6fe2c79358d6d4422b6af25cddd4 100644 --- a/sql-reference/ddl/relational-db/relational-index.md +++ b/sql-reference/ddl/relational-db/relational-index.md @@ -17,7 +17,7 @@ KWDB 支持创建函数索引,函数索引的索引列不是表中的列,而 ### 所需权限 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -247,8 +247,8 @@ SHOW INDEX FROM re_users; ### 所需权限 -- 更改索引名称:用户拥有索引所属表或物化视图的 CREATE 权限。 -- 对指定行进行范围分割:用户拥有索引的 INSERT 权限。 +- 更改索引名称:用户是 `admin` 角色的成员或者拥有所属表或物化视图的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 对指定行进行范围分割:用户是 `admin` 角色的成员或者拥有索引的 INSERT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -366,7 +366,7 @@ SHOW INDEX FROM re_users; ### 所需权限 -用户拥有索引所属表或物化视图的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表或物化视图的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/ddl/relational-db/relational-materialized-view.md b/sql-reference/ddl/relational-db/relational-materialized-view.md index be4c9788f4cac0c6bbfc2aeb4d7dbeea0705a323..f2fe7d4e499252086e414c70d6cb5441e93dd7a6 100644 --- a/sql-reference/ddl/relational-db/relational-materialized-view.md +++ b/sql-reference/ddl/relational-db/relational-materialized-view.md @@ -15,7 +15,7 @@ KWDB 不支持基于临时表、临时视图创建物化视图,也不支持显 ### 所需权限 -用户拥有所属数据库的 CREATE 权限和引用表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有所属数据库的 CREATE 权限和引用表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -69,7 +69,7 @@ SELECT * FROM small_order; ### 所需权限 -用户拥有重命名前物化视图的 DROP 权限以及重命名后物化视图所属父数据库的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有重命名前物化视图的 DROP 权限以及重命名后物化视图所属父数据库 CREATE 的权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -119,7 +119,7 @@ KWDB 不支持显式事务刷新物化视图。 ### 所需权限 -用户拥有物化视图的 UPDATE 权限或者用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 +用户是 `admin` 角色的成员或者拥有物化视图的 UPDATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -145,8 +145,8 @@ REFRESH MATERIALIZED VIEW small_orders; ### 所需权限 -- 删除无依赖关系的物化视图:用户拥有目标物化视图的 DROP 权限。 -- 删除存在依赖关系的物化视图:用户拥有目标物化视图的 DROP 权限及其关联对象的 DROP 权限。 +- 删除无依赖关系的物化视图:用户是 `admin` 角色的成员或者拥有目标物化视图的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 删除存在依赖关系的物化视图:用户是 `admin` 角色的成员或者是拥有目标物化视图及其关联对象的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/ddl/relational-db/relational-partition.md b/sql-reference/ddl/relational-db/relational-partition.md index 72f1b6644173d01443936520ed9adb34ae4e2f00..4c1c90709b7c2be3fd7612f088cdaafb10693060 100644 --- a/sql-reference/ddl/relational-db/relational-partition.md +++ b/sql-reference/ddl/relational-db/relational-partition.md @@ -17,9 +17,9 @@ id: relational-partition | 分区方式 | 语法 | 适用场景 | 主要特点 | 示例场景 | | :------- | :------------------- | :------------------------------- | :----------------------------------------------------------- | :----------------------------- | -| 列表分区 | `PARTITION BY LIST` | 分区键值数量有限且相对固定 | • 明确枚举每个分区的所有可能值
• 支持单列或多列组合作为分区键
• 可设置 `DEFAULT` 分区兜底 | 按国家/地区对用户数据分区 | -| 范围分区 | `PARTITION BY RANGE` | 分区键值数量庞大,无法逐一列举 | • 通过上下界定义连续值范围
• 支持 `MINVALUE`/`MAXVALUE` 边界
• 下界包含,上界排除
• NULL 值视为最小值 | 按时间范围对订单数据分区 | -| 哈希分区 | `PARTITION BY HASH` | 需要数据均匀分布,无明显业务分组 | • 使用哈希函数映射到固定分区数
• 数据分布相对均匀
• 支持与 `USING HASH WITH BUCKET_COUNT` 联用,将索引键值分布到多个分片桶(bucket)中,实现更均匀的数据分布 | 按用户 ID 哈希分区实现负载均衡 | +| 列表分区 | `PARTITION BY LIST` | 分区键值数量有限且相对固定 | - 明确枚举每个分区的所有可能值
- 支持单列或多列组合作为分区键
- 可设置 `DEFAULT` 分区兜底 | 按国家/地区对用户数据分区 | +| 范围分区 | `PARTITION BY RANGE` | 分区键值数量庞大,无法逐一列举 | - 通过上下界定义连续值范围
- 支持 `MINVALUE`/`MAXVALUE` 边界
- 下界包含,上界排除
- NULL 值视为最小值 | 按时间范围对订单数据分区 | +| 哈希分区 | `PARTITION BY HASH` | 需要数据均匀分布,无明显业务分组 | - 使用哈希函数映射到固定分区数
- 数据分布相对均匀
- 支持与 `USING HASH WITH BUCKET_COUNT` 联用,将索引键值分布到多个分片桶(bucket)中,实现更均匀的数据分布 | 按用户 ID 哈希分区实现负载均衡 | ::: warning 说明 @@ -37,8 +37,8 @@ id: relational-partition ### 所需权限 -- 建表时创建分区:用户为 `admin` 角色成员或拥有数据库的 CREATE 权限。默认情况下,root 用户属于 `admin` 角色。 -- 修改表时创建分区:用户为 `admin` 角色成员或拥有目标表的 CREATE 权限。默认情况下,root 用户属于 `admin` 角色。 +- 建表时创建分区:用户是 `admin` 角色成员或拥有数据库的 CREATE 权限。默认情况下,root 用户属于 `admin` 角色。 +- 修改表时创建分区:用户是 `admin` 角色成员或拥有目标表的 CREATE 权限。默认情况下,root 用户属于 `admin` 角色。 ### 语法格式 @@ -50,9 +50,9 @@ id: relational-partition - 建表时创建分区 - ![](../../../static/sql-reference/create-r-table-partition.png) + ![](../../../static/sql-reference/create-r-table-parititon-by.png) -- 通过修改表创建分区 +- 改表时创建分区 ![](../../../static/sql-reference/alter-r-table-partition.png) @@ -60,11 +60,11 @@ id: relational-partition 1. 建表时定义哈希分片 - ![](../../../static/sql-reference/create-r-table-hash.png) + - 2. 通过修改表创建分区 + 2. 改表时创建分区 - ![](../../../static/sql-reference/alter-r-table-hash.png) + ### 参数说明 @@ -72,12 +72,14 @@ id: relational-partition | :--------------- | :----------------------------------------------------------- | | `table_name` | 分区所在的表名 | | `column_def` | 表列定义。列定义列表,支持定义一列或多列,各列之间使用逗号(`,`)隔开。列名在表中必须唯一,但可以与索引或约束同名。每列必须定义列名、数据类型,可以选择定义列级约束或其他列限定(例如计算列),格式为 ` [col_qual_list]`。在列级别定义的主键、唯一性约束、检查约束将作为表创建的一部分移动到表级别 | -| `name_list` | 分区键,必须为主键列 | +| `name_list` | 分区键,必须为主键列的开头 | | `partition_name` | 分区名称 | | `expr_list` | 分区值表达式列表 | | `column_name` | 主键列名 | | `bucket_count` | 分片桶数,必须为整数 | -| `kwdb_internal_table-name_shard_bucket-count` | 启用哈希分片索引功能后系统生成的内部列,用于存储哈希分片键,其中 `table-name` 为分区所在表名,`bucket-count` 为建表时设置的分片桶数 | +| `kwdb_internal_primary-key_shard_bucket-count` | 启用哈希分片索引功能后系统生成的内部列,用于存储哈希分片键,其中 `primary-key` 为分区所在表的主键名,`bucket-count` 为建表时设置的分片桶数 | + +### 语法示例 ### 语法示例 @@ -96,10 +98,10 @@ id: relational-partition order_amount DECIMAL(10,2), order_status VARCHAR(20), created_at TIMESTAMP DEFAULT NOW(), - PRIMARY KEY (order_id, region_code) + PRIMARY KEY (region_code, order_id) -- 分区键必须在主键的开头 ) PARTITION BY LIST (region_code) ( PARTITION north_china VALUES IN (1), -- 华北地区分区 - PARTITION east_china VALUES IN (2), -- 华东地区分区 + PARTITION east_china VALUES IN (2), -- 华东地区分区 PARTITION south_china VALUES IN (3) -- 华南地区分区 ); ``` @@ -110,10 +112,10 @@ id: relational-partition -- 为现有表添加按时间范围的分区 ALTER TABLE existing_orders PARTITION BY RANGE (created_at) ( - PARTITION q1_2025 FROM ('2025-01-01') TO ('2025-04-01'), - PARTITION q2_2025 FROM ('2025-04-01') TO ('2025-07-01'), - PARTITION q3_2025 FROM ('2025-07-01') TO ('2025-10-01'), - PARTITION q4_2025 FROM ('2025-10-01') TO ('2026-01-01') + PARTITION q1_2025 VALUES FROM ('2025-01-01') TO ('2025-04-01'), + PARTITION q2_2025 VALUES FROM ('2025-04-01') TO ('2025-07-01'), + PARTITION q3_2025 VALUES FROM ('2025-07-01') TO ('2025-10-01'), + PARTITION q4_2025 VALUES FROM ('2025-10-01') TO ('2026-01-01') ); ``` @@ -137,7 +139,7 @@ id: relational-partition -- 为哈希分片表创建分区 ALTER TABLE users - PARTITION BY HASH (kwdb_internal_users_shard_8) ( + PARTITION BY HASH (kwdb_internal_user_id_shard_8) ( PARTITION shard_0 VALUES IN (0), PARTITION shard_1 VALUES IN (1), PARTITION shard_2 VALUES IN (2), @@ -164,7 +166,7 @@ id: relational-partition ### 所需权限 -用户为 `admin` 角色成员或拥有目标表的 CREATE 权限。默认情况下,root 用户属于 `admin` 角色。 +用户是 `admin` 角色成员或拥有目标表的 CREATE 权限。默认情况下,root 用户属于 `admin` 角色。 ### 语法格式 @@ -176,33 +178,33 @@ id: relational-partition | :--------------- | :----------------------------------------------------------- | | `partition_name` | 待修改的分区名称 | | `table_name` | 分区所在的表名 | -| `variable` | 支持修改以下变量:
• `num_replicas`:副本数量。默认值为 3
• `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}'` 表示在 `node1`、`node2`、`node3` 上必须各放置 1 个副本。目前只支持 `region=nodex` 格式
• `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=node1]]'` 表示倾向将主副本放置在 `node1`。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。列表中的每个值可以包含多个约束

**注意**:
• 租约偏好不必与 `constraints` 字段共享,用户可以单独定义 `lease_preferences`
• 设置 `constraints` 时需要同步设置 `num_replicas`,且 `constraints` 数量需要小于等于 `num_replicas` 数量。`constraints` 中的顺序无影响 | +| `variable` | 支持修改以下变量:
- `num_replicas`:副本数量。默认值为 3
- `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}'` 表示在节点 1、节点 2、节点 3 上必须各放置 1 个副本。目前只支持 `region=NODEx` 格式
- `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=NODE1]]'` 表示倾向将主副本放置在节点 1。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。列表中的每个值可以包含多个约束

**注意**:
- 租约偏好不必与 `constraints` 字段共享,用户可以单独定义 `lease_preferences`
- 设置 `constraints` 时需要同步设置 `num_replicas`,且 `constraints` 数量需要小于等于 `num_replicas` 数量。`constraints` 中的顺序无影响 | | `value` | 变量值,可以是具体的配置值,也可以是 `COPY FROM PARENT`,即使用父区域的设置值 | | `DISCARD` | 移除区域配置,采用默认值 | ### 语法示例 ```SQL --- 华北分区:数据主要存储在 node1,同时在 node2 和 node3 保持副本,lease 偏向 node1 +-- 华北分区:数据存储在所有节点,lease 偏向节点 1 ALTER PARTITION north_china OF TABLE ecommerce_orders.regional_orders CONFIGURE ZONE USING num_replicas = 3, - constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}', - lease_preferences = '[[+region=node1]]'; + constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}', + lease_preferences = '[[+region=NODE1]]'; --- 华东分区:数据主要存储在 node2,同时在 node1 和 node3 保持副本,lease 偏向 node2 +-- 华东分区:数据存储在所有节点,lease 偏向 节点 2 ALTER PARTITION east_china OF TABLE ecommerce_orders.regional_orders CONFIGURE ZONE USING num_replicas = 3, - constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}', - lease_preferences = '[[+region=node2]]'; + constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}', + lease_preferences = '[[+region=NODE2]]'; --- 华南分区:数据主要存储在 node3,同时在 node1 和 node2 保持副本,lease 偏向 node3 +-- 华南分区:数据存储在所有节点,lease 偏向 节点 3 ALTER PARTITION south_china OF TABLE ecommerce_orders.regional_orders CONFIGURE ZONE USING num_replicas = 3, - constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}', - lease_preferences = '[[+region=node3]]'; + constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}', + lease_preferences = '[[+region=NODE3]]'; -- 向表中写入数据 INSERT INTO ecommerce_orders.regional_orders VALUES diff --git a/sql-reference/ddl/relational-db/relational-procedure.md b/sql-reference/ddl/relational-db/relational-procedure.md index 979be7a8ebc20e233f95bf7686278bfc5c0a61da..2288e973c6b31b4a58a55fbf5588356993a9a791 100644 --- a/sql-reference/ddl/relational-db/relational-procedure.md +++ b/sql-reference/ddl/relational-db/relational-procedure.md @@ -39,8 +39,7 @@ KWDB 关系引擎支持创建、修改、查看、删除、执行存储过程。 ### 所需权限 -- 非三权分立模式下,用户拥有当前数据库的 CREATE 权限和存储过程体中引用的所有对象的相关权限(例如表的 SELECT 权限)。 -- 三权分立模式下,用户是 `sysadmin` 角色的成员或者是拥有当前数据库 CREATE 权限和存储过程体中引用的所有对象的相关权限(例如表的 SELECT 权限)的普通用户。默认情况下,`sysroot` 用户属于 `sysadmin` 角色。 +用户是 `admin` 角色的成员或者拥有当前数据库的 CREATE 权限和存储过程体中引用的所有对象的相关权限(例如表的 SELECT 权限)。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -152,8 +151,7 @@ CREATE PROCEDURE ### 所需权限 -- 非三权分立模式下,用户拥有目标存储过程的 EXECUTE 权限和存储过程体中引用的所有对象的相关权限(例如表的 SELECT 权限)。 -- 三权分立模式下,用户是 `sysadmin` 角色的成员或者是拥有目标存储过程 EXECUTE 权限和存储过程体中引用的所有对象的相关权限(例如表的 SELECT 权限)的普通用户。默认情况下,`sysroot` 用户属于 `sysadmin` 角色。 +用户是 `admin` 角色的成员或者拥有目标存储过程 EXECUTE 权限和存储过程体中引用的所有对象的相关权限(例如表的 SELECT 权限)。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -201,8 +199,7 @@ call test1(1); ### 所需权限 -- 非三权分立模式下,用户拥有目标存储过程的 CREATE 权限。 -- 三权分立模式下,用户是 `sysadmin` 角色的成员或者是拥有目标存储过程 CREATE 权限的普通用户。默认情况下,`sysroot` 用户属于 `sysadmin` 角色。 +用户是 `admin` 角色的成员或者拥有目标存储过程的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -322,8 +319,7 @@ ALTER PROCEDURE proc1 COMMENT IS 'test query sql and if else logical'; ### 所需权限 -- 非三权分立模式下,用户拥有目标存储过程的 DROP 权限。 -- 三权分立模式下,用户是 `sysadmin` 角色的成员或者是拥有目标存储过程 DROP 权限的普通用户。默认情况下,`sysroot` 用户属于 `sysadmin` 角色。 +用户是 `admin` 角色的成员或者拥有目标存储过程的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/ddl/relational-db/relational-range.md b/sql-reference/ddl/relational-db/relational-range.md index ceadb44bab4d4f86d9f0c18676726dcbcf0aa9c2..c0b8369618f75002d9a31c089c6932bf04bb8aa6 100644 --- a/sql-reference/ddl/relational-db/relational-range.md +++ b/sql-reference/ddl/relational-db/relational-range.md @@ -17,7 +17,7 @@ KWDB 支持用户使用 SHOW RANGES 语句查看关系库、关系表和索引 ### 所需权限 -用户为 Admin 用户或者 Admin 角色成员。默认情况下,root 用户具有 Admin 角色。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -85,3 +85,57 @@ KWDB 支持用户使用 SHOW RANGES 语句查看关系库、关系表和索引 orders_seq | NULL | NULL | 183 | 0.000114 | 1 | | {1} | {""} (3 rows) ``` + +## 修改数据分片 + +`ALTER RANGE` 语句用于修改数据分片的副本区域配置。 除了用户可见的数据库和表之外,KaiwuDB 在以下系统数据分片内存储了部分内部数据,进行了副本区域配置: + +- `meta`:包含集群中所有数据的位置信息,副本数设置为 5,以提高容错性,`gc.ttlseconds` 设置低于默认值,以保持数据分片大小适中,确保性能稳定。 +- `liveness`:包含给定时间活动节点的信息,副本数设置为 5,以提高容错性,`gc.ttlseconds` 设置低于默认值,以保持数据分片大小适中。 +- `system`:包括分配新表ID所需的信息以及追踪集群节点状态,副本数设置为5,以提高容错性。 +- `timeseries`:包含集群监控数据。 + +::: warning 注意 +修改系统数据分片的区域配置可能导致部分或全部集群停止工作,因此需要格外谨慎。 +::: + +### 所需权限 + +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 + +### 语法格式 + +![img](../../../static/sql-reference/alter-range-rdb.png) + +### 参数说明 + +| 参数 | 说明 | +| --- | --- | +| `range_name` | 待修改的数据分片名称,包括:
- `default`:默认副本设置
- `meta`:所有数据的位置信息
- `liveness`:给定时间活动节点的信息
- `system`:分配新表ID所需的信息以及追踪集群节点状态
- `timeseries`:集群监控数据| +| `variable` | 待修改的变量名,关系库支持修改以下变量:
- `range_min_bytes`:数据分片的最小大小,单位为字节。数据分片小于该值时,KWDB 会将其与相邻数据分片合并。默认值:256 MiB,设置值应大于 1 MiB(1048576 字节),小于数据分片的最大大小。
- `range_max_bytes`:数据分片的最大大小,单位为字节。数据分片大于该值时,KWDB 会将其切分到两个数据分片。默认值: 512 MiB。设置值不得小于 5 MiB(5242880 字节)。
- `gc.ttlseconds`:数据在垃圾回收前保留的时间,单位为秒。默认值为 `90000`(25 小时)。设置值建议不小于 600 秒(10 分钟),以免影响长时间运行的查询。设置值较小时可以节省磁盘空间,设置值较大时会增加 `AS OF SYSTEM TIME` 查询的时间范围。另外,由于每行的所有版本都存储在一个永不拆分的单一数据分片内,不建议将该值设置得太大,以免单行的所有更改累计超过 64 MiB,导致内存不足或其他问题。
- `num_replicas`:副本数量。默认值为 3。`system` 数据库、`meta`、`liveness` 和 `system` 数据分片的默认副本数为 5。 **注意**:集群中存在不可用节点时,副本数量不可缩减。
- `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}'` 表示在节点 1、2 和 3 上必须各放置 1 个副本。目前只支持 `region=NODEx` 格式
- `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=NODE1]]'` 表示倾向将主副本放置在节点 1。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。列表中的每个值可以包含多个约束。| +| `value` | 变量值。 | +|`COPY FROM PARENT`| 使用父区域的设置值。| +|`DISCARD` | 移除区域配置,采用默认值。| + +### 语法示例 + +- 修改系统数据分片的区域配置 + + 以下示例将 `meta` 系统数据分片的副本数改为 7 个。 + + ```SQL + > ALTER RANGE meta CONFIGURE ZONE USING num_replicas=7; + ALTER RANGE + + > SHOW ZONE CONFIGURATION FOR RANGE meta; + target | raw_config_sql + -------------+---------------------------------------- + RANGE meta | ALTER RANGE meta CONFIGURE ZONE USING + | range_min_bytes = 134217728, + | range_max_bytes = 536870912, + | gc.ttlseconds = 3600, + | num_replicas = 7, + | constraints = '[]', + | lease_preferences = '[]' + (1 row) + ``` diff --git a/sql-reference/ddl/relational-db/relational-schema.md b/sql-reference/ddl/relational-db/relational-schema.md index e560e7e3a8954656f57902df6969e30a31475abd..91ae0f02354dd656c5055a7e34bf7ddb05327b3a 100644 --- a/sql-reference/ddl/relational-db/relational-schema.md +++ b/sql-reference/ddl/relational-db/relational-schema.md @@ -11,7 +11,7 @@ id: relational-schema ### 所需权限 -用户拥有模式所属数据库的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有所属数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -88,7 +88,7 @@ SHOW SCHEMAS; ### 所需权限 -用户拥有 SCHEMA 的 DROP 权限。 +用户是 `admin` 角色的成员或者拥有模式的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/ddl/relational-db/relational-sequence.md b/sql-reference/ddl/relational-db/relational-sequence.md index 88a1b02c456a1380f310ba28756981a9dad441c6..2fc5aeaf0d8097f6090ab2017148dd634e6ff6f2 100644 --- a/sql-reference/ddl/relational-db/relational-sequence.md +++ b/sql-reference/ddl/relational-db/relational-sequence.md @@ -11,7 +11,7 @@ id: relational-sequence ### 所需权限 -用户拥有新建序列所属数据库的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有所属数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -175,7 +175,7 @@ SHOW SEQUENCES; ### 所需权限 -用户拥有序列所属数据库的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有序列所属数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -280,7 +280,7 @@ KWDB 不支持重命名表中正在使用的序列。如需重命名表中正在 ### 所需权限 -用户拥有序列所属数据库的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有序列所属数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -341,7 +341,7 @@ KWDB 不支持重命名表中正在使用的序列。如需重命名表中正在 ### 所需权限 -用户拥有目标序列的 DROP 权限。 +用户是 `admin` 角色的成员或者拥有目标序列的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/ddl/relational-db/relational-table.md b/sql-reference/ddl/relational-db/relational-table.md index e7ba93e3b83458085afb24ca1416597b53c515e1..d0f3f626f14c4b38d4ef1fe27b71622f04b1900d 100644 --- a/sql-reference/ddl/relational-db/relational-table.md +++ b/sql-reference/ddl/relational-db/relational-table.md @@ -11,52 +11,52 @@ id: relational-table ### 所需权限 -用户拥有数据库的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 -![](../../../static/sql-reference/createtable_relational.png) + - `column_def` - ![](../../../static/sql-reference/column_def_relational.png) + - `col_qualification` - ![](../../../static/sql-reference/UywHb2NSAoJnAwxRyutcqVq8nKc.png) + - `col_quailfication_elem` - ![](../../../static/sql-reference/JgXXboDxzoUFPVxND7UcGSFNngg.png) + - `index_def` - ![](../../../static/sql-reference/L08wbq9zmoF8LLxzTPpcabO9n5c.png) + - `family_def` - ![](../../../static/sql-reference/ZIXJbA3ocordY5xlN9Scmj25n9e.png) + - `table_constraint` - ![](../../../static/sql-reference/JsQmb5WkMotcY2xOTiNcvodqnTb.png) + - `constraint_elem` - ![](../../../static/sql-reference/BEFeb6uvCojNJDx3xoicG6hJnwd.png) + - `interleave_clause` - ![](../../../static/sql-reference/create-r-table-interleave.png) + - `partition_by_clause` - ![](../../../static/sql-reference/create-r-table-partition.png) + ### 参数说明 :::warning 说明 -配置可选参数时,必须严格按照 `[ | | | ] [] [COMMENT [=] <'comment_text'>]` 的顺序,否则系统将会报错。 +配置可选参数时,必须严格按照 `[ | | | ] [] [] [COMMENT [=] <'comment_text'>]` 的顺序,否则系统将会报错。 ::: | 参数 | 说明 | @@ -500,7 +500,7 @@ id: relational-table ### 语法格式 -![](../../../static/sql-reference/M4Blb2aeEo9lnixdVhdclHI2nLb.png) + ### 参数说明 @@ -610,7 +610,7 @@ id: relational-table ### 所需权限 -用户拥有指定表的任何权限。 +用户拥有目标表的任何权限。 ### 语法格式 @@ -675,15 +675,15 @@ id: relational-table ### 所需权限 -- 在现有表中添加、修改、重命名或删除列:用户拥有目标表的 CREATE 权限。 -- 在现有表中添加、验证、重命名或删除约束:用户拥有目标表的 CREATE 权限。 -- 修改现有表上的主键列:用户拥有目标表的 CREATE 权限。 -- 修改表的区域配置:用户拥有目标表的 CREATE 权限或 ZONECONFIG 权限。 -- 创建表分区:用户拥有目标表的 CREATE 权限。 +- 在现有表中添加、修改、重命名或删除列:用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 在现有表中添加、验证、重命名或删除约束:用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 修改现有表上的主键列:用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 修改表的区域配置:用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限或 ZONECONFIG 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 创建表分区:用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 - 重命名表: - - 重命名当前数据库中的表:用户拥有表所属数据库的 CREATE 权限和原表的 DROP 权限时。当表存在视图依赖时,系统不支持重命名表。 - - 重命名表并将其迁移表到其他数据库:用户拥有目标数据库的 CREATE 权限。 -- 在表的特定行或范围上创建或移除拆分点: 用户拥有目标表的INSERT权限。 + - 重命名当前数据库中的表:用户是 `admin` 角色的成员或者拥有所属数据库的 CREATE 权限和原表的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。当表存在视图依赖时,系统不支持重命名表。 + - 重命名表并将其迁移表到其他数据库:用户是 `admin` 角色的成员或者拥有目标数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 在表的特定行或范围上创建或移除拆分点: 用户是 `admin` 角色的成员或者拥有目标表的 INSERT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -816,7 +816,7 @@ id: relational-table ### 所需权限 -- 用户拥有目标表的 DROP 权限。 +- 用户是 `admin` 角色的成员或者拥有目标表的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。 - 当目标表存在关联的外键约束或与其他交错表关联,用户还需要拥有关联表的 REFERENCES 权限。 - 当目标表存在视图等依赖关系,用户还需要拥有所有依赖此表视图的 DROP 权限。 diff --git a/sql-reference/ddl/relational-db/relational-trigger.md b/sql-reference/ddl/relational-db/relational-trigger.md index d6d461ca3bbec7f9a258900d18bcdf79b68e8b8c..1323b68adff302df3bbac6646e5dc430af6e9516 100644 --- a/sql-reference/ddl/relational-db/relational-trigger.md +++ b/sql-reference/ddl/relational-db/relational-trigger.md @@ -13,8 +13,7 @@ id: relational-trigger ### 所需权限 -- 非三权分立模式下,用户是 `admin` 角色的成员或者拥有触发器关联表的 `CREATE` 权限和触发器主体中相关 SQL 操作的权限。默认情况下,`root` 用户属于 `admin` 角色。 -- 三权分立模式下,用户是 `sysadmin` 角色的成员或者是拥有触发器关联表的 `CREATE` 权限和触发器主体中相关 SQL 操作权限的普通用户。默认情况下,`sysroot` 用户属于 `sysadmin` 角色。 +用户是 `admin` 角色的成员或者拥有触发器关联表的 `CREATE` 权限和触发器主体中相关 SQL 操作的权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -105,8 +104,7 @@ SHOW TRIGGERS FROM orders; ### 所需权限 -- 非三权分立模式下,用户是 `admin` 角色的成员或者拥有触发器关联表的 `DROP` 权限。默认情况下,`root` 用户属于 `admin` 角色。 -- 三权分立模式下,用户是 `sysadmin` 角色的成员或者是拥有触发器关联表的 `DROP` 权限的普通用户。默认情况下,`sysroot` 用户属于 `sysadmin` 角色。 +用户是 `admin` 角色的成员或者拥有触发器关联表的 `DROP` 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -134,8 +132,7 @@ ALTER TRIGGER my_trigger ON orders RENAME TO trigger_test; ### 所需权限 -- 非三权分立模式下,用户是 `admin` 角色的成员或者拥有触发器关联表的 `DROP` 权限。默认情况下,`root` 用户属于 `admin` 角色。 -- 三权分立模式下,用户是 `sysadmin` 角色的成员或者是拥有触发器关联表的 `DROP` 权限的普通用户。默认情况下,`sysroot` 用户属于 `sysadmin` 角色。 +用户是 `admin` 角色的成员或者拥有触发器关联表的 `DROP` 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/ddl/relational-db/relational-view.md b/sql-reference/ddl/relational-db/relational-view.md index 3f3d325ffebef919ae52a53699e0f5f54416db26..d6d7160468c0dac14de01edb8edb3f8ee5b67713 100644 --- a/sql-reference/ddl/relational-db/relational-view.md +++ b/sql-reference/ddl/relational-db/relational-view.md @@ -11,7 +11,7 @@ id: relational-view ### 所需权限 -用户拥有所属数据库的 CREATE 权限和引用表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有所属数据库的 CREATE 权限和引用表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -65,7 +65,7 @@ SELECT * FROM short_order; ### 所需权限 -用户拥有重命名前视图的 DROP 权限以及重命名后视图所属父数据库的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有重命名前视图的 DROP 权限以及重命名后视图所属父数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -114,8 +114,8 @@ SELECT * FROM information_schema.tables WHERE table_type = 'VIEW'; ### 所需权限 -- 删除无依赖关系的视图:用户拥有目标视图的 DROP 权限。 -- 删除存在依赖关系的视图:用户拥有目标视图的 DROP 权限及其关联对象的 DROP 权限。 +- 删除无依赖关系的视图:用户是 `admin` 角色的成员或者拥有目标视图的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 删除存在依赖关系的视图:用户是 `admin` 角色的成员或者拥有目标视图及其关联对象的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/ddl/relational-db/relational-zone.md b/sql-reference/ddl/relational-db/relational-zone.md index 76826927a91bcbca1db3554c52f749cc52b1f744..9815a277caec9868c4e123de99001fdfb0c952a4 100644 --- a/sql-reference/ddl/relational-db/relational-zone.md +++ b/sql-reference/ddl/relational-db/relational-zone.md @@ -7,15 +7,16 @@ id: relational-zone 在 KWDB 集群中,每个数据分片都隶属于一个特定的副本区域(zone)。集群在重新平衡数据分片时,会考虑副本区域的配置,以确保遵守所有约束条件。 -集群启动时,会自动生成预配置的副本区域和 `default` 副本区域。其中预配置的副本区域适用于内部系统数据,`default` 副本区域适用于集群中的其他数据。用户可以直接使用或调整上述副本区域,也可以为指定数据库或表单独设置副本区域。 +集群启动时,会自动生成预配置的副本区域和 `default` 副本区域。其中预配置的副本区域适用于内部系统数据,`default` 副本区域适用于集群中的其他数据。用户可以直接使用或调整上述副本区域,也可以为指定数据库、表、分区单独设置副本区域。 表数据适用的副本区域分为以下级别: - **集群**:预配置的 `default` 副本区域,适用于未受指定数据库、表或行约束的数据。此区域可以调整但不能删除。 - **数据库**:为指定关系库单独设置副本区域。 - **表**:为指定关系表单独设置副本区域。 +- **分区**:为指定关系表的分区单独设置副本区域。 -数据复制过程中,副本区域的优先级排序为 表 > 数据库 > 集群。 +数据复制过程中,副本区域的优先级排序为 分区 > 表 > 数据库 > 集群。 内部系统数据存储在系统数据分片内,适用于以下级别的副本区域: @@ -36,7 +37,7 @@ id: relational-zone ### 语法格式 -![](../../../static/sql-reference/SSGZblIQVocnuBxn2JJcH2bonKb.png) +![](../../../static/sql-reference/show-zone.png) ### 参数说明 @@ -46,6 +47,7 @@ id: relational-zone | `database_name` | 数据库的名称。 | | `table_name` | 表的名称。 | | `index_name` | 索引的名称。 | +| `partition_name` | 分区的名称。 | ### 语法示例 @@ -124,12 +126,12 @@ id: relational-zone ### 所需权限 -- 修改系统数据库或系统数据分片:用户为 Admin 用户或 Admin 角色成员。 -- 修改其他库或其他库下的数据分片或表:用户拥有目标对象的 CREATE 权限或 ZONECONFIG 权限。 +- 修改系统数据库或系统数据分片:用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 +- 修改其他库或其他库下的数据分片、表或分区:用户是 `admin` 角色的成员或者拥有目标对象的 CREATE 权限或 ZONECONFIG 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 -![img](../../../static/sql-reference/alter-zone.png) +![img](../../../static/sql-reference/alter-zone-r.png) ### 参数说明 @@ -139,7 +141,7 @@ id: relational-zone | `table_name` | 待修改的表名。| | `range_name` | 待修改的数据分片名,包括:
- `default`:默认副本设置
- `meta`:所有数据的位置信息
- `liveness`:给定时间活动节点的信息
- `system`:分配新表ID所需的信息以及追踪集群节点状态
- `timeseries`:集群监控数据| | `partition_name` | 待修改的表分区名。| -| `variable` | 待修改的变量名,关系库支持修改以下变量:
- `range_min_bytes`:数据分片的最小大小,单位为字节。数据分片小于该值时,KWDB 会将其与相邻数据分片合并。默认值:256 MiB,设置值应大于 1 MiB(1048576 字节),小于数据分片的最大大小。
- `range_max_bytes`:数据分片的最大大小,单位为字节。数据分片大于该值时,KWDB 会将其切分到两个数据分片。默认值: 512 MiB。设置值不得小于 5 MiB(5242880 字节)。
- `gc.ttlseconds`:数据在垃圾回收前保留的时间,单位为秒。默认值为 `90000`(25 小时)。设置值建议不小于 600 秒(10 分钟),以免影响长时间运行的查询。设置值较小时可以节省磁盘空间,设置值较大时会增加 `AS OF SYSTEM TIME` 查询的时间范围。另外,由于每行的所有版本都存储在一个永不拆分的单一数据分片内,不建议将该值设置得太大,以免单行的所有更改累计超过 64 MiB,导致内存不足或其他问题。
- `num_replicas`:副本数量。默认值为 3。`system` 数据库、`meta`、`liveness` 和 `system` 数据分片的默认副本数为 5。 **注意**:集群中存在不可用节点时,副本数量不可缩减。
- `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}'` 表示在 `node1`、`node2`、`node3` 上必须各放置 1 个副本。目前只支持 `region=nodex` 格式。
- `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=node1]]'` 表示倾向将主副本放置在 `node1`。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。列表中的每个值可以包含多个约束。

**注意**:
- 租约偏好不必与 `constraints` 字段共享,用户可以单独定义 `lease_preferences`
- 设置 `constraints` 时需要同步设置 `num_replicas`,且 `constraints` 数量需要小于等于 `num_replicas` 数量。`constraints` 中的顺序无影响 | +| `variable` | 待修改的变量名,关系库支持修改以下变量:
- `range_min_bytes`:数据分片的最小大小,单位为字节。数据分片小于该值时,KWDB 会将其与相邻数据分片合并。默认值:256 MiB,设置值应大于 1 MiB(1048576 字节),小于数据分片的最大大小。
- `range_max_bytes`:数据分片的最大大小,单位为字节。数据分片大于该值时,KWDB 会将其切分到两个数据分片。默认值: 512 MiB。设置值不得小于 5 MiB(5242880 字节)。
- `gc.ttlseconds`:数据在垃圾回收前保留的时间,单位为秒。默认值为 `90000`(25 小时)。设置值建议不小于 600 秒(10 分钟),以免影响长时间运行的查询。设置值较小时可以节省磁盘空间,设置值较大时会增加 `AS OF SYSTEM TIME` 查询的时间范围。另外,由于每行的所有版本都存储在一个永不拆分的单一数据分片内,不建议将该值设置得太大,以免单行的所有更改累计超过 64 MiB,导致内存不足或其他问题。
- `num_replicas`:副本数量。默认值为 3。`system` 数据库、`meta`、`liveness` 和 `system` 数据分片的默认副本数为 5。 **注意**:集群中存在不可用节点时,副本数量不可缩减。
- `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}'` 表示在节点 1、2 和 3 上必须各放置 1 个副本。目前只支持 `region=NODEx` 格式。
- `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=NODE1]]'` 表示倾向将主副本放置在节点 1。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。列表中的每个值可以包含多个约束。

**注意**:
- 租约偏好不必与 `constraints` 字段共享,用户可以单独定义 `lease_preferences`
- 设置 `constraints` 时需要同步设置 `num_replicas`,且 `constraints` 数量需要小于等于 `num_replicas` 数量。`constraints` 中的顺序无影响 | | `value` | 变量值。 | |`COPY FROM PARENT`| 使用父区域的设置值。| |`DISCARD` | 移除区域配置,采用默认值。| @@ -169,7 +171,7 @@ id: relational-zone - 修改表的区域配置 - 以下示例将 `orders` 表的副本数改为3个,将数据在垃圾回收前保留的时间改为100000秒。 + 以下示例将 `orders` 表的副本数改为 3 个,将数据在垃圾回收前保留的时间改为 100000 秒。 ```SQL > ALTER TABLE orders CONFIGURE ZONE USING num_replicas = 3, gc.ttlseconds = 100000; diff --git a/sql-reference/ddl/ts-db/ts-column.md b/sql-reference/ddl/ts-db/ts-column.md index 80d2275ee2744da29a793a2956d59fe9485f91a5..a9473e3d9b9e12ecdf51c96e4e40698667dcd89a 100644 --- a/sql-reference/ddl/ts-db/ts-column.md +++ b/sql-reference/ddl/ts-db/ts-column.md @@ -18,7 +18,7 @@ KWDB 支持使用 `ALTER TABLE ... ADD COLUMN` 语句添加列。`ADD COLUMN` ### 所需权限 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -133,7 +133,7 @@ KWDB 支持使用 `ALTER TABLE ... ALTER COLUMN` 语句修改列的数据类型 ### 所需权限 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -179,7 +179,7 @@ KWDB 支持使用 `ALTER TABLE ... RENAME COLUMN` 语句修改列名。 ### 所需权限 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -215,7 +215,7 @@ KWDB 支持使用 `ALTER TABLE ... DROP COLUMN` 语句删除列。`DROP COLUMN` ### 所需权限 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/ddl/ts-db/ts-comment.md b/sql-reference/ddl/ts-db/ts-comment.md index d1ce6a42128f310ccd676ee7bf24353a7bb12ed3..dd3576d3a4a7219f2f4b900876c0b7e3fdf1ab2d 100644 --- a/sql-reference/ddl/ts-db/ts-comment.md +++ b/sql-reference/ddl/ts-db/ts-comment.md @@ -11,7 +11,7 @@ id: ts-comment ### 所需权限 -用户拥有操作对象的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有操作对象的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/ddl/ts-db/ts-database.md b/sql-reference/ddl/ts-db/ts-database.md index a62481eabab1c286f559e119e6d81f57d7f21174..9cbcbe41aded7bdec73dde4a4a215f5191808fb5 100644 --- a/sql-reference/ddl/ts-db/ts-database.md +++ b/sql-reference/ddl/ts-db/ts-database.md @@ -13,7 +13,7 @@ id: ts-database ### 所需权限 -用户具有 Admin 角色。默认情况下,root 用户具有 Admin 角色。创建成功后,用户拥有该数据库的全部权限。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。创建成功后,用户拥有该数据库的全部权限。 ### 语法格式 @@ -22,7 +22,10 @@ id: ts-database ### 参数说明 :::warning 说明 -配置可选参数时,必须严格按照 `[RETENTIONS ] [COMMENT [=] <'comment_text'>]` 的顺序,否则系统将会报错。 + +- 配置可选参数时,必须严格按照 `[RETENTIONS ] [COMMENT [=] <'comment_text'>]` 的顺序,否则系统将会报错。 +- 3.0.0 版本数据库分区间隔仅支持 10 天,其他配置值无效。 + ::: | 参数 | 说明 | @@ -171,10 +174,11 @@ CREATE TS DATABASE tsdb1 RETENTIONS 10d; --2. 查看已创建的 tsdb1 数据库。 SHOW CREATE DATABASE tsdb1; - database_name | create_statement -----------------+------------------------------------- + database_name | create_statement +----------------+------------------------------- tsdb1 | CREATE TS DATABASE tsdb1 | retentions 864000s + | partition interval 10d (1 row) ``` @@ -184,7 +188,7 @@ SHOW CREATE DATABASE tsdb1; ### 所需权限 -用户拥有数据库的 CREATE 或 ALL 权限。 +无 ### 语法格式 @@ -210,11 +214,11 @@ USE ts_db; ### 所需权限 -- 修改数据库的名称:用户为 Admin 用户或者 Admin 角色成员。 -- 修改数据库生命周期:用户为 Admin 用户或者 Admin 角色成员。 +- 修改数据库的名称:用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 +- 修改数据库生命周期:用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 - 修改数据库区域设置 - - 修改系统数据库区域配置:用户为 Admin 用户或 Admin 角色成员。 - - 修改其他数据库区域配置:用户拥有目标数据库的 CREATE 或 ZONECONFIG 权限。 + - 修改系统数据库区域配置:用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 + - 修改其他数据库区域配置:用户是 `admin` 角色的成员或者拥有目标数据库的 CREATE 或 ZONECONFIG 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -238,10 +242,10 @@ USE ts_db; | `new_name` | 拟修改的数据库名称,新数据库名称必须唯一,并且遵循[数据库标识符规则](../../sql-identifiers.md)。目前,数据库名称不支持中文字符,最大长度不能超过 63 个字节。| | `database_name` | 待修改的数据库名称。| | `keep_duration` | 可选参数,设置数据库的数据生命周期。数据超过此时长后将被系统自动清除。
默认值: `0s`(永久保留)
时间单位:
- 秒:`s` 或 `second`
- 分钟:`m` 或 `minute`
- 小时:`h` 或 `hour`
- 天:`d` 或 `day`
- 周:`w` 或 `week`
- 月:`mon` 或 `month`
- 年:`y` 或 `year`
取值范围:正整数,上限为 1000 年
**说明:**
- 表级设置优先于库级设置。
- 保留时长越长,存储空间占用越大,请根据业务需求合理配置。
- 如果待写入的数据已超过生命周期限制,系统会直接丢弃该数据,不予写入。| -| `variable` | 要修改的变量名,时序库支持修改以下变量:
- `range_min_bytes`:分区的最小大小,单位为字节。分区小于该值时,KaiwuDB 会将其与相邻分区合并。默认值:256 MiB,设置值应大于 1 MiB(1048576 字节),小于分区的最大大小。
- `range_max_bytes`:分区的最大大小,单位为字节。分区大于该值时,KaiwuDB 会将其切分到两个分区。默认值: 512 MiB。设置值不得小于 5 MiB(5242880 字节)。
- `gc.ttlseconds`:数据在垃圾回收前保留的时间,单位为秒。默认值为 `90000`(25 小时)。设置值建议不小于 600 秒(10 分钟),以免影响长时间运行的查询。设置值较小时可以节省磁盘空间,设置值较大时会增加 `AS OF SYSTEM TIME` 查询的时间范围。另外,由于每行的所有版本都存储在一个永不拆分的单一分区内,不建议将该值设置得太大,以免单行的所有更改累计超过 64 MiB,导致内存不足或其他问题。
- `num_replicas`:副本数量。默认值为 3。`system` 数据库、`meta`、`liveness` 和 `system` 分区的默认副本数为 5。 **注意**:集群中存在不可用节点时,副本数量不可缩减。
- `ts_merge.days`:时序分区合并时间。同一个时序表同哈希点按照时间戳分裂后,超过该时间的分区将自动合并,且合并后不会再自动拆分。默认值:10(10天)。设置值必须大于等于 0,设置值为 0 时表示时序分区按照时间戳分裂后便立刻自动合并。系统分区数量过多导致出现网络等故障时可以将该值适当调小,以缓解数据过大的问题。**提示:** KaiwuDB 默认只根据哈希点拆分分区,因此分区按时间合并功能默认关闭,如需支持按时间合并分区,需将 `kv.kvserver.ts_split_interval` 实时参数设置为 `1`, 将 `kv.kvserver.ts_split_by_timestamp.enabled` 实时参数设置为 `true` 以支持按照哈希点和时间戳拆分分区。 | +| `variable` | 要修改的变量名,时序库支持修改以下变量:
- `range_min_bytes`:分区的最小大小,单位为字节。分区小于该值时,KWDB 会将其与相邻分区合并。默认值:256 MiB,设置值应大于 1 MiB(1048576 字节),小于分区的最大大小。
- `range_max_bytes`:分区的最大大小,单位为字节。分区大于该值时,KWDB 会将其切分到两个分区。默认值: 512 MiB。设置值不得小于 5 MiB(5242880 字节)。
- `gc.ttlseconds`:数据在垃圾回收前保留的时间,单位为秒。默认值为 `90000`(25 小时)。设置值建议不小于 600 秒(10 分钟),以免影响长时间运行的查询。设置值较小时可以节省磁盘空间,设置值较大时会增加 `AS OF SYSTEM TIME` 查询的时间范围。另外,由于每行的所有版本都存储在一个永不拆分的单一分区内,不建议将该值设置得太大,以免单行的所有更改累计超过 64 MiB,导致内存不足或其他问题。
- `num_replicas`:副本数量。默认值为 3。`system` 数据库、`meta`、`liveness` 和 `system` 分区的默认副本数为 5。 **注意**:集群中存在不可用节点时,副本数量不可缩减。
- `ts_merge.days`:时序分区合并时间。同一个时序表同哈希点按照时间戳分裂后,超过该时间的分区将自动合并,且合并后不会再自动拆分。默认值:10(10天)。设置值必须大于等于 0,设置值为 0 时表示时序分区按照时间戳分裂后便立刻自动合并。系统分区数量过多导致出现网络等故障时可以将该值适当调小,以缓解数据过大的问题。**提示:** KWDB 默认只根据哈希点拆分分区,因此分区按时间合并功能默认关闭,如需支持按时间合并分区,需将 `kv.kvserver.ts_split_interval` 实时参数设置为 `1`, 将 `kv.kvserver.ts_split_by_timestamp.enabled` 实时参数设置为 `true` 以支持按照哈希点和时间戳拆分分区。 | | `value` | 变量值。 | |`COPY FROM PARENT`| 使用父区域的设置值。| -|`USING REBALANCE` | 手动触发数据分片的区域重新分配和负载均衡。

适用于以下场景:
- 关闭自动均衡后的主动调优
- 负载不均时的人工干预

KaiwuDB 默认自动执行后台数据分片均衡,用户通过 `SET CLUSTER SETTING kv.allocator.ts_consider_rebalance.enabled = false;` 关闭自动均衡功能后,可在系统低负载时段进行手动均衡。

注意:
- 该功能仅适用于用户数据分片,不适用于系统数据分片
- 建议在业务低峰期执行,避免影响正常业务性能。 | +|`USING REBALANCE` | 手动触发数据分片的区域重新分配和负载均衡。

适用于以下场景:
- 关闭自动均衡后的主动调优
- 负载不均时的人工干预

KWDB 默认自动执行后台数据分片均衡,用户通过 `SET CLUSTER SETTING kv.allocator.ts_consider_rebalance.enabled = false;` 关闭自动均衡功能后,可在系统低负载时段进行手动均衡。

注意:
- 该功能仅适用于用户数据分片,不适用于系统数据分片
- 建议在业务低峰期执行,避免影响正常业务性能。 | |`DISCARD` | 移除区域配置,采用默认值。| ### 语法示例 @@ -264,7 +268,7 @@ USE ts_db; - 修改数据库的区域配置。 - 以下示例将 `tsdb` 数据库的副本数改为5个,将数据在垃圾回收前保留的时间改为100000秒。 + 以下示例将 `tsdb` 数据库的副本数改为 5 个,将数据在垃圾回收前保留的时间改为 100000 秒。 ```SQL -- 1. 修改区域配置 @@ -273,16 +277,16 @@ USE ts_db; -- 2. 查看修改是否成功 > SHOW ZONE CONFIGURATION FOR DATABASE tsdb; - zone_name | config_sql - +-----------+-----------------------------------------+ - tsdb | ALTER DATABASE tsdb CONFIGURE ZONE USING - | range_min_bytes = 268435456, - | range_max_bytes = 536870912, - | gc.ttlseconds = 100000, - | num_replicas = 5, - | constraints = '[]', - | lease_preferences = '[]' - (6 rows) + target | raw_config_sql + ----------------+------------------------------------------- + DATABASE tsdb | ALTER DATABASE tsdb CONFIGURE ZONE USING + | range_min_bytes = 134217728, + | range_max_bytes = 536870912, + | gc.ttlseconds = 100000, + | num_replicas = 5, + | constraints = '[]', + | lease_preferences = '[]' + (1 row) ``` ## 删除数据库 @@ -295,7 +299,7 @@ USE ts_db; ### 所需权限 -用户拥有目标数据库及对象的 DROP 权限。删除成功后,所有用户针对目标数据库和其对象的所有权限均被删除。 +用户是 `admin` 角色的成员或者拥有目标数据库及对象的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。删除成功后,所有用户针对目标数据库和其对象的所有权限均被删除。 ### 语法格式 diff --git a/sql-reference/ddl/ts-db/ts-index.md b/sql-reference/ddl/ts-db/ts-index.md index ff27195361d05307349364b4ed644d7340eafe5c..2a2d1cfb7b31a71ea1b7f03407fcb50bf83b2218 100644 --- a/sql-reference/ddl/ts-db/ts-index.md +++ b/sql-reference/ddl/ts-db/ts-index.md @@ -112,6 +112,7 @@ SHOW INDEXES FROM temperature; | 参数 | 说明 | | --- | --- | +| `database_name` | 待删除索引所在的数据库名。| | `table_name` | 待删除索引所在的表名。| | `index_name` | 待删除索引的名称。| diff --git a/sql-reference/ddl/ts-db/ts-label.md b/sql-reference/ddl/ts-db/ts-label.md index b8e3a5721f2690d1311cc99b70cc3f72f8d361d3..7a1fe5b3f7b1cebe78bddc7ad79404a77105b9f3 100644 --- a/sql-reference/ddl/ts-db/ts-label.md +++ b/sql-reference/ddl/ts-db/ts-label.md @@ -19,7 +19,7 @@ KWDB 支持在创建表时创建表的标签,也支持使用 `ALTER TABLE ... ### 所需权限 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -84,7 +84,7 @@ SHOW TAGS FROM sensor_data; ### 所需权限 -用户拥有目标表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -120,7 +120,7 @@ KWDB 支持使用 `ALTER TABLE ... ALTER TAG` 语句修改标签的数据类型 ### 所需权限 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -148,7 +148,7 @@ KWDB 支持使用 `ALTER TABLE ... RENAME TAG` 语句修改标签名称。 ### 所需权限 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -184,7 +184,7 @@ KWDB 支持使用 `ALTER TABLE ... DROP TAG` 语句删除标签。`DROP TAG` 为 ### 所需权限 -用户拥有目标表的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/ddl/ts-db/ts-partition.md b/sql-reference/ddl/ts-db/ts-partition.md index a7a7ca13ef5ca3ed66fc9b19d2933d98a7d110f2..a1a0b5cc4fc2dd9cee6fce44400c00b1c6c478b7 100644 --- a/sql-reference/ddl/ts-db/ts-partition.md +++ b/sql-reference/ddl/ts-db/ts-partition.md @@ -34,7 +34,7 @@ id: ts-partition ### 所需权限 -用户为 `admin` 角色成员或拥有目标表的 CREATE 权限,root 用户默认属于 `admin` 角色。 +用户是 `admin` 角色成员或拥有目标表的 CREATE 权限,root 用户默认属于 `admin` 角色。 ### 语法格式 @@ -46,11 +46,11 @@ id: ts-partition - 按指定哈希值分区: - ![](../../../static/sql-reference/alter-ts-table-partition-in.png) + - 按指定哈希值范围分区: - ![](../../../static/sql-reference/alter-ts-table-partition-from.png) + ### 参数说明 @@ -70,9 +70,9 @@ id: ts-partition -- 为订单表创建按指定哈希值的分区 ALTER TABLE orders PARTITION BY HASHPOINT ( - PARTITION p_region_1 VALUES IN (1, 3, 5, 7), - PARTITION p_region_2 VALUES IN (2, 4, 6, 8), - PARTITION p_region_3 VALUES IN (9, 10) + PARTITION p_region_1 VALUES IN [1, 3, 5, 7], + PARTITION p_region_2 VALUES IN [2, 4, 6, 8], + PARTITION p_region_3 VALUES IN [9, 10] ); ``` @@ -82,9 +82,9 @@ id: ts-partition -- 为用户表创建按哈希值范围的分区 ALTER TABLE users PARTITION BY HASHPOINT ( - PARTITION p_low FROM (0) TO (100), - PARTITION p_medium FROM (100) TO (200), - PARTITION p_high FROM (200) TO (300) + PARTITION p_low VALUES FROM (0) TO (100), + PARTITION p_medium VALUES FROM (100) TO (200), + PARTITION p_high VALUES FROM (200) TO (300) ); ``` @@ -103,11 +103,11 @@ id: ts-partition ### 所需权限 -用户为 `admin` 角色成员或拥有目标表的 CREATE 权限,root 用户默认属于 `admin` 角色。 +用户是 `admin` 角色成员或拥有目标表的 CREATE 权限,root 用户默认属于 `admin` 角色。 ### 语法格式 -![](../../../static/sql-reference/alter-partition.png) + ### 参数说明 @@ -115,33 +115,33 @@ id: ts-partition | :--------------- | :----------------------------------------------------------- | | `partition_name` | 待修改的分区名称 | | `table_name` | 分区所在的表名 | -| `variable` | 支持修改以下变量:
• `num_replicas`:副本数量。默认值为 3
• `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}'` 表示在 `node1`、`node2`、`node3` 上必须各放置 1 个副本。目前只支持 `region=nodex` 格式
• `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=node1]]'` 表示倾向将主副本放置在 `node1`。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。列表中的每个值可以包含多个约束

**注意**:
• 租约偏好不必与 `constraints` 字段共享,用户可以单独定义 `lease_preferences`
• 设置 `constraints` 时需要同步设置 `num_replicas`,且 `constraints` 数量需要小于等于 `num_replicas` 数量。`constraints` 中的顺序无影响 | +| `variable` | 支持修改以下变量:
- `num_replicas`:副本数量。默认值为 3
- `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}'` 表示在节点 1、节点 2、节点 3 上必须各放置 1 个副本。目前只支持 `region=NODEx` 格式
- `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=NODE1]]'` 表示倾向将主副本放置在节点 1。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。列表中的每个值可以包含多个约束

**注意**:
- 租约偏好不必与 `constraints` 字段共享,用户可以单独定义 `lease_preferences`
- 设置 `constraints` 时需要同步设置 `num_replicas`,且 `constraints` 数量需要小于等于 `num_replicas` 数量。`constraints` 中的顺序无影响 | | `value` | 变量值,可以是具体的配置值,也可以是 `COPY FROM PARENT`,即使用父区域的设置值 | | `DISCARD` | 移除区域配置,采用默认值 | ### 语法示例 ```SQL --- 低哈希值分区:数据存储在所有节点,lease偏向node1 +-- 低哈希值分区:数据存储在所有节点,lease 偏向节点 1 ALTER PARTITION p_low OF TABLE users CONFIGURE ZONE USING num_replicas = 3, - constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}', - lease_preferences = '[[+region=node1]]'; + constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}', + lease_preferences = '[[+region=NODE1]]'; --- 中哈希值分区:数据存储在所有节点,lease偏向node2 +-- 中哈希值分区:数据存储在所有节点,lease 偏向节点 2 ALTER PARTITION p_medium OF TABLE users CONFIGURE ZONE USING num_replicas = 3, - constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}', - lease_preferences = '[[+region=node2]]'; + constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}', + lease_preferences = '[[+region=NODE2]]'; --- 高哈希值分区:数据存储在所有节点,lease偏向node3 +-- 高哈希值分区:数据存储在所有节点,lease 偏向节点 3 ALTER PARTITION p_high OF TABLE users CONFIGURE ZONE USING num_replicas = 3, - constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}', - lease_preferences = '[[+region=node3]]'; + constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}', + lease_preferences = '[[+region=NODE3]]'; -- 插入测试数据 INSERT INTO users (created_at, id, name, email, region) VALUES diff --git a/sql-reference/ddl/ts-db/ts-range.md b/sql-reference/ddl/ts-db/ts-range.md index 70085e3a8a21863f1466d1a637be1c94c21f9cb7..94d4e1714809278fc0f471bcac806efe5274976c 100644 --- a/sql-reference/ddl/ts-db/ts-range.md +++ b/sql-reference/ddl/ts-db/ts-range.md @@ -30,7 +30,7 @@ KWDB 支持用户使用 `SELECT * from kwdb_internal.ranges` 语句查看时序 ### 所需权限 -用户为 Admin 用户或者 Admin 角色成员。默认情况下,root 用户具有 Admin 角色。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/ddl/ts-db/ts-table.md b/sql-reference/ddl/ts-db/ts-table.md index 93198be0041d5ce7bdde229579c71eb5f3666286..0aa09bee3bfaddc29db77ec02ebe13bbb5d70524 100644 --- a/sql-reference/ddl/ts-db/ts-table.md +++ b/sql-reference/ddl/ts-db/ts-table.md @@ -11,7 +11,7 @@ id: ts-table ### 所需权限 -用户拥有 DATABASE CREATE 权限。 +用户是 `admin` 角色的成员或者拥有数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -22,7 +22,8 @@ id: ts-table :::warning 说明 - 目前,时序表名、列名和标签名称不支持中文字符。 -- 配置可选参数时,必须严格按照 `[RETENTIONS ] [DICT ENCODING] [COMMENT [=] <'comment_text'>] [WITH HASH(hash_value)]` 的顺序,否则系统将会报错。 +- 配置可选参数时,必须严格按照 `[RETENTIONS ] [DICT ENCODING] [COMMENT [=] <'comment_text'>] [WITH HASH()]` 的顺序,否则系统将会报错。 +- 3.0.0 版本中,表活跃时间和分区间隔的配置不会生效。 ::: @@ -62,13 +63,16 @@ id: ts-table table_name | create_statement --------------+----------------------------------------------------------------- sensor_data | CREATE TABLE sensor_data ( - | k_timestamp TIMESTAMPTZ NOT NULL, + | k_timestamp TIMESTAMPTZ(3) NOT NULL, | temperature FLOAT8 NOT NULL, | humidity FLOAT8 NULL, | pressure FLOAT8 NULL | ) TAGS ( | sensor_id INT4 NOT NULL, | sensor_type VARCHAR(30) NOT NULL ) PRIMARY TAGS(sensor_id) + | retentions 864000s + | activetime 1d + | partition interval 10d (1 row) ``` @@ -122,7 +126,7 @@ id: ts-table ### 所需权限 -用户拥有指定表的任何权限。 +用户拥有目标表的任何权限。 ### 语法格式 @@ -203,7 +207,7 @@ id: ts-table ### 所需权限 -用户拥有指定表的任何权限。 +用户拥有目标表的任何权限。 ### 语法格式 @@ -233,11 +237,13 @@ id: ts-table table_name | create_statement -------------+---------------------------------------------- t3 | CREATE TABLE t3 ( - | ts TIMESTAMPTZ NOT NULL, + | ts TIMESTAMPTZ(3) NOT NULL, | a INT4 NULL | ) TAGS ( | ptag INT4 NOT NULL ) PRIMARY TAGS(ptag) | retentions 0s + | activetime 1d + | partition interval 30d (1 row) ``` @@ -260,7 +266,9 @@ id: ts-table | ) TAGS ( | site INT4 NOT NULL ) PRIMARY TAGS(site) | retentions 0s - (1 row) + | activetime 1d + | partition interval 30d + (1 row) ``` ## 修改表 @@ -285,11 +293,11 @@ id: ts-table ### 所需权限 -- 重命名表:用户拥有目标表的 DROP 权限及所在数据库的 CREATE 权限。 -- 添加、修改、删除、重命名列或标签:用户拥有目标表的 CREATE 权限。 -- 设置表的数据生命周期:用户拥有目标表的 CREATE 权限。 -- 修改表的区域配置:用户拥有目标表的 CREATE 或 ZONECONFIG 权限。 -- 创建表分区:用户拥有目标表的 CREATE 权限。 +- 重命名表:用户是 `admin` 角色的成员或者拥有目标表的 DROP 权限及所在数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 添加、修改、删除、重命名列或标签:用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 设置表的数据生命周期:用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 修改表的区域配置:用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限或 ZONECONFIG 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 创建表分区:用户是 `admin` 角色的成员或者拥有目标表的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -411,7 +419,7 @@ ALTER TABLE ts_table ALTER color TYPE VARCHAR(50); ### 所需权限 -用户拥有目标表的 DROP 权限。删除成功后,所有用户针对目标表的所有权限均被删除。 +用户是 `admin` 角色的成员或者拥有目标表的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。删除成功后,所有用户针对目标表的所有权限均被删除。 ### 语法格式 diff --git a/sql-reference/ddl/ts-db/ts-zone.md b/sql-reference/ddl/ts-db/ts-zone.md index 9a52afd87307f7d9005a99ea3c135d5042d659ff..1916e97586b7bab24dc8aad8f18063cca783fa2b 100644 --- a/sql-reference/ddl/ts-db/ts-zone.md +++ b/sql-reference/ddl/ts-db/ts-zone.md @@ -7,15 +7,16 @@ id: ts-zone KWDB 集群中,每个数据分片都隶属于一个特定的副本区域(zone)。集群在重新平衡数据分片时,会考虑副本区域的配置,以确保遵守所有约束条件。 -集群启动时,会自动生成预配置的副本区域和 `default` 副本区域。其中预配置的副本区域适用于内部系统数据,`default` 副本区域适用于集群中的其他数据。用户可以直接使用或调整上述副本区域,也可以为指定时序库或时序表单独设置副本区域。 +集群启动时,会自动生成预配置的副本区域和 `default` 副本区域。其中预配置的副本区域适用于内部系统数据,`default` 副本区域适用于集群中的其他数据。用户可以直接使用或调整上述副本区域,也可以为指定数据库、表、分区单独设置副本区域。 表数据适用的副本区域分为以下级别: - **集群**:预配置的 `default` 副本区域,适用于未受指定数据库、表或行约束的数据。此区域可以调整但不能删除。 -- **数据库**:为指定时序库单独设置副本区域。 +- **数据库**:为指定数据库单独设置副本区域。 - **表**:为指定时序表单独设置副本区域。 +- **分区**:为指定时序表的分区单独设置副本区域。 -数据复制过程中,副本区域的优先级排序为 表 > 数据库 > 集群。 +数据复制过程中,副本区域的优先级排序为 分区 > 表 > 数据库 > 集群。 内部系统数据存储在系统数据分片内,适用于以下级别的副本区域: @@ -45,6 +46,7 @@ id: ts-zone | `range_name` | 数据分片名称,包括:
- `default`:默认副本设置
- `meta`:所有数据的位置信息
- `liveness`:给定时间活动节点的信息
- `system`:分配新表ID所需的信息以及追踪集群节点状态
- `timeseries`:集群监控数据 | | `database_name` | 数据库的名称。 | | `table_name` | 表的名称。 | +| `partition_name` | 分区的名称。 | ### 语法示例 @@ -121,14 +123,14 @@ id: ts-zone `ALTER ... CONFIGURE ZONE` 语句用于以下操作: -- 修改数据库、表、数据分片的区域配置 -- 移除数据库、表、数据分片的区域配置 +- 修改数据库、表、数据分片、分区的区域配置 +- 移除数据库、表、数据分片、分区的区域配置 - 对指定数据库、表或数据分片进行手动均衡 ### 所需权限 -- 修改系统数据库或系统数据数据分片:用户为 Admin 用户或者 Admin 角色成员。默认情况下,root 用户具有 Admin 角色。 -- 修改其他库或其他库下的数据分片或表:用户拥有目标对象的 CREATE 权限或 ZONECONFIG 权限。 +- 修改系统数据库或系统数据数据分片:用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 +- 修改其他库或其他库下的数据分片、分区或表:用户是 `admin` 角色的成员或者拥有目标对象的 CREATE 权限或 ZONECONFIG 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -142,7 +144,7 @@ id: ts-zone | `database_name` | 待修改的数据库名称。| | `table_name` | 待修改的表名称。| | `partition_name` | 待修改的表分区名。| -| `variable` | 要修改的变量名,时序库支持修改以下变量:
- `range_min_bytes`:数据分片的最小大小,单位为字节。数据分片小于该值时,KWDB 会将其与相邻数据分片合并。默认值:256 MiB,设置值应大于 1 MiB(1048576 字节),小于数据分片的最大大小。
- `range_max_bytes`:数据分片的最大大小,单位为字节。数据分片大于该值时,KWDB 会将其切分到两个数据分片。默认值: 512 MiB。设置值不得小于 5 MiB(5242880 字节)。
- `gc.ttlseconds`:数据在垃圾回收前保留的时间,单位为秒。默认值为 `90000`(25 小时)。设置值建议不小于 600 秒(10 分钟),以免影响长时间运行的查询。设置值较小时可以节省磁盘空间,设置值较大时会增加 `AS OF SYSTEM TIME` 查询的时间范围。另外,由于每行的所有版本都存储在一个永不拆分的单一数据分片内,不建议将该值设置得太大,以免单行的所有更改累计超过 64 MiB,导致内存不足或其他问题。
- `num_replicas`:副本数量。默认值为 3。`system` 数据库、`meta`、`liveness` 和 `system` 数据分片的默认副本数为 5。 **注意**:集群中存在不可用节点时,副本数量不可缩减。
- `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{+region=node1: 1, +region=node2: 1, +region=node3: 1}'` 表示在 `node1`、`node2`、`node3` 上必须各放置 1 个副本。目前只支持 `region=nodex` 格式。
- `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=node1]]'` 表示倾向将主副本放置在 `node1`。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。列表中的每个值可以包含多个约束。
- `ts_merge.days`:时序数据分片合并时间。同一个时序表同哈希点按照时间戳分裂后,超过该时间的数据分片将自动合并,且合并后不会再自动拆分。默认值:10(10天)。设置值必须大于等于 0,设置值为 0 时表示时序数据分片按照时间戳分裂后便立刻自动合并。系统数据分片数量过多导致出现网络等故障时可以将该值适当调小,以缓解数据过大的问题。

**提示**:
- 租约偏好不必与 `constraints` 字段共享,用户可以单独定义 `lease_preferences`。
- 设置 `constraints` 时需要同步设置 `num_replicas`,且 `constraints` 数量需要小于等于 `num_replicas` 数量。`constraints` 中的顺序无影响。
- KWDB 默认只根据哈希点拆分数据分片,因此数据分片按时间合并功能默认关闭,如需支持按时间合并数据分片,需将 `kv.kvserver.ts_split_interval` 实时参数设置为 `1`, 将 `kv.kvserver.ts_split_by_timestamp.enabled` 实时参数设置为 `true` 以支持按照哈希点和时间戳拆分数据分片。 | +| `variable` | 要修改的变量名,时序库支持修改以下变量:
- `range_min_bytes`:数据分片的最小大小,单位为字节。数据分片小于该值时,KWDB 会将其与相邻数据分片合并。默认值:256 MiB,设置值应大于 1 MiB(1048576 字节),小于数据分片的最大大小。
- `range_max_bytes`:数据分片的最大大小,单位为字节。数据分片大于该值时,KWDB 会将其切分到两个数据分片。默认值: 512 MiB。设置值不得小于 5 MiB(5242880 字节)。
- `gc.ttlseconds`:数据在垃圾回收前保留的时间,单位为秒。默认值为 `90000`(25 小时)。设置值建议不小于 600 秒(10 分钟),以免影响长时间运行的查询。设置值较小时可以节省磁盘空间,设置值较大时会增加 `AS OF SYSTEM TIME` 查询的时间范围。另外,由于每行的所有版本都存储在一个永不拆分的单一数据分片内,不建议将该值设置得太大,以免单行的所有更改累计超过 64 MiB,导致内存不足或其他问题。
- `num_replicas`:副本数量。默认值为 3。`system` 数据库、`meta`、`liveness` 和 `system` 数据分片的默认副本数为 5。 **注意**:集群中存在不可用节点时,副本数量不可缩减。
- `constraints`:副本位置的必需(+)和/或禁止(-)约束。例如 `constraints = '{"+region=NODE1": 1, "+region=NODE2": 1, "+region=NODE3": 1}'` 表示在节点 1、2 和 3 上必须各放置 1 个副本。目前只支持 `region=NODEx` 格式。
- `lease_preferences`:主副本位置的必需(+)和/或禁止(-)约束的有序列表。例如 `lease_preferences = '[[+region=NODE1]]'` 表示倾向将主副本放置在节点 1。如果不能满足首选项,KWDB 将尝试下一个优先级。如果所有首选项都无法满足,KWDB 将使用默认的租约分布算法,基于每个节点已持有的租约数量来决定租约位置,尝试平衡租约分布。列表中的每个值可以包含多个约束。
- `ts_merge.days`:时序数据分片合并时间。同一个时序表同哈希点按照时间戳分裂后,超过该时间的数据分片将自动合并,且合并后不会再自动拆分。默认值:10(10天)。设置值必须大于等于 0,设置值为 0 时表示时序数据分片按照时间戳分裂后便立刻自动合并。系统数据分片数量过多导致出现网络等故障时可以将该值适当调小,以缓解数据过大的问题。

**提示**:
- 租约偏好不必与 `constraints` 字段共享,用户可以单独定义 `lease_preferences`。
- 设置 `constraints` 时需要同步设置 `num_replicas`,且 `constraints` 数量需要小于等于 `num_replicas` 数量。`constraints` 中的顺序无影响。
- KWDB 默认只根据哈希点拆分数据分片,因此数据分片按时间合并功能默认关闭,如需支持按时间合并数据分片,需将 `kv.kvserver.ts_split_interval` 实时参数设置为 `1`, 将 `kv.kvserver.ts_split_by_timestamp.enabled` 实时参数设置为 `true` 以支持按照哈希点和时间戳拆分数据分片。 | | `value` | 变量值。 | |`COPY FROM PARENT`| 使用父区域的设置值。| |`DISCARD` | 移除区域配置,采用默认值。| @@ -152,28 +154,28 @@ id: ts-zone - 修改数据库的区域配置 - 以下示例将 `vtx` 数据库的副本数改为5个,将数据在垃圾回收前保留的时间改为100000秒。 + 以下示例将 `vtx` 数据库的副本数改为 5 个,将数据在垃圾回收前保留的时间改为 100000 秒。 ```SQL > ALTER DATABASE vtx CONFIGURE ZONE USING num_replicas = 5, gc.ttlseconds = 100000; CONFIGURE ZONE 1 > SHOW ZONE CONFIGURATION FOR DATABASE vtx; - zone_name | config_sql - +-----------+-----------------------------------------+ - vtx | ALTER DATABASE vtx CONFIGURE ZONE USING - | range_min_bytes = 268435456, - | range_max_bytes = 536870912, - | gc.ttlseconds = 100000, - | num_replicas = 5, - | constraints = '[]', - | lease_preferences = '[]' - (6 rows) + target | raw_config_sql + ----------------+------------------------------------------- + DATABASE vtx | ALTER DATABASE tsdb CONFIGURE ZONE USING + | range_min_bytes = 134217728, + | range_max_bytes = 536870912, + | gc.ttlseconds = 100000, + | num_replicas = 5, + | constraints = '[]', + | lease_preferences = '[]' + (1 row) ``` - 修改表的区域配置 - 以下示例将 `vehicles` 表的副本数改为3个,将数据在垃圾回收前保留的时间改为100000秒。 + 以下示例将 `vehicles` 表的副本数改为 3 个,将数据在垃圾回收前保留的时间改为 100000 秒。 ```SQL > ALTER TABLE vehicles CONFIGURE ZONE USING num_replicas = 3, gc.ttlseconds = 100000; @@ -218,6 +220,5 @@ id: ts-zone 以下示例将时序表 `sensor` 的数据分片进行了手动均衡。 ```SQL - > ALTER TABLE sensor CONFIGURE ZONE USING REBALANCE; - ALTER TABLE + ALTER TABLE sensor CONFIGURE ZONE USING REBALANCE; ``` \ No newline at end of file diff --git a/sql-reference/dml/data-query.md b/sql-reference/dml/data-query.md index 17e9838feee3c29ab952fbbfaafe71cf37db5072..0238e9f7e1e8dd90599edfad191050ec5c81a97d 100644 --- a/sql-reference/dml/data-query.md +++ b/sql-reference/dml/data-query.md @@ -43,7 +43,7 @@ KWDB 跨模查询支持以下联合查询: ## 所需权限 -用户拥有目标表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ## 语法示例 diff --git a/sql-reference/dml/relational-db/relational-delete.md b/sql-reference/dml/relational-db/relational-delete.md index 687f8ad1a11af028c7143625f3750ba04d7752ff..5adeba9c10587867119dc69b7d0839cc4a90a636 100644 --- a/sql-reference/dml/relational-db/relational-delete.md +++ b/sql-reference/dml/relational-db/relational-delete.md @@ -13,7 +13,7 @@ id: relational-delete ## 所需权限 -用户拥有目标表的 SELECT 和 DELETE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT 和 DELETE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ## 语法格式 diff --git a/sql-reference/dml/relational-db/relational-insert.md b/sql-reference/dml/relational-db/relational-insert.md index eeff6fc888a716d740713f8058bbcececbca2f9a..2c1216f611bd728629e52181894603cc64818f69 100644 --- a/sql-reference/dml/relational-db/relational-insert.md +++ b/sql-reference/dml/relational-db/relational-insert.md @@ -10,7 +10,7 @@ id: relational-insert ## 所需权限 -用户拥有目标表的 INSERT 权限。如需使用 `INSERT ON CONFLICT`、`ON CONFLICT DO UPDATE` 子句,用户还需要拥有目标表的 SELECT 和 UPDATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 INSERT 权限。默认情况下,`root` 用户属于 `admin` 角色。如需使用 `INSERT ON CONFLICT`、`ON CONFLICT DO UPDATE` 子句,用户还需要拥有目标表的 SELECT 和 UPDATE 权限。 ## 语法格式 diff --git a/sql-reference/dml/relational-db/relational-select.md b/sql-reference/dml/relational-db/relational-select.md index 978fdc456e3e7c0902c613548d5e6588f1b9dd9e..62b97ee6b766311ccae5ff2520b7c1cf516dad7c 100644 --- a/sql-reference/dml/relational-db/relational-select.md +++ b/sql-reference/dml/relational-db/relational-select.md @@ -37,29 +37,29 @@ KWDB 支持在查询中对列类型为时间戳、时间戳常量以及结果类 ## 所需权限 -用户拥有目标表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ## 语法格式 - 简单查询 - ![](../../../static/sql-reference/Y2Sxbc38ko3CvsxIbV0cO5QNnOh.png) + - `target_elem` - ![](../../../static/sql-reference/WFPub5gPWoWhmHxP9RccqVKtnAe.png) + - `table_ref` - ![](../../../static/sql-reference/Q7sGbKFmSoOm2zx1Ls0c5FmvnRb.png) + - `a_expr` - ![](../../../static/sql-reference/DAEkbRTVjoKWGuxus2PcOxSbnnd.png) + - `window_definition` - ![](../../../static/sql-reference/CUFbb9ql8oAYJExjoUrcYwIpnR5.png) + - 复杂查询 @@ -67,23 +67,23 @@ KWDB 支持在查询中对列类型为时间戳、时间戳常量以及结果类 - `select_clause` - ![](../../../static/sql-reference/PU0XbsDmmoMHOtxUreJcuH9Vnzc.png) + - `ordedr_by_clause` - ![](../../../static/sql-reference/ZxttbHJ9NoJE80xiASbcrUE9nOf.png) + - `for_locking_clause` - ![](../../../static/sql-reference/SXW4bgXN0oMtYnxwQpnca9lOnMb.png) + - `limit_clause` - ![](../../../static/sql-reference/RUGmb2jlsoMkjIxfujncQQzlned.png) + - `offset_clause` - ![](../../../static/sql-reference/RISqbrHJIo1dehxboztc6Ooqnoh.png) + ## 参数说明 diff --git a/sql-reference/dml/relational-db/relational-truncate.md b/sql-reference/dml/relational-db/relational-truncate.md index 1fb3877fb741661453e53a87bf2aef0f535a498f..19b2caf2ca86cf10c616590adf65c27a71c27cef 100644 --- a/sql-reference/dml/relational-db/relational-truncate.md +++ b/sql-reference/dml/relational-db/relational-truncate.md @@ -9,7 +9,7 @@ id: relational-truncate ## 所需权限 -用户拥有目标表的 DROP 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 DROP 权限。默认情况下,`root` 用户属于 `admin` 角色。 ## 语法格式 diff --git a/sql-reference/dml/relational-db/relational-update.md b/sql-reference/dml/relational-db/relational-update.md index 65c3c9a7e457505a38a8023ba1dd0673cf5905ab..eae99b55ddd13e5431c9d11ba7e96d7d1c3f8f87 100644 --- a/sql-reference/dml/relational-db/relational-update.md +++ b/sql-reference/dml/relational-db/relational-update.md @@ -9,7 +9,7 @@ id: relational-update ## 所需权限 -用户拥有目标表的 UPDATE 和 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 UPDATE 和 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ## 语法格式 diff --git a/sql-reference/dml/relational-db/relational-upsert.md b/sql-reference/dml/relational-db/relational-upsert.md index 191a211d44e793a4b6e65f934bfd7d91c45313ff..863b3f82468d698ff13cf7c69d38dab9f4897765 100644 --- a/sql-reference/dml/relational-db/relational-upsert.md +++ b/sql-reference/dml/relational-db/relational-upsert.md @@ -12,7 +12,7 @@ id: relational-upsert ## 所需权限 -用户拥有目标表的 SELECT、INSERT、UPDATE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT、INSERT、UPDATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ## 语法格式 diff --git a/sql-reference/dml/ts-db/ts-delete.md b/sql-reference/dml/ts-db/ts-delete.md index 5aec6f3e25d315254bf1fd346b2eedcc7d846e5e..1f790bd2f3a695d621e1e35b6ecbeeec17d9bfb4 100644 --- a/sql-reference/dml/ts-db/ts-delete.md +++ b/sql-reference/dml/ts-db/ts-delete.md @@ -16,7 +16,7 @@ id: ts-delete ## 所需权限 -用户拥有目标表的 SELECT 和 DELETE 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT 和 DELETE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ## 语法格式 diff --git a/sql-reference/dml/ts-db/ts-insert.md b/sql-reference/dml/ts-db/ts-insert.md index 8179f3a68d26f551846e788f4873d8387a874c05..4f1c5e58a674455483c3f39e30c3bf261effcb2a 100644 --- a/sql-reference/dml/ts-db/ts-insert.md +++ b/sql-reference/dml/ts-db/ts-insert.md @@ -21,8 +21,8 @@ id: ts-insert ## 所需权限 -- 直接插入数据:用户拥有目标表的 INSERT 权限。 -- 插入其他时序表的查询结果:用户拥有目标表的 INSERT 权限和对应表的 SELECT 权限。 +- 直接插入数据:用户是 `admin` 角色的成员或者拥有目标表的 INSERT 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 插入其他时序表的查询结果:用户是 `admin` 角色的成员或者拥有目标表的 INSERT 权限和对应表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ## 语法格式 diff --git a/sql-reference/dml/ts-db/ts-prepare.md b/sql-reference/dml/ts-db/ts-prepare.md index 1ea9046d57d61b6499bd0c89caa3a7fbe290defd..3561839a8acdac174b754d2868c1ea78541e824b 100644 --- a/sql-reference/dml/ts-db/ts-prepare.md +++ b/sql-reference/dml/ts-db/ts-prepare.md @@ -17,9 +17,9 @@ KWDB 支持用户使用 `PREARE` 和 `EXECUTE` 语句向指定表写入数据、 ## 所需权限 -- 写入数据:用户拥有目标表的 INSERT 权限。 -- 查询数据:用户拥有目标表的 SELECT 权限。 -- 删除数据:用户拥有目标表的 SELECT 和 DELETE 权限。 +- 写入数据:用户是 `admin` 角色的成员或者拥有目标表的 INSERT 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 查询数据:用户是 `admin` 角色的成员或者拥有目标表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 +- 删除数据:用户是 `admin` 角色的成员或者拥有目标表的 SELECT 和 DELETE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ## 语法格式 diff --git a/sql-reference/dml/ts-db/ts-select.md b/sql-reference/dml/ts-db/ts-select.md index 9a76b33419d1ce3a0e28d2661654b7d8ddc0dca4..174d3cf60e10e1f0ac381013cbe93cb0e2276d8a 100644 --- a/sql-reference/dml/ts-db/ts-select.md +++ b/sql-reference/dml/ts-db/ts-select.md @@ -50,31 +50,32 @@ KWDB 支持在查询中对列类型为时间戳、时间戳常量以及结果类 ### 所需权限 -用户拥有目标表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 -![](../../../static/sql-reference/ts-select.png) + - `select_clause` - ![](../../../static/sql-reference/ts-group-window.png) + - `a_expr` - ![](../../../static/sql-reference/ts-a-expr.png) + - `target_elem` - ![](../../../static/sql-reference/ts-target-elem.png) + - `alias_clause` - ![](../../../static/sql-reference/ts-alias-clause.png) + - `as_of_clause` - ![](../../../static/sql-reference/ts-as-of-clause.png) + + ### 参数说明 @@ -248,7 +249,7 @@ KWDB 支持基于特定条件(如时间间隔、数据行数或状态信息等 ### 所需权限 -用户拥有目标表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -414,7 +415,7 @@ KWDB 支持以下嵌套查询: ### 所需权限 -用户拥有目标表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -499,7 +500,7 @@ KWDB 支持以下嵌套查询: ### 所需权限 -用户拥有目标表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -535,7 +536,7 @@ e1 | e1 ### 所需权限 -用户拥有目标表的 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/dml/ts-db/ts-update.md b/sql-reference/dml/ts-db/ts-update.md index 92559543659fbd5a648d0d7874e690550e97ece5..43b3e9bc6c517d4100b38cc8f9fe0551a3440033 100644 --- a/sql-reference/dml/ts-db/ts-update.md +++ b/sql-reference/dml/ts-db/ts-update.md @@ -9,7 +9,7 @@ id: ts-update ## 所需权限 -用户拥有目标表的 UPDATE 和 SELECT 权限。 +用户是 `admin` 角色的成员或者拥有目标表的 UPDATE 和 SELECT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ## 语法格式 diff --git a/sql-reference/functions/functions-relational-db.md b/sql-reference/functions/functions-relational-db.md index 0076ce48c16b6d772348c3897c7347c5dd9891cb..d36b52842d6451fefc0ec5cfbcce2e82c788cf48 100644 --- a/sql-reference/functions/functions-relational-db.md +++ b/sql-reference/functions/functions-relational-db.md @@ -967,7 +967,6 @@ id: functions-relational-db | matching(val: FLOAT4, excludeRule: INT8, lowerBound: decimal, upperBound: STRING, percentage: INT8) → BOOL | 满足条件的值的数量与总数量的比值大于预先设定的百分比,返回 `true`,否则返回 `false`。 | | matching(val: FLOAT8, excludeRule: INT8, lowerBound: decimal, upperBound: STRING, percentage: INT8) → BOOL | 满足条件的值的数量与总数量的比值大于预先设定的百分比,返回 `true`,否则返回 `false`。 | | matching(val: decimal, excludeRule: INT8, lowerBound: decimal, upperBound: STRING, percentage: INT8) → BOOL | 满足条件的值的数量与总数量的比值大于预先设定的百分比,返回 `true`,否则返回 `false`。 | -| interpolate(method, mode) | 补值函数,需要与 `time_bucket_gapfill()` 配合使用,补值结果类型与原始值类型一致。参数说明:
- method:补值算法,只支持聚合函数,且数据类型为数字。
- mode:补值模式,取值包括 constant(常量值)、prev(前值)、next(后值)、linear(线性)、null(null)。 | ## 窗口函数 diff --git a/sql-reference/functions/functions-ts-db.md b/sql-reference/functions/functions-ts-db.md index 88556436d21af5348936c37dee4ebfab310bab82..b4dacb3fc540abedbe7de212f4aee14207960ed6 100644 --- a/sql-reference/functions/functions-ts-db.md +++ b/sql-reference/functions/functions-ts-db.md @@ -316,6 +316,7 @@ id: functions-ts-db | first_row(val: varbytes) →varbytes | 获取条件范围内时间戳最小的一条数据(可以是空值 NULL)。 | | first_row(val: varchar) →varchar | 获取条件范围内时间戳最小的一条数据(可以是空值 NULL)。 | | first_row(*) →any element | 获取条件范围内时间戳最小的一条数据(可以是空值 NULL)。 | +| interpolate(method, mode) | 补值函数,需要与 `time_bucket_gapfill()` 配合使用,补值结果类型与原始值类型一致。参数说明:
- method:补值算法,只支持聚合函数,且数据类型为数字。
- mode:补值模式,取值包括常量值、`prev`(前值)、`next`(后值)、`linear`(线性)、`null`(null)。 | | last(val: float4) → float4 | 获取条件范围内时间戳最大的一条数据(不包含空值 NULL)。
支持在子查询、关联查询(JOIN)、嵌套查询(FROM 子查询)、WHERE、GROUP BY、HAVING、ORDER BY 等多种查询场景中使用,支持与 KWDB 现有的聚合函数联合使用。
**当前限制**:
- 仅支持在 SELECT 列表中使用,不可作为普通列进行计算;
- 仅支持单列作为参数,传入数值常量、操作符、表达式或函数将触发语法错误;
- 仅限于时序表数据处理,不适用于临时表或关系型查询场景。 | | last(val: float8) → float8 | 获取条件范围内时间戳最大的一条数据(不包含空值 NULL)。
支持在子查询、关联查询(JOIN)、嵌套查询(FROM 子查询)、WHERE、GROUP BY、HAVING、ORDER BY 等多种查询场景中使用,支持与 KWDB 现有的聚合函数联合使用。
**当前限制**:
- 仅支持在 SELECT 列表中使用,不可作为普通列进行计算;
- 仅支持单列作为参数,传入数值常量、操作符、表达式或函数将触发语法错误;
- 仅限于时序表数据处理,不适用于临时表或关系型查询场景。 | | last(val: INT2) → INT2 | 获取条件范围内时间戳最大的一条数据(不包含空值 NULL)。
支持在子查询、关联查询(JOIN)、嵌套查询(FROM 子查询)、WHERE、GROUP BY、HAVING、ORDER BY 等多种查询场景中使用,支持与 KWDB 现有的聚合函数联合使用。
**当前限制**:
- 仅支持在 SELECT 列表中使用,不可作为普通列进行计算;
- 仅支持单列作为参数,传入数值常量、操作符、表达式或函数将触发语法错误;
- 仅限于时序表数据处理,不适用于临时表或关系型查询场景。 | diff --git a/sql-reference/other-sql-statements/jobs-sql.md b/sql-reference/other-sql-statements/jobs-sql.md index c9ea82f2febd1e371e72e1d5d78c84fb4468f75e..a2265891de136acf8ad566e86608306cc1462a80 100644 --- a/sql-reference/other-sql-statements/jobs-sql.md +++ b/sql-reference/other-sql-statements/jobs-sql.md @@ -26,7 +26,7 @@ KWDB 首先查看正在运行的任务,然后再查看最近 12 小时内已 ### 所需权限 -用户为 root 用户。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -149,7 +149,7 @@ PAUSE JOB 语句用于暂停导入导出任务、用户创建的表统计信息 ### 所需权限 -用户为 root 用户。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -182,7 +182,7 @@ PAUSE JOB 语句用于暂停导入导出任务、用户创建的表统计信息 ### 所需权限 -用户为 root 用户。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/other-sql-statements/query-sql.md b/sql-reference/other-sql-statements/query-sql.md index 21a317fa053967ae4385c439c233fc36a070278f..42a22119cb0d18216e05e7780b07fe72d6657c7e 100644 --- a/sql-reference/other-sql-statements/query-sql.md +++ b/sql-reference/other-sql-statements/query-sql.md @@ -12,7 +12,7 @@ id: query-sql ### 所需权限 -无。非 `admin` 用户只能查看自己当前正在执行的 SQL 语句。`admin` 用户能够查看所有用户当前正在执行的 SQL 语句。 +无。非 `admin` 角色成员只能查看自己当前正在执行的 SQL 语句。`admin` 角色成员能够查看所有用户当前正在执行的 SQL 语句。 ### 语法格式 @@ -86,8 +86,8 @@ id: query-sql ### 所需权限 -- Admin 用户 (默认情况下,root 用户具有 Admin 角色。):取消任何当前正在进行的查询。 -- 非 Admin 用户:取消自己当前正在运行的查询。 +- `admin` 角色成员 (默认情况下,`root` 用户属于 `admin` 角色):取消任何当前正在进行的查询。 +- 非 `admin` 角色成员:取消自己当前正在运行的查询。 ### 语法格式 diff --git a/sql-reference/other-sql-statements/schedules-sql.md b/sql-reference/other-sql-statements/schedules-sql.md index efc3080f59824eb4ac40312235b666744eeef3a5..2cf5f15ba24c236bb5a61a15c28c7aa29727052c 100644 --- a/sql-reference/other-sql-statements/schedules-sql.md +++ b/sql-reference/other-sql-statements/schedules-sql.md @@ -27,7 +27,7 @@ KWDB 每 `60` 秒扫描一次定时任务列表,随机找出应该执行的 `1 ### 所需权限 -用户具有 Admin 角色。默认情况下,root 用户具有 Admin 角色。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -171,7 +171,7 @@ CREATE SCHEDULE s1 FOR SQL 'INSERT INTO tsdb.t2 SELECT * FROM tsdb.t1' RECURRING ### 所需权限 -用户具有 Admin 角色。默认情况下,root 用户具有 Admin 角色。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -226,7 +226,7 @@ CREATE SCHEDULE s1 FOR SQL 'INSERT INTO tsdb.t2 SELECT * FROM tsdb.t1' RECURRING ### 所需权限 -用户具有 Admin 角色。默认情况下,root 用户具有 Admin 角色。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -256,7 +256,7 @@ ALTER SCHEDULE scheduled_table_statistics RECURRING '@hourly'; ### 所需权限 -用户具有 Admin 角色。默认情况下,root 用户具有 Admin 角色。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -282,7 +282,7 @@ PAUSE SCHEDULE scheduled_table_statistics; ### 所需权限 -用户具有 Admin 角色。默认情况下,root 用户具有 Admin 角色。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -308,7 +308,7 @@ RESUME SCHEDULE scheduled_table_statistics; ### 所需权限 -用户具有 Admin 角色。默认情况下,root 用户具有 Admin 角色。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/other-sql-statements/self-defined-functions-sql.md b/sql-reference/other-sql-statements/self-defined-functions-sql.md index d81da925484b4c2f4bca13865f78e446a48c9a28..def35ea16d2a523e40de112faa82c1e0f148bc1b 100644 --- a/sql-reference/other-sql-statements/self-defined-functions-sql.md +++ b/sql-reference/other-sql-statements/self-defined-functions-sql.md @@ -12,7 +12,7 @@ KWDB 支持使用 Lua 脚本语言在时序和关系数据库中创建、使用 ### 所需权限 -用户拥有当前数据库的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有当前数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -149,7 +149,7 @@ NULL ### 所需权限 -用户拥有当前数据库的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有当前数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/other-sql-statements/sessions-sql.md b/sql-reference/other-sql-statements/sessions-sql.md index 093eee47905cfcdec26c6bcaffc62742a0969e17..920ccd51982c411f808318b7acf604ede31ff5e4 100644 --- a/sql-reference/other-sql-statements/sessions-sql.md +++ b/sql-reference/other-sql-statements/sessions-sql.md @@ -20,8 +20,8 @@ id: sessions-sql ### 所需权限 -- Admin 用户:查看所有用户当前正在进行的会话。 -- 非 Admin 用户:查看自己当前正在进行的会话。 +- `admin` 角色成员:查看所有用户当前正在进行的会话。 +- 非 `admin` 角色成员:查看自己当前正在进行的会话。 ### 语法格式 @@ -72,7 +72,7 @@ id: sessions-sql ### 所需权限 -用户具有 Admin 角色。默认情况下,root 用户具有 Admin 角色。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/other-sql-statements/statistics-sql.md b/sql-reference/other-sql-statements/statistics-sql.md index 7185af6f285dd5dee25040b06fc22d131a246470..ebc3836587179f509f93c167ce2d86310d5dbf22 100644 --- a/sql-reference/other-sql-statements/statistics-sql.md +++ b/sql-reference/other-sql-statements/statistics-sql.md @@ -49,7 +49,7 @@ KWDB 支持用户手动创建统计信息和后台自动创建统计信息。 ### 所需权限 -用户拥有数据库的 CREATE 权限。 +用户是 `admin` 角色的成员或者拥有数据库的 CREATE 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 diff --git a/sql-reference/other-sql-statements/stream-sql.md b/sql-reference/other-sql-statements/stream-sql.md index 50ef28f487efee3ef68a8da9c22bc285c6a6b944..9ba8c48ff882fa94b629787305bb89982142e813 100644 --- a/sql-reference/other-sql-statements/stream-sql.md +++ b/sql-reference/other-sql-statements/stream-sql.md @@ -15,8 +15,7 @@ id: stream-sql ### 所需权限 -- 非三权分立模式下,用户拥有源时序表的 `SELECT` 权限和目标表的 `INSERT` 权限。 -- 三权分立模式下,普通用户拥有源时序表的 `SELECT` 权限和目标表的 `INSERT` 权限。 +用户是 `admin` 角色的成员或者拥有源时序表的 SELECT 权限和目标表的 INSERT 权限。默认情况下,`root` 用户属于 `admin` 角色。 ### 语法格式 @@ -109,11 +108,10 @@ SHOW STREAM test_stream; ### 所需权限 -- 非三权分立模式下,用户为 Admin 用户或者流计算的创建者。 -- 三权分立模式下,用户为 `sysadmin` 用户或者流计算的创建者。 +用户是 `admin` 角色的成员或者流计算的创建者。默认情况下,`root` 用户属于 `admin` 角色。 ::: warning 说明 -如果创建流计算的用户被删除后,只有 Admin 用户或 `sysadmin` 用户可以修改流计算。 +如果创建流计算的用户被删除后,只有 `admin` 角色成员可以修改流计算。 ::: ### 语法格式 @@ -150,11 +148,10 @@ ALTER STREAM cpu_stream SET enable = 'off'; ### 所需权限 -- 非三权分立模式下,用户为 Admin 用户或者流计算的创建者。 -- 三权分立模式下,用户为 `sysadmin` 用户或者流计算的创建者。 +用户是 `admin` 角色的成员或者流计算的创建者。默认情况下,`root` 用户属于 `admin` 角色。 ::: warning 说明 -如果创建流计算的用户被删除后,只有 Admin 用户或 `sysadmin` 用户可以删除流计算。 +如果创建流计算的用户被删除后,只有 `admin` 角色成员可以删除流计算。 ::: ### 语法格式 diff --git a/sql-reference/other-sql-statements/transactions-sql.md b/sql-reference/other-sql-statements/transactions-sql.md index 50b4461e98af43d7e0f3184b0536e76049a0c7fc..cef73f9312a00bb9f047d5636a3c072842a23a1c 100644 --- a/sql-reference/other-sql-statements/transactions-sql.md +++ b/sql-reference/other-sql-statements/transactions-sql.md @@ -8,8 +8,8 @@ id: transactions-sql ::: warning 说明 -- KaiwuDB 支持显式事务内执行时序数据的查询以及写入,但不保证时序引擎的事务性,也不保证跨模查询结果的一致性。 -- KaiwuDB 不支持显式事务内执行时序数据的 DDL 操作。 +- KWDB 支持显式事务内执行时序数据的查询以及写入,但不保证时序引擎的事务性,也不保证跨模查询结果的一致性。 +- KWDB 不支持显式事务内执行时序数据的 DDL 操作。 ::: diff --git a/sql-reference/system-view-sql.md b/sql-reference/system-view-sql.md index f915c5702feecb6340f888e8c4606ff2ce9019c6..3d8b3c1c8e16a56e43cf50fab2b8dfdddd332ec8 100644 --- a/sql-reference/system-view-sql.md +++ b/sql-reference/system-view-sql.md @@ -7,7 +7,7 @@ id: system-view-sql ## 所需权限 -用户拥有 root 权限。 +用户是 `admin` 角色的成员。默认情况下,`root` 用户属于 `admin` 角色。 ## kwdb_internal.audit_policies diff --git a/static/sql-reference/alter-r-db-zone.png b/static/sql-reference/alter-r-db-zone.png new file mode 100644 index 0000000000000000000000000000000000000000..530c365fd4beb96f54085bb6c981c4d97fefab83 Binary files /dev/null and b/static/sql-reference/alter-r-db-zone.png differ diff --git a/static/sql-reference/alter-r-table-hash.png b/static/sql-reference/alter-r-table-hash.png index 8cca9c06995c5c4f1fa701b56e9d5364a96f7bef..ddbc2dbbb1c3057a8263d9144fdab130e898f3f5 100644 Binary files a/static/sql-reference/alter-r-table-hash.png and b/static/sql-reference/alter-r-table-hash.png differ diff --git a/static/sql-reference/alter-table-rdb.png b/static/sql-reference/alter-table-rdb.png index 602758f2ce32513c368ea48e620e07a98ddfd969..e7b268f5ded2280dc0183fa94e2adde7ccbfdaa6 100644 Binary files a/static/sql-reference/alter-table-rdb.png and b/static/sql-reference/alter-table-rdb.png differ diff --git a/static/sql-reference/alter-ts-table-partition-from.png b/static/sql-reference/alter-ts-table-partition-from.png index e9221e2a2fdb989c20b657290993521c323e025f..af1f065a4ca1b70e1e47c1db9547569242f5fb03 100644 Binary files a/static/sql-reference/alter-ts-table-partition-from.png and b/static/sql-reference/alter-ts-table-partition-from.png differ diff --git a/static/sql-reference/alter-ts-table-partition-in.png b/static/sql-reference/alter-ts-table-partition-in.png index 4ff3f3df2a801110f1d65420009eda6c64998d95..624b5033a88840e6433c2232563af6e16a1848ad 100644 Binary files a/static/sql-reference/alter-ts-table-partition-in.png and b/static/sql-reference/alter-ts-table-partition-in.png differ diff --git a/static/sql-reference/alter-ts-table.png b/static/sql-reference/alter-ts-table.png index 7332b8e416be75b2ce712ec67c2579d840975c02..7b6995c12cd2a1774aee55b9060bda09a26860c9 100644 Binary files a/static/sql-reference/alter-ts-table.png and b/static/sql-reference/alter-ts-table.png differ diff --git a/static/sql-reference/alter-zone-r.png b/static/sql-reference/alter-zone-r.png new file mode 100644 index 0000000000000000000000000000000000000000..6f40bfbf2d9f755a32c721718a28a9c960ed1dea Binary files /dev/null and b/static/sql-reference/alter-zone-r.png differ diff --git a/static/sql-reference/create-r-table-parititon-by.png b/static/sql-reference/create-r-table-parititon-by.png new file mode 100644 index 0000000000000000000000000000000000000000..69ee5d3e6f46e762f1a5ea39d2867ac7d61e39ca Binary files /dev/null and b/static/sql-reference/create-r-table-parititon-by.png differ diff --git a/static/sql-reference/create-r-table-partition.png b/static/sql-reference/create-r-table-partition.png index 0a7867442d31ffd41a0a8b696395185ffe9be940..2aa1633a9d80fc988d33b6f90eceb576985f015d 100644 Binary files a/static/sql-reference/create-r-table-partition.png and b/static/sql-reference/create-r-table-partition.png differ diff --git a/static/sql-reference/createtable_relational.png b/static/sql-reference/createtable_relational.png index e8dddd9da2db06fb49a69c5c7a4a734b8955ede5..cae4c56a12c22fd16421ed223f12ecf47d5a6e39 100644 Binary files a/static/sql-reference/createtable_relational.png and b/static/sql-reference/createtable_relational.png differ diff --git a/static/sql-reference/show-zone-r.png b/static/sql-reference/show-zone-r.png new file mode 100644 index 0000000000000000000000000000000000000000..ccb38c7d6c9da8be743c77125cd6c7780e898230 Binary files /dev/null and b/static/sql-reference/show-zone-r.png differ diff --git a/static/sql-reference/show-zone-ts.png b/static/sql-reference/show-zone-ts.png index 3dc977b08a95b2f803993e0452d41f3dc3a72a3a..4e90bc36c41b0da1b56f643aa5f1bcfa6d5397e5 100644 Binary files a/static/sql-reference/show-zone-ts.png and b/static/sql-reference/show-zone-ts.png differ diff --git a/static/sql-reference/ts-drop-index.png b/static/sql-reference/ts-drop-index.png index ba7738b4080617662701cf1faf8301d0cfd9a3e3..8546876693d4a9d4b0633e496295e7b1eb56180f 100644 Binary files a/static/sql-reference/ts-drop-index.png and b/static/sql-reference/ts-drop-index.png differ