检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
HASH算法 适用场景 适用于需要将数据均匀分布的场景对数据进行拆分的场景,在SQL查询条件中,使用“=”、“IN”之类运算符相对较多。 使用说明 拆分键的数据类型必须是整数类型(INT, INTEGER, BIGINT, MEDIUMINT, SMALLINT, TINYINT
方案概述 操作场景 本文将介绍如何通过DDM对已有RDS for MySQL实例进行分库分表。 操作流程 图1 流程图 前提条件 拥有华为账号。 新的RDS for MySQL实例已创建成功。 源RDS for MySQL实例与目标DDM实例、新RDS for MySQL实例必须处于相同VPC,且安全组配置相同。
MMDD适用于按一年的天数(即一年中日期)进行分表,分表的表名的下标就是一年中的第几天,一年最多366天。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值所对应的日期在一年中对应的天数,然后进行取余运算并得到分表下标。
单击“创建DDM账号”按钮进入创建DDM账号页面。 选择创建逻辑库并关联RDS for MySQL实例中创建的逻辑库进行关联,设置用户名和密码以及账号权限,单击“确定”按钮进行账号创建。 图1 创建DDM账号 DDM账号创建成功。 父主题: DDM准备
DD按日期哈希 适用场景 DD适用于按日期的天数进行分表,分表的表数就是日期的天数。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值的日期的天数进行取余运算并得到分表下标。 例如:2
YYYYMM按年月哈希 适用场景 适用于需要按年份与月份进行分库的场景,建议该函数与 tbpartition YYYYMM(ShardKey) 联合使用。 使用说明 拆分键的数据类型必须是DATE / DATETIME / TIMESTAMP其中之一。 路由方式 根据拆分键的时间
都连接成功后,单击“下一步”。 选择迁移对象,然后单击“下一步”。 在“预检查”页面,进行迁移任务预校验,校验是否可进行迁移。如有不通过的检查项,需要修复不通过项后,单击“重新校验”按钮重新进行迁移任务预校验。所有检查项结果均成功时,单击“下一步”。 图1 预检查 启动迁移任务。
同步参数又调用更新连接,最终导致栈溢出。 解决方法 在连接DDM的URL添加loadBalanceAutoCommitStatementThreshold=5&retriesAllDown=10参数。 //使用负载均衡的连接示例 //jdbc:mysql:loadbalance://ip1:port1
YYYYDD按年日哈希 适用场景 适用于需要按年份与一年的天数进行分库的场景,建议该函数与tbpartition YYYYDD(ShardKey) 联合使用。 使用说明 拆分键的数据类型必须是DATE / DATETIME / TIMESTAMP其中之一。 路由方式 根据拆分键的
确认迁移执行结果 操作步骤 待迁移任务结束后,可登录DDM实例查看数据迁移结果。确保DDM实例数据与源数据库数据一致。 图1 查看user_test表数据 图2 查看address_test表数据 执行以下命令查看表数据分布情况。广播表各分片数据一致,拆分表数据会按照拆分算法分布在选取的分片中。
操作步骤 连接DDM实例。 连接方法具体请参考连接DDM实例。 打开dml_test_1逻辑库。 use dml_test_1; 输入命令创建全局序列。 create sequence seq_test; 使用以下语句,实现全局序列在insert语句或者replace语句的使用。 insert
IDENTIFIED BY 信息,则会创建该账号同时授权。 当前支持使用GRANT ALL [PRIVILEGES]语法授权表级、用户级以及库级所有权限。 示例1:创建一个用户级所有权限的账号。用户名为Mike。 方法1:先创建账号,再授权。 CREATE USER Mike IDENTIFIED
账单管理”查看DDM实例的费用账单,以了解该资源在某个时间段的使用量和计费信息。 账单上报周期 包年/包月计费模式的DDM实例完成支付后,会实时上报一条账单到计费系统进行结算。 按需计费模式的实例按照固定周期上报使用量到计费系统进行结算。按需计费模式产品根据使用量类型的不同,分为按
MySQL准备中已创建成功的新RDS for MySQL实例,然后单击“下一步”。 图1 关联RDS for MySQL实例 输入RDS for MySQL实例密码,进行数据节点可用性检测。测试成功后,单击“完成”。 逻辑库创建成功。 图2 创建逻辑库成功 父主题: DDM准备
约束与限制 您能创建的分布式数据库中间件实例的数量与配额有关系。 更详细的限制请参见具体API的说明。 父主题: 使用前必读
MOD_HASH算法 适用场景 适用于需要按用户ID或订单ID进行分库的场景。 使用说明 拆分键的数据类型必须是整数类型(INT, INTEGER, BIGINT, MEDIUMINT, SMALLINT, TINYINT, DECIMAL(支持精度为0的情况))或字符串类型(CHAR
MOD_HASH_CI算法 适用场景 适用于需要按用户ID或订单ID进行分库的场景。 使用说明 拆分键的数据类型必须是整数类型(INT, INTEGER, BIGINT, MEDIUMINT, SMALLINT, TINYINT, DECIMAL(支持精度为0的情况))或字符串类型(CHAR
分布式数据库中间件提供了REST(Representational State Transfer)风格API,支持您通过HTTPS请求调用。 父主题: 使用前必读
获取方法请参见获取项目ID。 instance_id 是 String DDM实例ID。 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务的“获取用户Token”接口来获取。 表3 请求Body参数 参数
DDM”,进入DDM管理控制台。 在实例管理页面,单击实例对应操作栏的“登录”。 在弹出的对话框中输入创建DDM账号中的DDM账户名和密码,单击“测试连接”检查。 连接成功后单击“登录”,登录DDM实例。 单击创建逻辑库并关联RDS for MySQL实例中创建的逻辑库db_test。