检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
分布在很多个RDS实例上的不同数据库分片内。在DDM中一个事务中对各个逻辑表的增删改查很有可能实际发生在多个RDS实例上的不同数据库分片上,每个RDS实例上同一数据库分片内所发生的对分片内数据表的一系列操作相当于一个本地事务,这样DDM层面的事务就相当于由多个RDS实例上的本地事
name, 'bbbb') ON a.id=b.id; 对拆分字段的更新,将转换成delete+insert两个阶段操作,操作中间不保证其它涉及到这张表中的拆分字段值的查询语句的一致性。 DDL 库名不可修改,拆分字段的名称和类型都不可以变更。 不支持通过SQL直接创建、删除逻辑库。
UPDATE语句中的where_condition不支持计算表达式及其子查询。 不支持在多表更新中修改广播表(广播表中的列不可出现在 SET 中赋值语句的左侧)。 不支持更新逻辑表的拆分键字段,更新拆分键字段可能导致数据重新分布,DDM 暂不支持。 UPDATE操作不支持datetime(YYYY-MM-DD
通过数据复制服务(DRS)将RDS for MySQL数据迁移到DDM 介绍如何通过DRS服务将RDS for MySQL数据迁移到DDM实例单库中。 通过DDM对RDS for MySQL实例进行分库分表 介绍如何通过DDM对已有RDS for MySQL实例进行分库分表。 跨分片复杂SQL调优
表字段+日期函数 表字段 表字段+日期函数 详细说明 根据指定的表字段将数据平均拆分到各个分片上。 根据指定的表字段+日期函数将数据平均拆分到各个分片上。 表字段必须是日期类型(date、datetime、timestamp)。 将数据表内的记录按照算法元数据定义的规则将数据拆分到指定的分片上。
不完整支持系统变量查询,系统变量查询语句返回值为RDS实例相关变量值,而非DDM引擎内相关变量值。例如select @@autocommit返回的值,并不代表DDM当前事务状态。 不支持自定义事务隔离级别,目前DDM只支持READ COMMITTED隔离级别。考虑到兼容性因素,对于设置数据库隔离级别的语句(如SET
该方式适用于水平拆分业务后业务规模快速增长的场景,可在业务初期减少成本。也适用于RDS for MySQL实例无法满足存储空间,读写性能的场景。 图1 分片数不变,增加RDS for MySQL实例数量 方式二:增加分片数,不增加数据节点数量 该变更方式增加分片数,不增加数据节
使用mysqldump从MySQL导出数据非常缓慢的原因 导入数据到DDM过程中出现主键重复 如何处理数据迁移过程中自增列报错:主键重复 如何处理配置参数未超时却报错 如何处理DDM逻辑库与RDS实例的先后关系 DDM逻辑库删除后,数据节点里面残留着部分预留的DDM数据库和一些DDM的账户,这些是否需要手动删除
如果表不存在主键,请使用alter语句增加主键。 数据库实例链接检查 DN节点是否可连接。 检查安全组等配置。 数据库实例参数检查 源DN节点和目标DN节点数据库关键参数配置需要相同。 请进入DN console对参数配置进行修改。 数据库实例磁盘空间检查 防止分片变更过程中,DN节点磁盘不足。
DDM是否支持分布式JOIN DDM支持分布式JOIN。 表设计时,增加字段冗余 支持跨分片的JOIN,主要实现的方式有三种:广播表,ER分片和ShareJoin。 DDM目前禁止多个表的跨库update和delete。 父主题: SQL语法类
Processlist和Kill Sessionid支持增加过滤条件。 新增支持MySQL 8.0 Online DDL相关关键字。 修复问题 修复执行使用DATE_SUB函数进行update语句后出现毫秒值丢失。 优化部分复杂查询下的字段别名显示。 修复Rename操作混在其他ddl语句后面操作成功后,新表无法使用。
云容器引擎-成长地图 | 华为云 分布式数据库中间件 分布式数据库中间件(Distributed Database Middleware,简称DDM),解决单机关系型数据库对硬件依赖性强、数据量增大后扩容困难、数据库响应变慢等难题。突破了传统数据库的容量和性能瓶颈,实现海量数据高并发访问。
第八次正式发布,本次修改包括: DDM支持日期函数。 DDM支持不同AZ不同flavor的售罄。 DDM支持自定义实例参数。 DDM支持删除RDS for MySQL实例时不删除关联RDS for MySQL实例上的数据。 2018-06-05 第七次正式发布,本次修改包括: DDM支持RDS
不支持不包含拆分字段的INSERT。 暂不支持PARTITION 语法,建议不要使用partition表。 INSERT操作不支持datetime(YYYY-MM-DD HH:MM:SS)中“YYYY”取值1582年及之前年份。 INSERT操作不支持插入拆分键值为DEFAULT关键字。
id String 数据库实例 ID。 projectId String 数据库实例所在租户在某一region下的project ID。 status String 数据库实例状态。 name String 数据库实例名称。 engineName String 数据库实例引擎名称。
连接管理类 MySQL连接DDM时出现乱码如何解决
数据库时间与北京时间相差13或14小时该如何解决 问题现象 数据库时区设置为北京时间时,通过JDBC连接DDM,查询到的时间与北京时间相差13或14小时。 原因分析 JDBC驱动连接DDM时会向DDM查询数据库时区设置,DDM返回时区为CST(中国标准时间)。 CST有4种含义:
min_backend_connections 允许每个DDM节点同时连接RDS的最小客户端总数。默认值为10。 0~10000000 10 seconds_behind_master 主从RDS节点延迟时间阈值,以秒为单位,默认值为30,表示主RDS与从RDS之间的数据同步时间值不能超过30秒,如果超过30s,读数据指令就不走当前读节点。
才可删除实例。 删除操作无法恢复,请谨慎操作。 如果DDM上存在已关联的RDS for MySQL,删除DDM时系统会提醒您关联的实例信息,包括实例名称、实例状态和数据库类型。 操作步骤 登录分布式数据库中间件控制台。 在实例管理列表页面,在目标实例操作栏,选择“更多 > 删除实例”。
广播表和单表的使用场景 单表 DDM管理控制台不提供单表创建操作,用户可以通过MySQL客户端或应用程序连接到DDM实例后自行创建。 如果一张表的数据量预估在1000万条以下,且没有与其他拆分表进行关联查询的需求,建议将其设置为单表类型,存储在默认分片中。 单表创建样例,不做任何拆分: CREATE