检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建表 禁止创建表名以"_ddm"为前缀的表,系统默认认定此类表为系统内部表。 拆分表不支持全局唯一索引,当唯一键和拆分键不一致时,不能保证数据的唯一性。 建议使用bigint型作为自增键的数据类型。tinyint、smallint、mediumint、integer、int数据
/*+db=<physical_db_name>*/ TRUNCATE TABLE <table_name> 描述: 删除对应的<physical_db_name>物理库下对应的所有的<table_name>的分表数据,其余分库的表不受影响。 父主题: TRUNCATE TABLE
广播表和单表的使用场景 单表 DDM管理控制台不提供单表创建操作,用户可以通过MySQL客户端或应用程序连接到DDM实例后自行创建。 如果一张表的数据量预估在1000万条以下,且没有与其他拆分表进行关联查询的需求,建议将其设置为单表类型,存储在默认分片中。 单表创建样例,不做任何拆分:
进行建表操作。 建表操作是将源RDS for MySQL数据库中的表在DDM实例中重新创建,根据表的性质可选择创建为广播表、单表、拆分表。广播表和单表的使用场景请参考广播表和单表的使用场景。 图1 原数据库表 图2 address_test表数据 图3 user_test表数据
TABLE不支持hash和key分区表。 SHOW WARNINGS、SHOW ERRORS语句不支持LIMIT/COUNT的组合。SHOW语句会随机下发到某个物理分片,每个物理分片如果在不同的RDS for MySQL实例上,查得的变量或者表信息可能不同。 父主题: SQL语法
上述SQL返回值为1,表示2019-01-15是周二,因为周日为一周中的第一天,所以周二则为一周中的第三天。 算法计算方式 表1 算法举例 条件 算法 举例 无 分表路由结果 = 分表拆分键值 % 分表数 分表拆分键值 :2019-1-15 分表:3 % 7= 3 建表语法 create
TABLE_NAME:逻辑表名称。 TABLE_TYPE:逻辑表类型。 SINGLE:单表。 BROADCAST:广播表。 SHARDING:拆分表。 DDL_CONSISTENCY:该逻辑表对应所有物理表DDL是否一致。 TOTAL_COUNT:该逻辑表有几个物理表。 INCONSIS
MMDD适用于按一年的天数(即一年中日期)进行分表,分表的表名的下标就是一年中的第几天,一年最多366天。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值所对应的日期在一年中对应的天数,然后进行取余运算并得到分表下标。
通过DDM对RDS for MySQL实例进行分库分表 方案概述 RDS for MySQL准备 DDM准备 创建DRS迁移任务
创建目标库表结构 DRS目前仅支持迁移源端MySQL的数据到目标DDM,不支持迁移源库表结构及其他数据库对象。用户需要在目标库根据源端逻辑库的表结构,自行在目标库创建对应的表结构及索引。未在目标库创建的对象,视为用户不选择这个对象进行迁移。更对约束限制可参考使用须知。 操作步骤 登录华为云控制台。
DDM表数据重载 功能介绍 DDM实例跨region容灾场景下,针对目标DDM实例实现表数据reload,使数据同步。 接口约束 无。 调试 您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
前缀匹配:禁止在对应逻辑库执行带有某些关键字的SQL语句,例如带有DROP或者DELETE的SQL语句。 全量匹配:禁止在对应逻辑库执行该SQL语句,SQL语句中如果有多个空格或者换行,将不会被替换为单个空格或截断为单个空格来匹配。 正则匹配:禁止在对应逻辑库执行含有该正则表达式的SQL语句。
本示例中逻辑库模式为单库,逻辑库名称为db_test。 DRS目前仅支持迁移源端MySQL的数据到目标DDM,不支持迁移源库表结构及其他数据库对象,用户需要在目标库根据源端数据库的表结构创建对应的逻辑库。 图1 关联RDS for MySQL实例 父主题: 目标端DDM准备
用户指南目录结构调整。 商用 用户指南 2021年1月 序号 功能名称 功能描述 阶段 相关文档 1 创建表语法 SQL语法章节新增4种创建表的建表语法。 商用 详情请参见创建表。 2020年12月 序号 功能名称 功能描述 阶段 相关文档 1 全局序列 SQL语法章节增加全局序列等内容。
每一行表示一个不一致的物理拆分表的详细检查结果。 DATABASE_NAME:物理表所在的物理分库。 TABLE_NAME:物理表表的表名。 TABLE_TYPE:物理表所属逻辑表类型。 EXTRA_COLUMNS:该物理表多出来的列。 MISSING_COLUMNS:表示该物理表缺少的列。
表数据重载 DDM跨region容灾场景下,通过数据复制服务(DRS)进行存储层数据迁移,迁移完成之后,目标DDM无法感知逻辑表信息所在位置,所以需要在目标DDM主动下发“表数据重载”,重新加载信息,跟分片建立联系。 操作步骤 登录分布式数据库中间件控制台。 在“实例管理”页面,选择目标实例。
算法计算方式 方式一:拆分键非日期类型 表1 拆分键非日期类型 条件 算法 举例 拆分键非日期类型 分库路由结果 = crc32(分库拆分键值) % 102400 分表路由结果 = crc32(分表拆分键值) % 102400 分库/分表:crc32(16) % 102400 =
Online DDL DDM支持通用的Online DDL操作:增加字段、删除字段、修改字段、设置默认值、修改编码、修改表名等。 Online DDL主要功能为在对应DDL上,提供ALGORITHM、LOCK显示声明的支持,并提供透传至后端数据库节点能力(此功能需满足DDM内核版本大于等于3
消息头和消息体。 状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码列表请参见状态码。 对于获取用户Token接口,如果调用后返回状态码为“201”,则表示请求成功。 响应消息头 对应请求消息头,响应同样也有消息头,如“Content-type”。
方案概述 操作场景 本文将介绍如何通过DDM对已有RDS for MySQL实例进行分库分表。 操作流程 图1 流程图 前提条件 拥有华为账号。 新的RDS for MySQL实例已创建成功。 源RDS for MySQL实例与目标DDM实例、新RDS for MySQL实例必须处于相同VPC,且安全组配置相同。