检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
拆分算法概述 支持的拆分算法概览 DDM是一个支持既分库又分表的数据库服务,目前DDM分库函数与分表函数的支持情况如下: 表1 拆分算法概览表 拆分函数 描述 能否用于分库 能否用于分表 MOD_HASH 简单取模 是 是 MOD_HASH_CI 简单取模(大小写不敏感) 是 是
Range算法 适用场景 适用于范围类操作较多的场景。在SQL查询条件中,使用“>”、“<”、“BETWEEN ... AND ...”之类运算符相对较多。 使用说明 拆分键的类型只支持整型类型、日期类型和日期函数结合,如果使用日期函数,拆分键的数据类型必须是date、datetime、timestamp其一。
当计算路由结果时,计算拆分键值的CRC32值然后对102400取余,根据计算结果落到某个范围进行路由(大小写敏感)。 算法计算方式 方式一:拆分键非日期类型 表1 拆分键非日期类型 条件 算法 举例 拆分键非日期类型 分库路由结果 = crc32(分库拆分键值) % 102400 分表路由结果 =
成路由计算(大小写敏感)。 例如:MOD_HASH('8')等价于8%D(D是分库数目/分表数)。 算法计算方式 方式一:拆分键是整型 表1 拆分键是整型时的计算方式 条件 算法 举例 分库拆分键 ≠ 分表拆分键 分库路由结果 = 分库拆分键值 % 分库数 分表路由结果 = 分表拆分键值
数据查询不到。 路由方式 实现原理同MOD_HASH算法一致,区别在于MOD_HASH_CI算法对大小写不敏感,而MOD_HASH算法对大小写敏感。 算法计算方式 方式一:拆分键是整型 表1 拆分键是整型时的计算方式 条件 算法 举例 分库拆分键 ≠ 分表拆分键 分库路由结果 =
RIGHT_SHIFT算法 适用场景 当拆分键大部分键值的低位部位区分度比较低而高位部分区分度比较高时,则适用于通过此拆分算法提高散列结果的均匀度。 使用说明 拆分键的数据类型必须是整数类型。 路由方式 根据拆分键的键值(键值必须是整数)有符号地向右移二进制移指定的位数(位数由用户通过
拆分算法使用说明 MOD_HASH算法 MOD_HASH_CI算法 RIGHT_SHIFT算法 MM按月份哈希 DD按日期哈希 WEEK按星期哈希 MMDD按月日哈希 YYYYMM按年月哈希 YYYYDD按年日哈希 YYYYWEEK按年周哈希 HASH算法 Range算法 父主题:
例如:2019-1-15,当根据分库键确定分库后,确定分表的计算方式是:月份mod分表数,即:1 mod 12 = 1。 算法计算方式 表1 算法举例 条件 算法 举例 无 分表路由结果 = 分表拆分键值 % 分表数 分表拆分键值 :2019-1-15 分表:1 % 12 = 1 建表语法
-> 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 + 一年第几周)
例如:2019-1-15,当根据分库建确定分库后,确定分表的计算方式是:一个月的第几天mod分表数,即:15 mod 31 = 15。 算法计算方式 表1 算法举例 条件 算法 举例 无 分表路由结果 = 分表拆分键值 % 分表数 分表拆分键值 :2019-1-15 分表:15 % 31 = 15
分表的计算方式是:一年的第几天mod分表数,即:15 mod 366 = 15; 2019-1-15是一年的第15天。 算法计算方式 表1 算法举例 条件 算法 举例 无 分表路由结果 = 分表拆分键值 % 分表数 分表拆分键值 :2019-1-15 分表:15 % 366= 15
例如,YYYYMM(‘2012-12-31 12:12:12’) 等价于 (2012 * 12 + 12) % D(D是分库数目/分表数)。 算法计算方式 表1 算法计算方式 条件 算法 举例 分库拆分键 ≠ 分表拆分键 拆分键:yyyy-MM-dd 分库路由结果 = (yyyy * 12 + MM) %
D(D是分库数目/分表数)。 "2012-12-31"是2012年第366天,所以为"2012 * 366+366"。 算法计算方式 表1 算法计算方式 条件 算法 举例 分库拆分键 ≠ 分表拆分键 拆分键:yyyy-MM-dd 分库路由结果 = (yyyy * 366 + 一年第几天)
步骤1:对应用进行分析 步骤2:准备应用运行环境 更多 技术专题 技术、观点、课程专题呈现 专题学习 轻松进行专题学习,了解数据库使用技巧。 GO语言深入之道 介绍几个Go语言及相关开源框架的插件机制 跟唐老师学习云网络 唐老师将自己对网络的理解分享给大家 智能客服 您好!我是有问必答知识渊博的
函数拆分。 为了方便日志清理和转储,采用range拆分算法,对时间字段用日期函数转换成年,表示按年存储到各个分片上,详情参见如下示例。 如何选择拆分算法 拆分算法即将逻辑表中数据拆分到多个数据库分片上的算法,DDM支持hash和range两大类拆分算法。 hash类 将数据均匀分布在各个分片。
拆分表不支持全局唯一索引,当唯一键和拆分键不一致时,不能保证数据的唯一性。 建议使用bigint型作为自增键的数据类型。tinyint、smallint、mediumint、integer、int数据类型不建议作为自增键的类型,容易越界造成值重复。 分库分表 假设使用HASH的拆分库算法,拆分表算法为MOD_HASH,样例如下:
查看逻辑库列表和逻辑表信息 您可以通过DDM控制台查看DDM实例的逻辑库列表和逻辑表信息,无需使用代码查询。 使用须知 创建失败的逻辑库,无法查看该逻辑库的表结构。 查看逻辑表信息时,逻辑库的状态为“运行中”或“分片变更中”。 操作步骤 登录分布式数据库中间件控制台。 在实例管理
甲发短信给乙丙丁,周二中午十二点聚餐是否有时间。 丁回复有时间。 乙回复有时间。 丙迟迟不回复,此时对于这个活动,甲乙丙丁均处于阻塞状态,算法无法继续进行。 丙回复有时间(或者没有时间)。 提交阶段: 协调者甲将收集到的结果(周二中午聚餐或者不聚餐)反馈给乙丙丁(什么时候反馈,以
2021年7月 序号 功能名称 功能描述 阶段 相关文档 1 SQL语法 新增MOD_HASH_CI算法。 商用 MOD_HASH_CI算法 2021年6月 序号 功能名称 功能描述 阶段 相关文档 1 访问控制 支持通过访问控制功能做访问的安全控制。 商用 访问控制 2021年5月 序号