当前位置: 首页 > news >正文

用nas建设服务器网站怎么开发自己的直播app

用nas建设服务器网站,怎么开发自己的直播app,域名空间结构,WordPress域名相关主题Shardingsphere-Proxy 5.5.0数据迁移 Shardingsphere系列目录:背景配置集群部署搭建Zookeeper修改shardingsphere-proxy配置重启shardingsphere-proxy 执行数据迁移连接代理数据库实例(Navicate)应用代理数据库注册目标分片数据库存储单元注销…

Shardingsphere-Proxy 5.5.0数据迁移

  • Shardingsphere系列目录:
  • 背景
  • 配置集群部署
    • 搭建Zookeeper
    • 修改shardingsphere-proxy配置
    • 重启shardingsphere-proxy
  • 执行数据迁移
    • 连接代理数据库实例(Navicate)
    • 应用代理数据库
    • 注册目标分片数据库存储单元
      • 注销目标分片数据库存储单元
    • 创建分库分表规则
      • 删除规则
    • 注册源数据库存储单元
      • 注销源数据库存储单元
    • 执行迁移任务
    • 查询数据迁移任务列表
    • 查询指定任务id的状态
    • 提交任务
  • 数据迁移执行 DistSQL 脚本实战

Shardingsphere系列目录:

【Springboot 集成 Shardingsphere-JDBC】
【Shardingsphere-Proxy 5.5.0部署】
【Shardingsphere-Proxy 5.5.0数据迁移】

背景

继上一篇【Shardingsphere-Proxy 5.5.0部署】 部署完了Shardingsphere-Proxy,方便在线下查询数据;但是分库分表实现了,但是老数据怎么办,难道还让那4000w+的数据待在那里不动?这样不就造成数据倾斜了吗?所以咱们需要将原先的老数据按照分库分表规则迁移到分片表。

配置集群部署

原先咱们之前部署的shardingsphere-proxy是单机模式(Standalone),但是数据迁移的前提就是需要部署集群模式(Cluster)的shardingsphere-proxy,这个也不难,做以下三步即可:

  1. 搭建Zookeeper
  2. 修改shardingsphere-proxy配置为集群模式
  3. 重启shardingsphere-proxy

搭建Zookeeper

按照【Zookeeper部署】 步骤安装。

修改shardingsphere-proxy配置

在原global.yaml配置基础上,新增配置如下:

mode:# 集群模式type: Clusterrepository:# 持久化仓库类型type: ZooKeeper# 持久化仓库所需属性props:# 注册中心命名空间namespace: governance_ds# 注册中心连接地址(zookeeper的客户端连接端口)server-lists: localhost:2181

以上配置中的namespace可借鉴【Zookeeper部署】中对namespace的配置,其中namespace列表中的元素可选一个填写到此处。

重启shardingsphere-proxy

进入【bin】目录,执行关闭指令:

./stop.sh

进入【bin】目录,执行启动指令:

./start.sh

执行数据迁移

连接代理数据库实例(Navicate)

借鉴【Shardingsphere-Proxy 5.5.0部署】中的Navicate连接代理数据库方法。

应用代理数据库

use sharding_test_db;

注册目标分片数据库存储单元

REGISTER STORAGE UNIT target_test_0  (URL="jdbc:mysql://localhost:3306/test_db_0?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true",USER="root",PASSWORD="123456"
);
REGISTER STORAGE UNIT target_test_1  (URL="jdbc:mysql://localhost:3306/test_db_1?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true",USER="root",PASSWORD="123456" 
);

注销目标分片数据库存储单元

如果存储单元有修改,可以注销后重新注册。

UNREGISTER STORAGE UNIT IF EXISTS 目标存储单元别名;
例:UNREGISTER STORAGE UNIT IF EXISTS target_tss_1;

注意:注销之前要将已经创建的分库分表规则先删除

创建分库分表规则

规则名是proxy代理数据库汇聚的表名

CREATE SHARDING TABLE RULE test_table(DATANODES("target_tss_${0..1}.test_table_${1..31}"),DATABASE_STRATEGY(TYPE="standard",SHARDING_COLUMN=id,SHARDING_ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="target_tss_${id % 2}")))),			TABLE_STRATEGY(TYPE="standard",SHARDING_COLUMN=stat_date,SHARDING_ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="test_table_$->{Integer.parseInt(stat_date.toString().substring(8))}")))),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME="snowflake"))
);

sql讲解:
DATABASE_STRATEGY:数据库分片策略(按照id字段取模分片)
TABLE_STRATEGY:表分片策略(按照stat_date字段yyyy-MM-dd时间格式的最后两位并转数字作为分片表后缀)
KEY_GENERATE_STRATEGY:主键生成策略(雪花算法)

这个例子是标准分片的一个例子,可以借鉴【shardingsphere官网】看其他的分片类型例子。

删除规则

如果规则有修改,可以删除后重新添加。有修改语法,但是我感觉先删后增更方便。

DROP SHARDING TABLE RULE IF EXISTS 规则别名;
例:DROP SHARDING TABLE RULE IF EXISTS test_table;

注册源数据库存储单元

REGISTER MIGRATION SOURCE STORAGE UNIT source_tss (URL="jdbc:mysql://localhost:3306/test_db?serverTimezone=UTC&useSSL=false",USER="root",PASSWORD="123456",PROPERTIES("minPoolSize"="1","maxPoolSize"="20","idleTimeout"="60000")
);

