分布区
本章节介绍 Ignite 3 的分布区,现在为了获得更好的性能和稳定性,可以微调节点上分区的分布。
1.创建分布区
创建新的分布区。
提示
这个操作也可以通过 Java API 来实现。
关键字和参数:
IF NOT EXISTS
:仅当不存在同名的分布区时,才创建新的分布区;qualified_zone_name
:分布区名;WITH
:接受以下附加参数:STORAGE_PROFILES
:必须,逗号分割的存储配置列表;PARTITIONS
:数据被划分的分区数,然后分区会分散在各个节点存储;REPLICAS
:每个分区的副本数;DATA_NODES_FILTER
:根据节点属性,指定可用于在分布区中存储数据的节点,可以使用命令行配置节点属性,使用JSONPath
规则进行过滤,如果未找到该属性,所有否定比较也将有效。例如$[?(@.storage != 'SSD']}
,没有指定storage
属性的节点也会包含在内;DATA_NODES_AUTO_ADJUST_SCALE_UP
:新节点加入与数据区调整开始之间的延迟(秒);DATA_NODES_AUTO_ADJUST_SCALE_DOWN
:节点离开集群与数据区调整开始之间的延迟(秒);DATA_STORAGE_ENGINE
:数据存储引擎名。
示例:
创建名为exampleZone
的分布区:
sql
CREATE ZONE IF NOT EXISTS exampleZone WITH STORAGE_PROFILES='default'
创建一个名为exampleZone
的分布区,其将仅使用具有 SSD
属性的节点,并在集群拓扑更改后 300 秒进行调整:
sql
CREATE ZONE IF NOT EXISTS exampleZone WITH DATA_NODES_FILTER='SSD', DATA_NODES_AUTO_ADJUST_SCALE_UP=300, STORAGE_PROFILES='default'
2.更改分布区
修改分布区。
ALTER ZONE RENAME TO
关键字和参数:
IF EXISTS
:如果指定的分布区不存在不会报错;qualified_zone_name
:分布区名;RENAME TO
:重命名;new_qualified_zone_name
:分布区的新名字。
示例:
将exampleZone
重命名为renamedZone
:
sql
ALTER ZONE IF EXISTS exampleZone RENAME TO renamedZone;
ALTER ZONE SET
关键词和参数:
IF EXISTS
:如果指定的分布区不存在不会报错;qualified_zone_name
:分布区名;SET
:为下面的一个或多个参数赋值:STORAGE_PROFILES
:逗号分隔的存储配置列表;PARTITIONS
:分区数;REPLICAS
:每个分区的副本数;DATA_NODES_FILTER
:根据节点属性,指定可用于在分布区中存储数据的节点;DATA_NODES_AUTO_ADJUST_SCALE_UP
:新节点加入与数据区调整开始之间的延迟(秒);DATA_NODES_AUTO_ADJUST_SCALE_DOWN
:节点离开集群与数据区调整开始之间的延迟(秒)。
3.删除分布区
删除已有的分布区。
提示
这个操作也可以通过 Java API 来实现。
关键字和参数:
IF EXISTS
:如果指定的分布区不存在不会报错;qualified_zone_name
:分布区名。
示例:
删除一个已有的名为exampleZone
的分布区:
sql
DROP ZONE IF EXISTS exampleZone
18624049226