检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
拆分算法概述 支持的拆分算法概览 DDM是一个支持既分库又分表的数据库服务,目前DDM分库函数与分表函数的支持情况如下: 表1 拆分算法概览表 拆分函数 描述 能否用于分库 能否用于分表 MOD_HASH 简单取模 是 是 MOD_HASH_CI 简单取模(大小写不敏感) 是 是
算法计算方式 方式一:拆分键是整型 表1 拆分键是整型时的计算方式 条件 算法 举例 拆分键是整型 分库路由结果 = 根据分库拆分键值在设定的元数据的范围进行路由 分库 :拆分值为3属于3-4=1,则路由到1分片 方式二:拆分键是日期类型 表2 支持的日期函数 日期函数 算法 举例
HASH算法 适用场景 适用于需要将数据均匀分布的场景对数据进行拆分的场景,在SQL查询条件中,使用“=”、“IN”之类运算符相对较多。 使用说明 拆分键的数据类型必须是整数类型(INT, INTEGER, BIGINT, MEDIUMINT, SMALLINT, TINYINT
RIGHT_SHIFT算法 适用场景 当拆分键大部分键值的低位部位区分度比较低而高位部分区分度比较高时,则适用于通过此拆分算法提高散列结果的均匀度。 使用说明 拆分键的数据类型必须是整数类型。 路由方式 根据拆分键的键值(键值必须是整数)有符号地向右移二进制移指定的位数(位数由用户通过
MOD_HASH算法 适用场景 适用于需要按用户ID或订单ID进行分库的场景。 使用说明 拆分键的数据类型必须是整数类型(INT, INTEGER, BIGINT, MEDIUMINT, SMALLINT, TINYINT, DECIMAL(支持精度为0的情况))或字符串类型(CHAR
数据查询不到。 路由方式 实现原理同MOD_HASH算法一致,区别在于MOD_HASH_CI算法对大小写不敏感,而MOD_HASH算法对大小写敏感。 算法计算方式 方式一:拆分键是整型 表1 拆分键是整型时的计算方式 条件 算法 举例 分库拆分键 ≠ 分表拆分键 分库路由结果 =
拆分算法使用说明 MOD_HASH算法 MOD_HASH_CI算法 RIGHT_SHIFT算法 MM按月份哈希 DD按日期哈希 WEEK按星期哈希 MMDD按月日哈希 YYYYMM按年月哈希 YYYYDD按年日哈希 YYYYWEEK按年周哈希 HASH算法 Range算法 父主题:
MM按月份哈希 适用场景 MM适用于按月份数进行分表,分表的表名就是月份数。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值的月份数进行取余运算并得到分表下标。 例如:2019
WEEK适用于按周数的日期目进行分表,分表的表名的下标分别对应一周中的各个日期(星期一到星期天)。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值所对应的一周之中的日期进行取余运算并得到分表下标。
适用于需要按年份与一年的周数进行分库的场景,建议该函数与tbpartition YYYYWEEK(ShardKey) 联合使用。 使用说明 拆分键的数据类型必须是DATE / DATETIME / TIMESTAMP其中之一。 路由方式 根据拆分键的时间值的年份与一年的周数计算哈希值,然后再按分库/表数取余。
MMDD适用于按一年的天数(即一年中日期)进行分表,分表的表名的下标就是一年中的第几天,一年最多366天。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值所对应的日期在一年中对
适用于需要按年份与月份进行分库的场景,建议该函数与 tbpartition YYYYMM(ShardKey) 联合使用。 使用说明 拆分键的数据类型必须是DATE / DATETIME / TIMESTAMP其中之一。 路由方式 根据拆分键的时间值的年份与月份计算哈希值,然后再按分库数取余。
适用于需要按年份与一年的天数进行分库的场景,建议该函数与tbpartition YYYYDD(ShardKey) 联合使用。 使用说明 拆分键的数据类型必须是DATE / DATETIME / TIMESTAMP其中之一。 路由方式 根据拆分键的时间值的年份与一年的天数计算哈希值,然后再按分库/表数取余。
DD按日期哈希 适用场景 DD适用于按日期的天数进行分表,分表的表数就是日期的天数。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值的日期的天数进行取余运算并得到分表下标。 例
正则匹配:禁止在对应逻辑库执行含有该正则表达式的SQL语句。 配置的黑名单SQL之间以英文分号隔开,前缀匹配、全量匹配、正则匹配中的SQL语句大小分别不超过1KB。 如果在配置SQL黑名单弹窗中清除之前编辑的前缀匹配与全量匹配中的SQL语句,并单击“确定”,则表示清空之前配置的SQL黑名单。 父主题:
C之外,还需要安全组分别配置了正确的规则,允许网络访问。 建议ECS、DDM、数据节点配置相同的安全组。安全组创建后,默认包含同一安全组内网络访问不受限制的规则。 如果配置了不同安全组,可参考如下配置方式: 例如ECS、DDM、RDS分别配置了安全组:sg-ECS、sg-DDM、sg-RDS。
轻松进行专题学习,了解数据库使用技巧。 GO语言深入之道 介绍几个Go语言及相关开源框架的插件机制 跟唐老师学习云网络 唐老师将自己对网络的理解分享给大家 智能客服 您好!我是有问必答知识渊博的的智能问答机器人,有问题欢迎随时求助哦! 社区求助 华为云社区是华为云用户的聚集地。这里有来自容器服务的技术牛人,为您解决技术难题。
如何处理配置参数未超时却报错 建议可将参数SocketTimeOut值调整或者去掉,默认为0则不断开连接。 父主题: DDM使用类
修改实例安全组 DDM服务支持修改数据库实例的安全组。 更多配置安全组操作,请参考如何选择和配置安全组。 使用须知 修改安全组后可能导致当前DDM实例与关联的数据节点网络不通,请谨慎选择。 操作步骤 登录分布式数据库中间件控制台。 在“实例管理”页面,选择指定的实例,单击实例名称。 在基本信息
如何选择拆分算法 拆分算法即将逻辑表中数据拆分到多个数据库分片上的算法,DDM支持hash和range两大类拆分算法。 hash类 将数据均匀分布在各个分片。 适用于SQL查询条件使用“=”、“IN”之类运算符相对较多的场景。 range类 将数据表内的记录按照算法元数据的取值范围进行分片存储。