检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
是 分库的拆分键及分表的拆分键,均不支持为空。 在DDM中,一张逻辑表的拆分方式是由拆分函数(包括分片数目与路由算法)与拆分键(包括拆分键的MySQL数据类型)共同定义。 当一张逻辑表的分库拆分方式与分表拆分方式不一致时,如果SQL查询没有同时带上分库条件与分表条件,则DDM在查询
如何处理表中存在主键重复的数据 场景 DDM实例的逻辑表中已存在主键数据类型边界值的记录,如果插入的数据超过主键数据类型的范围,表中会出现主键重复的数据。 处理方法 登录云服务管理控制台。 在RDS for MySQL的“实例管理”页面,查找DDM实例对应的RDS for MySQL实例,单击目标RDS
创建表 禁止创建表名以"_ddm"为前缀的表,系统默认认定此类表为系统内部表。 拆分表不支持全局唯一索引,当唯一键和拆分键不一致时,不能保证数据的唯一性。 建议使用bigint型作为自增键的数据类型。tinyint、smallint、mediumint、integer、int数据
DDM支持如下两种方式进行数据迁移。 基于MySQL官方客户端工具,此部分以RDS for MySQL 为例重点介绍该迁移方式。 基于数据复制服务DRS。 迁移场景 数据迁移主要有以下场景: 场景一:数据中心自建MySQL迁移到DDM 场景二:其他云MySQL迁移到DDM 场景三:华为云上自建MySQL迁移到DDM
仅支持数据节点为RDS for MySQL。 不支持创建中、冻结、异常实例。 CPU负载高的情况下,Kill会话请求有一定概率会超时(大约1分钟),可以稍后刷新会话列表查看目标会话是否还存在,如果还存在则需要重新执行Kill会话操作。 操作步骤 登录分布式数据库中间件控制台。 在实例管理列表页面,单击进入目标实例。
执行ALTER语句 Create 创建table Select 读取表内容 Insert 插入数据到表 Update 更新表中数据 Grant 授予用户权限 Revoke 删除用户权限 Set SET用户密码权限 File 从文件加载数据库权限 Create User 创建用户 注意事项 DD
什么是分布式数据库中间件 产品定义 分布式数据库中间件(Distributed Database Middleware,简称DDM),是一款分布式关系型数据库中间件。兼容MySQL协议,专注于解决数据库分布式扩展问题,突破传统数据库的容量和性能瓶颈,实现海量数据高并发访问。 DD
片变更的操作流程。 分库分表 通过DDM对RDS for MySQL实例进行分库分表 本实践主要介绍通过DDM对已有RDS for MySQL实例进行分库分表的操作流程。 数据迁移 数据中心自建MySQL迁移到DDM 企业当前使用数据中心自建MySQL,希望能使用DDM将数据进行分布式存储。
EXPLAIN 与MySQL内部的EXPLAIN有所区别,DDM的EXPLAIN显示的结果是当前语句路由到的节点描述。 不支持的数据库管理语法 不支持SET修改全局变量。 不支持SHOW TRIGGERS语法。 CHECK TABLE不支持hash和key分区表。 SHOW WARNINGS、SHOW
产品核心功能 表1 主要功能介绍 功能名称 说明 水平拆分 在创建逻辑表时,只需选择拆分键,DDM就可以按照拆分键生成拆分规则,实现数据水平拆分。 说明: 拆分键是在水平拆分逻辑表的过程中,用于生成路由结果的表字段,指定表字段后,可以进一步选择日期函数,也可以手动输入“日期函数(
用,返回结果与MySQL中的返回结果可能不一致。 不支持的函数 表5 函数的限制 函数 限制条件 ROW_COUNT() DDM 暂不支持ROW_COUNT()函数。 COMPRESS() DDM 暂不支持COMPRESS()函数。如果无法确认函数是否能下推到RDS,请不要使用该函数。
创建逻辑库时,仅支持关联和DDM实例处于相同VPC的数据节点,且数据节点没有被其他DDM实例使用。DDM将在关联的数据节点上新建数据库,不会影响已有的库表。 创建逻辑库时,同一个逻辑库,MySQL大版本需要相同,不可以混用。 数据节点的规格建议不小于DDM的规格,否则会影响性能。 创建逻辑库时,同一个
DN管理介绍 DN管理提供数据节点管理服务,管理DDM实例关联的RDS for MySQL实例,展现实例的状态、存储、规格、读权重等信息,提供设置读权重、同步DN信息、开启读写分离的快捷操作。 表1 功能介绍 功能 使用场景 同步DN信息 主要用于数据节点相关信息变化时(如增删只
)。 UPDATE语句中的where_condition不支持计算表达式及其子查询。 不支持在多表更新中修改广播表(广播表中的列不可出现在 SET 中赋值语句的左侧)。 不支持更新逻辑表的拆分键字段,更新拆分键字段可能导致数据重新分布,DDM 暂不支持。 UPDATE操作不支持datetime(YYYY-MM-DD
分布式数据库中间件(Distributed Database Middleware,简称DDM),是一款分布式关系型数据库中间件。兼容MySQL协议,专注于解决数据库分布式扩展问题,突破传统数据库的容量和性能瓶颈,实现海量数据高并发访问。 DDM支持的功能如表1所示。 表1 DDM服务功能列表 功能分类 功能描述
迁移策略 Mycat与DDM数据表类型不同,迁移策略也有所差异,详情如表1所示。 表1 迁移策略 Mycat表类型 DDM表类型 迁移策略 非拆分表 单表 Mycat导出表结构和表数据。 连接目标DDM关联的RDS将数据导入至目标DDM(非拆分表场景)。 拆分表:分片规则为hash类(含年月日等日期类)
RDS相关类 数据库表名是否区分大小写 RDS for MySQL哪些高危操作会影响DDM 如何处理表中存在主键重复的数据 如何通过show full innodb status指令查询RDS for MySQL相关信息 如何选择数据节点RDS for MySQL的规格
下内容的检查。 预检查内容 表1 预检查内容 检查内容 检查目的 检查未通过解决方案 表名长度检查 分片变更需要数据重分布时(例如:增加分片),会创建临时表,临时表的表名长度会略长于原表名,需确保临时表的表名长度不超过MySQL限制。 请修改过长的表名。 DN实例binlog全量备份时间检查
java:104) at com.mysql.jdbc.MysqlIO.invokeStatementInterceptorsPost(MysqlIO.java:2885) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2808)
每一行表示一个不一致的物理拆分表的详细检查结果。 DATABASE_NAME:物理表所在的物理分库。 TABLE_NAME:物理表表的表名。 TABLE_TYPE:物理表所属逻辑表类型。 EXTRA_COLUMNS:该物理表多出来的列。 MISSING_COLUMNS:表示该物理表缺少的列。