检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
DDL概述 DDM支持通用的DDL操作:建库,建表,修改表结构等,但实现方式与普通的MySQL数据库有所区别。 在MySQL客户端执行DDL操作 rename table name不支持与其他DDL语句在同一条SQL执行。 对拆分表执行修改字段名操作的同时执行类似SELECT *
创建RDS for MySQL实例 本章节介绍创建RDS for MySQL实例并构造测试数据。 创建实例 登录华为云控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击左侧的服务列表图标,选择“数据库 > 云数据库 RDS”。 单击“购买数据库实例”。 配置实例名称和实例基本信息。
创建RDS for MySQL实例 本章节介绍创建DDM下关联的RDS for MySQL实例,创建步骤如下。 创建步骤 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 云数据库 RDS”。 单击“购买数据库实例”。
RDS for MySQL准备 此操作默认新的RDS for MySQL实例已创建成功。如需创建实例,请参考购买RDS for MySQL实例。 父主题: 通过DDM对RDS for MySQL实例进行分库分表
使用mysqldump从MySQL导出数据非常缓慢的原因 mysqldump客户端的版本和DDM所支持的MySQL版本不一致,可能会导致从MySQL导出数据非常缓慢。 建议版本保持一致。 父主题: DDM使用类
禁止创建表名以"_ddm"为前缀的表,系统默认认定此类表为系统内部表。 拆分表不支持全局唯一索引,当唯一键和拆分键不一致时,不能保证数据的唯一性。 建议使用bigint型作为自增键的数据类型。tinyint、smallint、mediumint、integer、int数据类型不建议作为自增键的类型,容易越界造成值重复。
();语法。 MySQL的JDBC连接的url中要加rewriteBatchedStatements参数,并保证5.1.13以上版本的驱动,才能实现批量插入。MySQL JDBC驱动在默认情况下会无视executeBatch()语句,把预计批量执行的一组sql语句拆散,一条一条地
Online DDL DDM支持通用的Online DDL操作:增加字段、删除字段、修改字段、设置默认值、修改编码、修改表名等。 Online DDL主要功能为在对应DDL上,提供ALGORITHM、LOCK显示声明的支持,并提供透传至后端数据库节点能力(此功能需满足DDM内核版本大于等于3
DDL DDL概述 创建表 拆分算法概述 拆分算法使用说明 父主题: SQL语法
每一行表示一个不一致的物理拆分表的详细检查结果。 DATABASE_NAME:物理表所在的物理分库。 TABLE_NAME:物理表表的表名。 TABLE_TYPE:物理表所属逻辑表类型。 EXTRA_COLUMNS:该物理表多出来的列。 MISSING_COLUMNS:表示该物理表缺少的列。 DIFFERENT_COLUMNS:
检查当前逻辑库下所有逻辑表各分表的DDL一致性 用途:用于对某逻辑库所有的逻辑表的一致性情况进行全局概览。 命令格式: check table 命令输出: 如果全部逻辑表都一致, 输出结果为: 如果存在不一致的逻辑表, 输出结果为: 输出详解: 每一行表示一个逻辑表的检查结果概况。 DATABASE_NAME:逻辑库名称。
源端RDS for MySQL准备 创建源端VPC和安全组 创建RDS for MySQL实例 创建源端VPN 父主题: 通过数据复制服务(DRS)将RDS for MySQL数据迁移到DDM
辑表创建方式请参见表2。 目标DDM使用的RDS for MySQL与其他云的MySQL版本需要保持一致。 迁移前准备 准备可以访问其他云MySQL实例的ECS。 确保其他云MySQL实例和目标DDM实例、RDS for MySQL实例都与ECS网络互通。如果网络不通,数据导出后
MMDD按月日哈希 YYYYMM按年月哈希 YYYYDD按年日哈希 YYYYWEEK按年周哈希 HASH算法 Range算法 父主题: DDL
按月日哈希 否 是 WEEK 按星期哈希 否 是 分库的拆分键及分表的拆分键,均不支持为空。 在DDM中,一张逻辑表的拆分方式是由拆分函数(包括分片数目与路由算法)与拆分键(包括拆分键的MySQL数据类型)共同定义。 当一张逻辑表的分库拆分方式与分表拆分方式不一致时,如果SQL查询没
WEEK适用于按周数的日期目进行分表,分表的表名的下标分别对应一周中的各个日期(星期一到星期天)。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值所对应的一周之中的日期进行取余运算并得到分表下标。
根据拆分键,按照算法元数据的规则将数据行存储到相应的分片上。 建表时要设定元数据,假如逻辑库分8个分片,则元数据可以设定的范围为:1-2=0,3-4=1,5-6=2,7-8=3,9-10=4,11-12=5,13-14=6,default=7。根据拆分键的值在某个范围路由到对应的分片上。 算法计算方式
MM按月份哈希 适用场景 MM适用于按月份数进行分表,分表的表名就是月份数。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值的月份数进行取余运算并得到分表下标。 例如:2019
适用于需要按用户ID或订单ID进行分库的场景。 使用说明 拆分键的数据类型必须是整数类型(INT, INTEGER, BIGINT, MEDIUMINT, SMALLINT, TINYINT, DECIMAL(支持精度为0的情况))或字符串类型(CHAR,VARCHAR)。 在SQL语句中对整数类型拆分
适用于需要按年份与一年的周数进行分库的场景,建议该函数与tbpartition YYYYWEEK(ShardKey) 联合使用。 使用说明 拆分键的数据类型必须是DATE / DATETIME / TIMESTAMP其中之一。 路由方式 根据拆分键的时间值的年份与一年的周数计算哈希值,然后再按分库/表数取余。