检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
拆分算法概述 支持的拆分算法概览 DDM是一个支持既分库又分表的数据库服务,目前DDM分库函数与分表函数的支持情况如下: 表1 拆分算法概览表 拆分函数 描述 能否用于分库 能否用于分表 MOD_HASH 简单取模 是 是 MOD_HASH_CI 简单取模(大小写不敏感) 是 是
如何处理配置参数未超时却报错 建议可将参数SocketTimeOut值调整或者去掉,默认为0则不断开连接。 父主题: DDM使用类
拆分算法使用说明 MOD_HASH算法 MOD_HASH_CI算法 RIGHT_SHIFT算法 MM按月份哈希 DD按日期哈希 WEEK按星期哈希 MMDD按月日哈希 YYYYMM按年月哈希 YYYYDD按年日哈希 YYYYWEEK按年周哈希 HASH算法 Range算法 父主题:
外,还需要安全组分别配置了正确的规则,允许网络访问。 建议ECS、DDM、数据节点配置相同的安全组。安全组创建后,默认包含同一安全组内网络访问不受限制的规则。 如果配置了不同安全组,可参考如下配置方式: 例如ECS、DDM、RDS分别配置了安全组:sg-ECS、sg-DDM、sg-RDS。
当计算路由结果时,计算拆分键值的CRC32值然后对102400取余,根据计算结果落到某个范围进行路由(大小写敏感)。 算法计算方式 方式一:拆分键非日期类型 表1 拆分键非日期类型 条件 算法 举例 拆分键非日期类型 分库路由结果 = crc32(分库拆分键值) % 102400 分表路由结果 =
t=7。根据拆分键的值在某个范围路由到对应的分片上。 算法计算方式 方式一:拆分键是整型 表1 拆分键是整型时的计算方式 条件 算法 举例 拆分键是整型 分库路由结果 = 根据分库拆分键值在设定的元数据的范围进行路由 分库 :拆分值为3属于3-4=1,则路由到1分片 方式二:拆分键是日期类型
RIGHT_SHIFT算法 适用场景 当拆分键大部分键值的低位部位区分度比较低而高位部分区分度比较高时,则适用于通过此拆分算法提高散列结果的均匀度。 使用说明 拆分键的数据类型必须是整数类型。 路由方式 根据拆分键的键值(键值必须是整数)有符号地向右移二进制移指定的位数(位数由用户通过
成路由计算(大小写敏感)。 例如:MOD_HASH('8')等价于8%D(D是分库数目/分表数)。 算法计算方式 方式一:拆分键是整型 表1 拆分键是整型时的计算方式 条件 算法 举例 分库拆分键 ≠ 分表拆分键 分库路由结果 = 分库拆分键值 % 分库数 分表路由结果 = 分表拆分键值
DATA_NODE connection_idle_timeout 服务器关闭连接之前等待连接活动的秒数,以秒为单位,默认值28800,表示服务器关闭连接之前等待28800秒后,关闭连接。 60~86400 28800 contains_shard_key 是否强制SELECT,UPDAT
数据查询不到。 路由方式 实现原理同MOD_HASH算法一致,区别在于MOD_HASH_CI算法对大小写不敏感,而MOD_HASH算法对大小写敏感。 算法计算方式 方式一:拆分键是整型 表1 拆分键是整型时的计算方式 条件 算法 举例 分库拆分键 ≠ 分表拆分键 分库路由结果 =
配置SQL黑名单 配置SQL黑名单即配置该逻辑库不允许执行的SQL语句。 该功能主要用于解决用户某类突发的并发过高的SQL导致DDM实例不稳定的场景。 操作步骤 登录分布式数据库中间件控制台。 在实例管理列表页面,选择目标DDM实例,单击实例名称,进入实例基本信息页面。 在左侧导
华为云上自建MySQL迁移到DDM示意图 自建MySQL所在服务器与目标DDM实例、RDS for MySQL实例必须处于相同VPC,且安全组配置相同。 约束限制 华为云上自建MySQL所在ECS、新购DDM和RDS for MySQL实例建议配置相同VPC和安全组。 为了保持数据完整性,需要先停止业务后再进行数据迁移。
分表的计算方式是:一年的第几天mod分表数,即:15 mod 366 = 15; 2019-1-15是一年的第15天。 算法计算方式 表1 算法举例 条件 算法 举例 无 分表路由结果 = 分表拆分键值 % 分表数 分表拆分键值 :2019-1-15 分表:15 % 366= 15
例如:2019-1-15,当根据分库建确定分库后,确定分表的计算方式是:一个月的第几天mod分表数,即:15 mod 31 = 15。 算法计算方式 表1 算法举例 条件 算法 举例 无 分表路由结果 = 分表拆分键值 % 分表数 分表拆分键值 :2019-1-15 分表:15 % 31 = 15
D(D是分库数目/分表数)。 "2012-12-31"是2012年第366天,所以为"2012 * 366+366"。 算法计算方式 表1 算法计算方式 条件 算法 举例 分库拆分键 ≠ 分表拆分键 拆分键:yyyy-MM-dd 分库路由结果 = (yyyy * 366 + 一年第几天)
例如:2019-1-15,当根据分库键确定分库后,确定分表的计算方式是:月份mod分表数,即:1 mod 12 = 1。 算法计算方式 表1 算法举例 条件 算法 举例 无 分表路由结果 = 分表拆分键值 % 分表数 分表拆分键值 :2019-1-15 分表:1 % 12 = 1 建表语法
例如,YYYYMM(‘2012-12-31 12:12:12’) 等价于 (2012 * 12 + 12) % D(D是分库数目/分表数)。 算法计算方式 表1 算法计算方式 条件 算法 举例 分库拆分键 ≠ 分表拆分键 拆分键:yyyy-MM-dd 分库路由结果 = (yyyy * 12 + MM) %
-> 1 上述SQL返回值为1,表示2019-01-15是周二,因为周日为一周中的第一天,所以周二则为一周中的第三天。 算法计算方式 表1 算法举例 条件 算法 举例 无 分表路由结果 = 分表拆分键值 % 分表数 分表拆分键值 :2019-1-15 分表:3 % 7= 3 建表语法
此处“2012-12-31”是2013年第一周,所以为"2013* 54+ 1"。 YYYYWEEK的具体用法请参见YEARWEEK函数。 算法计算方式 表1 算法计算方式 条件 算法 举例 分库拆分键 ≠ 分表拆分键 拆分键:yyyy-MM-dd 分库路由结果 = (yyyy * 54 + 一年第几周)
C下,保证网络互通。 部署Mycat的ECS、目标DDM实例和目标DDM实例关联的RDS实例的安全组建议配置相同,如果不同则需要放开对应端口访问。 ECS已安装MySQL官方客户端,MySQL客户端版本建议为5.6或5.7。 Redhat系列Linux安装命令:yum install