检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
拆分算法概述 支持的拆分算法概览 DDM是一个支持既分库又分表的数据库服务,目前DDM分库函数与分表函数的支持情况如下: 表1 拆分算法概览表 拆分函数 描述 能否用于分库 能否用于分表 MOD_HASH 简单取模 是 是 MOD_HASH_CI 简单取模(大小写不敏感) 是 是
t=7。根据拆分键的值在某个范围路由到对应的分片上。 算法计算方式 方式一:拆分键是整型 表1 拆分键是整型时的计算方式 条件 算法 举例 拆分键是整型 分库路由结果 = 根据分库拆分键值在设定的元数据的范围进行路由 分库 :拆分值为3属于3-4=1,则路由到1分片 方式二:拆分键是日期类型
当计算路由结果时,计算拆分键值的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算法 父主题:
求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。
例如: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 建表语法
例如:2019-1-15,当根据分库建确定分库后,确定分表的计算方式是:一个月的第几天mod分表数,即:15 mod 31 = 15。 算法计算方式 表1 算法举例 条件 算法 举例 无 分表路由结果 = 分表拆分键值 % 分表数 分表拆分键值 :2019-1-15 分表:15 % 31 = 15
此处“2012-12-31”是2013年第一周,所以为"2013* 54+ 1"。 YYYYWEEK的具体用法请参见YEARWEEK函数。 算法计算方式 表1 算法计算方式 条件 算法 举例 分库拆分键 ≠ 分表拆分键 拆分键:yyyy-MM-dd 分库路由结果 = (yyyy * 54 + 一年第几周)
分表的计算方式是:一年的第几天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 + 一年第几天)
获取实例标签列表 instance listInstanceTags 切换实例内核的ssl开关 instance switchSsl 获取实例的ssl证书下载地址 instance getSslCerts 查询逻辑库列表 instance listDatabases 导出逻辑库信息 instance
ggg1BBIINPXsidG9rZ API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见AK/SK认证。
为了方便日志清理和转储,采用range拆分算法,对时间字段用日期函数转换成年,表示按年存储到各个分片上,详情参见如下示例。 如何选择拆分算法 拆分算法即将逻辑表中数据拆分到多个数据库分片上的算法,DDM支持hash和range两大类拆分算法。 hash类 将数据均匀分布在各个分片。
DDL DDL概述 创建表 拆分算法概述 拆分算法使用说明 父主题: SQL语法
、mediumint、integer、int数据类型不建议作为自增键的类型,容易越界造成值重复。 分库分表 假设使用HASH的拆分库算法,拆分表算法为MOD_HASH,样例如下: CREATE TABLE tbpartition_tbl ( id bigint NOT NULL AUTO_INCREMENT