注销源数据库存储单元

如果存储单元有修改,可以注销后重新注册。

UNREGISTER MIGRATION SOURCE STORAGE UNIT 存储单元别名;
例:UNREGISTER MIGRATION SOURCE STORAGE UNIT source_tss;

执行迁移任务

MIGRATE TABLE 源数据库存储单元别名.源表名 INTO 分库分表汇聚表名;
例:MIGRATE TABLE source_tss.test_table INTO test_table;

注意:【执行迁移任务】操作后,【提交任务】操作前,这个任务会持续执行,对于【存量数据】以及【增量数据】都会迁移到目标分片表。

查询数据迁移任务列表

可查询任务id

SHOW MIGRATION LIST;

在这里插入图片描述

查询指定任务id的状态

SHOW MIGRATION STATUS '任务id';

在这里插入图片描述

提交任务

COMMIT MIGRATION '任务id';

注意:

  1. 同一个表执行的迁移任务id相同,如果想多次执行同一个表的迁移任务,需要【提交任务】提交完之后可循环执行
  2. 【执行迁移任务】目标表需要为空,报错信息可在【查询指定任务id的状态】列表的【error_message】字段查看
  3. 集群模式修改配置文件中的表分片逻辑后可能会无效,因为有缓存的缘故,我的做法是把zookeeper和shardingsphere-proxy重启就可以了。

数据迁移执行 DistSQL 脚本实战

-- 1. 应用代理数据库
use sharding_test_db;-- 2. 注册目标数据库存储单元
REGISTER STORAGE UNIT target_test_0  (URL="jdbc:mysql://localhost:3306/test_db_0?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true",USER="root",PASSWORD="123456"
);
REGISTER STORAGE UNIT target_test_1  (URL="jdbc:mysql://localhost:3306/test_db_1?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true",USER="root",PASSWORD="123456" 
);-- 3. 创建规则(规则名是proxy代理数据库汇聚的表名)(表规则取yyyy-MM-dd后两位并转数字最为分片表后缀)
CREATE SHARDING TABLE RULE test_table(DATANODES("target_tss_${0..1}.test_table_${1..31}"),DATABASE_STRATEGY(TYPE="standard",SHARDING_COLUMN=id,SHARDING_ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="target_tss_${id % 2}")))),			TABLE_STRATEGY(TYPE="standard",SHARDING_COLUMN=stat_date,SHARDING_ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="test_table_$->{Integer.parseInt(stat_date.toString().substring(8))}")))),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME="snowflake"))
);-- 4. 注册源数据库存储单元
REGISTER MIGRATION SOURCE STORAGE UNIT source_tss (URL="jdbc:mysql://localhost:3306/test_db?serverTimezone=UTC&useSSL=false",USER="root",PASSWORD="123456",PROPERTIES("minPoolSize"="1","maxPoolSize"="20","idleTimeout"="60000")
);-- 5. 执行迁移任务
MIGRATE TABLE source_tss.test_table INTO test_table;-- 6. 展示数据迁移任务列表
SHOW MIGRATION LIST;-- 7. 查询指定任务id的状态
SHOW MIGRATION STATUS 'j0102p00004fbcfe6b4dc23af37e3cdb06a4c634ed';-- 8. 提交任务
COMMIT MIGRATION 'j0102p00004fbcfe6b4dc23af37e3cdb06a4c634ed';
http://www.yayakq.cn/news/133489/

相关文章:

  • 新手快速建设网站电子商务网站模板页面
  • 网站用户体验度宁津做网站
  • 营销型网站的定位百度快照优化
  • 怎么做网站的搜索功能crm客户管理系统登陆
  • 南京网站制作网站建设有限公司
  • 国外网站空间租用哪个好免费发布推广信息网站
  • php做网站步骤wordpress服务本地
  • 如何防范钓鱼网站快递公司网页模板
  • 好的开源网站网站安全漏洞扫描工具
  • 固始县网站建设培训上海十大网站建
  • 网站建设业务怎么跑怎么呢搜到自己建设的网站
  • 网站后台管理系统 静态页面wordpress类目权限
  • worldpress 建站昆明建设招聘信息网站
  • 公明网站建设怎么做怎样利用网站做推广
  • 小学英语教师做应用相关网站wordpress php转html
  • 崇仁网站建设推广费用哪些网站做面试题
  • 专业网站建设公司地址中国建设银行郑州分行网站
  • 专业网站设计公司哪家好网站绑定多个域名
  • 虚拟主机网站建设实训总结如何做网站关键词优化
  • 网站优化反馈机制 seoseo工作流程图
  • 什么事三合一网站网站建设与网页设计 难学吗
  • 手机网站菜单设计加强农业网站建设
  • 达州网站建设哪家好项目管理软件开发案例
  • 网站建设有哪些问题h5怎么生成二维码
  • 上海营销型网站制作seo做的比较好的公司
  • 网站开发答辩难点wordpress 跳转特效
  • 海安做网站的公司新闻类网站模板
  • 河池市住房城乡建设网站网站模版制作教程
  • 企业做网站的意义网页设计代码单元格内容怎么居中
  • 万户网站后台控制中心容桂网站制作咨询