影子算法

背景信息

影子库功能对执行的 SQL 语句进行影子判定。影子判定支持两种类型算法,用户可根据实际业务需求选择一种或者组合使用。

参数解释

列影子算法

列值匹配算法

类型:VALUE_MATCH

属性名称数据类型说明
columnString影子列
operationStringSQL 操作类型(INSERT, UPDATE, DELETE, SELECT)
valueString影子列匹配的值

列正则表达式匹配算法

类型:REGEX_MATCH

属性名称数据类型说明
columnString匹配列
operationStringSQL 操作类型(INSERT, UPDATE, DELETE, SELECT)
regexString影子列匹配正则表达式

Hint 影子算法

SQL HINT 影子算法

类型:SQL_HINT

  1. /* SHARDINGSPHERE_HINT: SHADOW=true */

配置示例

  • Java API
  1. public final class ShadowConfiguration {
  2. // ...
  3. private AlgorithmConfiguration createShadowAlgorithmConfiguration() {
  4. Properties userIdInsertProps = new Properties();
  5. userIdInsertProps.setProperty("operation", "insert");
  6. userIdInsertProps.setProperty("column", "user_id");
  7. userIdInsertProps.setProperty("value", "1");
  8. return new AlgorithmConfiguration("VALUE_MATCH", userIdInsertProps);
  9. }
  10. // ...
  11. }
  • YAML:
  1. shadowAlgorithms:
  2. user-id-insert-algorithm:
  3. type: VALUE_MATCH
  4. props:
  5. column: user_id
  6. operation: insert
  7. value: 1