检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
广播表和单表的使用场景 单表 DDM管理控制台不提供单表创建操作,用户可以通过MySQL客户端或应用程序连接到DDM实例后自行创建。 如果一张表的数据量预估在1000万条以下,且没有与其他拆分表进行关联查询的需求,建议将其设置为单表类型,存储在默认分片中。 单表创建样例,不做任何拆分:
创建表 禁止创建表名以"_ddm"为前缀的表,系统默认认定此类表为系统内部表。 拆分表不支持全局唯一索引,当唯一键和拆分键不一致时,不能保证数据的唯一性。 建议使用bigint型作为自增键的数据类型。tinyint、smallint、mediumint、integer、int数据
通过DDM对RDS for MySQL实例进行分库分表 方案概述 RDS for MySQL准备 DDM准备 创建DRS迁移任务
创建目标库表结构 操作步骤 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。 在实例管理页面,单击实例对应操作栏的“登录”按钮。 在实例登录窗口输入创建DDM账号
表数据重载 DDM跨region容灾场景下,通过数据复制服务(DRS)进行存储层数据迁移,迁移完成之后,目标DDM无法感知逻辑表信息所在位置,所以需要在目标DDM主动下发“表数据重载”,重新加载信息,跟分片建立联系。 操作步骤 登录分布式数据库中间件控制台。 在“实例管理”页面,选择目标实例。
DDM表数据重载 功能介绍 DDM实例跨region容灾场景下,针对目标DDM实例实现表数据reload,使数据同步。 接口约束 无。 调试 您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
检查当前逻辑库下所有逻辑表各分表的DDL一致性 用途:用于对某逻辑库所有的逻辑表的一致性情况进行全局概览。 命令格式: check table 命令输出: 如果全部逻辑表都一致, 输出结果为: 如果存在不一致的逻辑表, 输出结果为: 输出详解: 每一行表示一个逻辑表的检查结果概况。
DDM如何进行分片 在分布式数据库中,可以通过分片存储方式,轻松解决大数据量单表容量达到单机数据库存储上限的瓶颈,因此创建逻辑库和逻辑表时,需要根据实际情况确定逻辑表是否进行分片以及逻辑表的分片规则。 分片存储后,需要尽量避免跨库JOIN操作带来的性能与资源消耗问题。 逻辑表是否分片
检查某一张逻辑表各分表的DDL一致性 用途:对特定一张逻辑表进行详细检查。 命令格式: check table <table_name> 命令输出: 如果返回结果集为空, 表示该逻辑表各物理分表DDL都是一致的。 如果返回结果集不为空, 表示各个不一致的物理表。 输出详解: 每一
创建逻辑库并关联RDS for MySQL实例 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。 在实例管理页面,单击实例对应操作栏的“创建逻辑库”。 在创建逻辑
DDM SQL使用规范 insert操作 insert写法规范 不建议逐条insert,推荐使用insert into values (),()..();语法。 MySQL的JDBC连接的url中要加rewriteBatchedStatements参数,并保证5.1.13以上版本的驱动,才能实现批量插入。MySQL
拆分算法概述 支持的拆分算法概览 DDM是一个支持既分库又分表的数据库服务,目前DDM分库函数与分表函数的支持情况如下: 表1 拆分算法概览表 拆分函数 描述 能否用于分库 能否用于分表 MOD_HASH 简单取模 是 是 MOD_HASH_CI 简单取模(大小写不敏感) 是 是
"guidance": "https://support.huaweicloud.com/usermanual-ddm/ddm_06_0042.html", "service_impact_duration: "正常业务负载下闪断时长<60s。", "upgrade_duration":
概览 本手册基于华为云分布式数据库中间件实践所编写,用于指导您完成相关设置,购买更符合业务的分布式数据库中间件实例。 表1 DDM最佳实践一览表 章节名称 简介 合理制定分片策略 介绍创建拆分表时如何选择拆分键和拆分算法。 如何选择DDM逻辑库分片数 介绍创建拆分库时如何合理选择逻辑库分片。
方案概述 操作场景 本文将介绍如何通过DDM对已有RDS for MySQL实例进行分库分表。 操作流程 图1 流程图 前提条件 拥有华为账号。 新的RDS for MySQL实例已创建成功。 源RDS for MySQL实例与目标DDM实例、新RDS for MySQL实例必须处于相同VPC,且安全组配置相同。
权限管理 权限级别支持情况 用户层级(支持) 数据库层级(支持) 表层级(支持) 列层级(暂不支持) 子程序层级(暂不支持) 全局层级(暂不支持) 权限项 DDM通过GRANT语句授权所支持的权限项如下: 权限类型 权限简述 ALL 所有权限 Drop 删除table Index
目标实例的实例规格和存储空间等原则上不低于源数据库。 检查源数据库和目标实例的表结构和字符集等一致。 “拆分算法”为“hash”的逻辑表单次迁移记录数不超过1000万条;“拆分算法”为“range”的逻辑表单次迁移记录数不超过500万条。 对于数量过大的表可以采用分批导出导入,通过mysqldump指定参数where条件来限定每批的记录数。
如何将单RDS数据整库迁移至DDM 操作场景 本章节主要介绍将单RDS(非拆分,以下简称旧RDS)库中的数据整库迁移到DDM实例非拆分库中,仅使用DDM做读写分离场景。 迁移过程中可能会出现业务中断情况,中断时长与迁移数据量大小、网络情况相关。 数据迁移是一项比较复杂的操作,建议
MM按月份哈希 适用场景 MM适用于按月份数进行分表,分表的表名就是月份数。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值的月份数进行取余运算并得到分表下标。 例如:
HASH算法 适用场景 适用于需要将数据均匀分布的场景对数据进行拆分的场景,在SQL查询条件中,使用“=”、“IN”之类运算符相对较多。 使用说明 拆分键的数据类型必须是整数类型(INT, INTEGER, BIGINT, MEDIUMINT, SMALLINT, TINYINT