检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
适用场景 WEEK适用于按周数的日期目进行分表,分表的表名的下标分别对应一周中的各个日期(星期一到星期天)。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值所对应的一周之中的日期进行取余运算并得到分表下标。
DDM使用类 DDM如何进行分片 如何解决JDBC驱动方式连接DDM异常问题 使用mysqldump从MySQL导出数据非常缓慢的原因 导入数据到DDM过程中出现主键重复 如何处理数据迁移过程中自增列报错:主键重复 如何处理配置参数未超时却报错 如何处理DDM逻辑库与RDS实例的先后关系
DDM准备 创建DDM实例 创建逻辑库并关联RDS for MySQL实例 创建DDM账号 创建目标库表结构 父主题: 通过DDM对RDS for MySQL实例进行分库分表
MM按月份哈希 适用场景 MM适用于按月份数进行分表,分表的表名就是月份数。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值的月份数进行取余运算并得到分表下标。 例如:
DDM事务模型 因为DDM中的表一般都做了分库分表,使得这些表中的数据可能分布在很多个RDS实例上的不同数据库分片内。在DDM中一个事务中对各个逻辑表的增删改查很有可能实际发生在多个RDS实例上的不同数据库分片上,每个RDS实例上同一数据库分片内所发生的对分片内数据表的一系列操作相当于一
VPN网关接入的虚拟私有云(VPC)和源端RDS for MySQL实例的VPC保持一致,即创建源端VPC和安全组中创建的VPC。 本端子网和源端RDS for MySQL实例所在VPC的子网保持一致,即创建源端VPC和安全组中创建的子网。 单击“立即购买”,核对VPN信息后单击“提交”完成支付。
单击左侧导航栏的“账号管理”页签,进入账号管理页面。 单击“创建DDM账号”按钮进入创建DDM账号页面。 选择创建逻辑库并关联RDS for MySQL实例中创建的逻辑库进行关联,设置用户名和密码以及账号权限,单击“确定”按钮进行账号创建。 图1 创建DDM账号 DDM账号创建成功。
创建DRS迁移任务 创建DRS迁移任务 确认迁移执行结果 父主题: 通过DDM对RDS for MySQL实例进行分库分表
SQL调优建议 当group by 字段不是表中现有的数据列时,可以使用generated column机制(MySQL5.7版本以上支持,5.6及之前版本可新建普通字段和添加索引),创建新列并添加索引,将新创建字段作为group by条件,避免使用临时表。 保持group by 和order
MySQL实例的数据迁移到DDM实例中。 填写实例迁移信息,更多参数的说明请参见MySQL迁移至DDM参数说明。 数据流动方向选择“入云”。 源数据库引擎选择“MySQL”。 目标数据库引擎选择“DDM”。 网络类型根据实际情况选择。 目标数据库实例选择创建DDM实例中购买成功的DDM实例。
本章节介绍如何创建DRS迁移任务,将华为云不同Region的RDS for MySQL上的数据库迁移到华为云DDM。 迁移前检查 在创建任务前,需要针对迁移条件进行手工自检,以确保您的同步任务更加顺畅。 本示例为MySQL到DDM入云迁移,您可以参考迁移使用须知获取相关信息。 创建迁移任务 登录华为云控制台。
不要过高,或者选择在业务低峰期执行,否则可能会出现“后端RDS连接数可能不够用”报错。 广播表的插入操作,会在每个分片的表中进行插入。如果此表数据量太大(超过100万条数据),不建议使用广播表,以免占用太多数据空间,可以使用拆分表。
找一个满足使用条件的DDM实例。创建DDM实例的步骤参见购买数据库中间件实例。 新建的DDM实例或者满足使用条件的已有实例均不能挂载RDS for MySQL实例,不能创建逻辑库和账号。 在云数据库 RDS控制台,创建与源DDM实例下相同数量的RDS for MySQL实例。 新创建的RDS
分片变更操作指导 本章节以RDS for MySQL实例为例说明分片变更的使用方法。 前提条件 DDM实例中已创建逻辑库。 已有RDS for MySQL实例与DDM实例处于相同的VPC,该RDS for MySQL实例没有被其它DDM实例使用。如果需增加DN实例,则DN实例与DDM实例需要处于相同的VPC。
逻辑表是否分片 DDM逻辑表支持全局表、拆分表、单表三种类型。用户可以按照数据表的实际使用需求,选择最合适的逻辑表类型创建,实际操作请参考创建表。 单表只在第一个分片创建表以及存储数据。 全局表在每一个分片创建表并且存储全量数据。 拆分表在每一个分片创建表,数据按照拆分规则分散存储在分片中。
A:根据最佳实践结果,一般建议DDM和RDS for MySQL的资源比保持在1:2。如果DDM是8核16GB,需要选择2个或以上8核16GB的RDS for MySQL实例,RDS for MySQL的具体数量还需参考业务整体数据量综合考虑。 对于生产业务使用的实例,RDS for MySQL需选择主备架构来保证高可用。
使用限制 网络访问使用限制 DN实例使用限制 不支持的特性和使用限制 高危操作提示
创建DDM实例 操作步骤 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。 在实例管理页面,单击页面右上方的“购买数据库中间件实例”。 按需设置实例相关信息和规格。参数说明请参考实例购买。
创建源端VPC和安全组 创建源端VPC和安全组,为创建RDS for MySQL实例准备好网络资源和安全组。 创建VPC 登录华为云控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击左侧的服务列表图标,选择“网络 > 虚拟私有云 VPC”。 进入虚拟私有云信息页面。
确认迁移执行结果 操作步骤 待迁移任务结束后,可登录DDM实例查看数据迁移结果。确保DDM实例数据与源数据库数据一致。 图1 查看user_test表数据 图2 查看address_test表数据 执行以下命令查看表数据分布情况。广播表各分片数据一致,拆分表数据会按照拆分算法分布在选取的分片中。