ShardingSphere

简介

分片相关概念:https://shardingsphere.apache.org/document/current/cn/features/sharding/concept/

运维

数据库选择与查询

show databases;
use db_name;
SELECT DATABASE();
show tables;
SHOW TABLES LIKE 'table_name';

存储单元维护

https://shardingsphere.apache.org/document/current/cn/user-manual/shardingsphere-proxy/distsql/syntax/rdl/storage-unit-definition/alter-storage-unit/

# 存储单元查询(底层数据库)
show storage units;
# 注册存储单元
REGISTER STORAGE UNIT ds_0 (
    HOST="127.0.0.1",
    PORT=3306,
    DB="db_0",
    USER="root",
    PASSWORD="root"
);
# 取消注册存储单元
UNREGISTER STORAGE UNIT ds_0;
# 修改存储单元
ALTER STORAGE UNIT ds_2 (
    URL="jdbc:mysql://127.0.0.1:3306/db_2?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true",
    USER="root",
    PASSWORD="root",
    PROPERTIES("maximumPoolSize"=10,"idleTimeout"="30000")
);

分片规则维护

# 查询分片规则
SHOW SHARDING TABLE RULES;
SHOW SHARDING TABLE RULE t_order;
# 当前逻辑库的分片算法
SHOW SHARDING ALGORITHMS;
SHOW DEFAULT SHARDING STRATEGY;
# 默认分片规则
CREATE DEFAULT SHARDING DATABASE STRATEGY IF NOT EXISTS (
    TYPE="standard", SHARDING_COLUMN=user_id, SHARDING_ALGORITHM(TYPE(NAME=inline, PROPERTIES("algorithm-expression"="ds_${user_id % 8}")))
);
# 添加分片规则
CREATE SHARDING TABLE RULE IF NOT EXISTS t_order (
    DATANODES("ds_${0..7}.t_order")
);
# 修改分片规则
ALTER SHARDING TABLE RULE t_order (
    STORAGE_UNITS(ds_0,ds_1,ds_2,ds_3),
	SHARDING_COLUMN=user_id, TYPE(NAME="hash_mod",PROPERTIES("sharding-count"="16")),
	DATABASE_STRATEGY(TYPE="standard", SHARDING_COLUMN=user_id, SHARDING_ALGORITHM(TYPE(NAME="inline", PROPERTIES("algorithm-expression"="ds_${user_id % 8}")))),
	KEY_GENERATE_STRATEGY(COLUMN=order_id, TYPE(NAME="snowflake"))
);
# 删除分片规则
DROP SHARDING TABLE RULE IF EXISTS t_order;

相关推荐

  1. ShardingSphere

    2024-07-10 02:30:06       22 阅读
  2. Spring Boot集成ShardingSphere详解

    2024-07-10 02:30:06       17 阅读
  3. shardingsphere 出现 Cannot support database type ‘MySQL‘

    2024-07-10 02:30:06       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 02:30:06       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 02:30:06       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 02:30:06       45 阅读
  4. Python语言-面向对象

    2024-07-10 02:30:06       55 阅读

热门阅读

  1. Docker启动安装nacos

    2024-07-10 02:30:06       21 阅读
  2. 设置Nginx响应超时配置

    2024-07-10 02:30:06       27 阅读
  3. 每周算法(week2)【leetcode11~30】

    2024-07-10 02:30:06       23 阅读
  4. 常见的设计模式

    2024-07-10 02:30:06       20 阅读
  5. C++基础

    2024-07-10 02:30:06       22 阅读
  6. 量化机器人能否实现无缝交易?

    2024-07-10 02:30:06       21 阅读
  7. Jvm 垃圾回收算法

    2024-07-10 02:30:06       22 阅读
  8. 二进制部署k8s

    2024-07-10 02:30:06       14 阅读