CREATE READWRITE_SPLITTING RULE

描述

CREATE READWRITE_SPLITTING RULE 语法用于创建读写分离规则

语法定义

语法 铁路图

  1. CreateReadwriteSplittingRule ::=
  2. 'CREATE' 'READWRITE_SPLITTING' 'RULE' ifNotExists? readwriteSplittingDefinition (',' readwriteSplittingDefinition)*
  3. ifNotExists ::=
  4. 'IF' 'NOT' 'EXISTS'
  5. readwriteSplittingDefinition ::=
  6. ruleName '(' (staticReadwriteSplittingDefinition | dynamicReadwriteSplittingDefinition) (',' loadBalancerDefinition)? ')'
  7. staticReadwriteSplittingDefinition ::=
  8. 'WRITE_STORAGE_UNIT' '=' writeStorageUnitName ',' 'READ_STORAGE_UNITS' '(' storageUnitName (',' storageUnitName)* ')'
  9. dynamicReadwriteSplittingDefinition ::=
  10. 'AUTO_AWARE_RESOURCE' '=' resourceName
  11. loadBalancerDefinition ::=
  12. 'TYPE' '(' 'NAME' '=' loadBalancerType (',' propertiesDefinition)? ')'
  13. ruleName ::=
  14. identifier
  15. writeStorageUnitName ::=
  16. identifier
  17. storageUnitName ::=
  18. identifier
  19. resourceName ::=
  20. identifier
  21. loadBalancerType ::=
  22. string
  23. propertiesDefinition ::=
  24. 'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'
  25. key ::=
  26. string
  27. value ::=
  28. literal

补充说明

  • 支持创建静态读写分离规则和动态读写分离规则;
  • 动态读写分离规则依赖于数据库发现规则;
  • loadBalancerType 指定负载均衡算法类型,请参考负载均衡算法
  • 重复的 ruleName 将无法被创建;
  • ifNotExists 子句用于避免出现 Duplicate readwrite_splitting rule 错误。

示例

创建静态读写分离规则

  1. CREATE READWRITE_SPLITTING RULE ms_group_0 (
  2. WRITE_STORAGE_UNIT=write_ds,
  3. READ_STORAGE_UNITS(read_ds_0,read_ds_1),
  4. TYPE(NAME="random")
  5. );

创建动态读写分离规则

  1. CREATE READWRITE_SPLITTING RULE ms_group_1 (
  2. AUTO_AWARE_RESOURCE=group_0
  3. TYPE(NAME="random")
  4. );

使用 ifNotExists 子句创建读写分离规则

  • 静态读写分离规则
  1. CREATE READWRITE_SPLITTING RULE IF NOT EXISTS ms_group_0 (
  2. WRITE_STORAGE_UNIT=write_ds,
  3. READ_STORAGE_UNITS(read_ds_0,read_ds_1),
  4. TYPE(NAME="random")
  5. );
  • 动态读写分离规则
  1. CREATE READWRITE_SPLITTING RULE IF NOT EXISTS ms_group_1 (
  2. AUTO_AWARE_RESOURCE=group_0
  3. TYPE(NAME="random")
  4. );

保留字

CREATEREADWRITE_SPLITTINGRULEWRITE_STORAGE_UNITREAD_STORAGE_UNITSAUTO_AWARE_RESOURCETYPENAMEPROPERTIESTRUEFALSE

相关链接