检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建DDM账号 操作步骤 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。 在实例管理页面,单击实例实例名称,进入实例基本信息页面。 单击左侧导航栏的“账号管理”页签,进入账号管理页面。
RDS for MySQL准备 此操作默认新的RDS for MySQL实例已创建成功。如需创建实例,请参考购买RDS for MySQL实例。 父主题: 通过DDM对RDS for MySQL实例进行分库分表
创建DRS迁移任务 创建DRS迁移任务 确认迁移执行结果 父主题: 通过DDM对RDS for MySQL实例进行分库分表
查询创建逻辑库可选取的数据库实例列表 功能介绍 查询创建逻辑库可选取的数据库实例列表。 接口约束 无 调试 您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。 URI GET /v1/
创建DRS迁移任务 本章节介绍如何创建DRS迁移任务,将源RDS for MySQL实例数据迁移到新DDM实例。 操作步骤 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 数据复制服务 DRS”。 单击“创建迁移服务”按钮,创建一个迁移任务,将源RDS
创建DDM实例 操作步骤 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。 在实例管理页面,单击页面右上方的“购买数据库中间件实例”。 按需设置实例相关信息和规格。参数说明请参考实例购买。
确认迁移执行结果 操作步骤 待迁移任务结束后,可登录DDM实例查看数据迁移结果。确保DDM实例数据与源数据库数据一致。 图1 查看user_test表数据 图2 查看address_test表数据 执行以下命令查看表数据分布情况。广播表各分片数据一致,拆分表数据会按照拆分算法分布在选取的分片中。
创建逻辑库并关联RDS for MySQL实例 操作步骤 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。 在实例管理页面,单击实例对应操作栏的“创建逻辑库”。
新增平滑扩容、翻倍扩容等内容。 商用 服务名称变更,详情请参见逻辑库扩容。 2020年5月 序号 功能名称 功能描述 阶段 相关文档 1 分布式数据库中间件 DDM2.0第一次发布。 商用 - 历史变更 表1 DDM1.0-版本变更 发布时间 说明 2020-03-12 第二十五次正式发布,本次修改包括: XA事务使用说明;
DELETE DELETE指令为用于删除表中符合条件的行。 常用语法 DELETE [IGNORE] FROM tbl_name [WHERE where_condition] 语法限制 WHERE条件中不支持子查询(相关子查询和非相关子查询)。 不支持在多表删除中删除广播表中的数据(目标表列表中不可包含广播表)。
补充说明 HINT对于所有的单表以及全局表失效,只对各种分表起作用。 父主题: TRUNCATE TABLE
合理制定分片策略 当数据表之间存在E-R关系时,可以制定相同的分片规则,各数据表分别选择有关联关系的字段作为拆分键,这样各表中有关联关系的数据将会存储在一个分片上,避免数据跨分片JOIN操作。如客户表、订单表与订单明细表,在创建拆分表时,建议都选取客户ID作为拆分键。 表1 拆分键与拆分算法使用简介
DD按日期哈希 适用场景 DD适用于按日期的天数进行分表,分表的表数就是日期的天数。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值的日期的天数进行取余运算并得到分表下标。
DDM实例管理 表1 DDM实例管理 权限 对应API接口 授权项 IAM项目(Project) 企业项目 (Enterprise Rroject) 购买DDM 实例(按需) 购买DDM 实例(包周期) POST /v1/{project_id}/instances ddm:instance:create
SHOW RULE 命令格式: 查看数据库下每一个逻辑表的拆分情况。 show rule 查看数据库下指定逻辑表的拆分情况。 show rule from <table_name> 输出详解: TABLE_NAME :表名。 BROADCAST:是否为广播表(0:否,1:是)。
状态码 正常状态 正常状态返回码如表1所示。 表1 正常状态返回码 状态码 编码 错误码说明 200 OK 处理正常。 202 OK 异步请求成功提交。 异常状态 异常状态返回码如表2所示。 表2 异常状态返回码 状态码 编码 错误码说明 400 Bad Request 服务器未能处理请求,可能原因如下:
DDM是否支持分布式JOIN DDM支持分布式JOIN。 表设计时,增加字段冗余 支持跨分片的JOIN,主要实现的方式有三种:广播表,ER分片和ShareJoin。 DDM目前禁止多个表的跨库update和delete。 父主题: SQL语法类
错误码 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 状态码 错误码 错误信息 解决方案 400 DBS.280001 参数错误。 刷新页面,尝试更换部分参数信息进行重试。 400 DBS.300002 服务器错误。 稍后刷新页面进行重试。
WEEK按星期哈希 适用场景 WEEK适用于按周数的日期目进行分表,分表的表名的下标分别对应一周中的各个日期(星期一到星期天)。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键
HINT-TABLE 命令格式: /*+table=<physical_table_name>*/ TRUNCATE TABLE <table_name> 描述: 删除当前库下表名<physical_table_name>的所有物理表的数据,其余分表不受影响。 删除前示例: 删除后示例: