检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
分布在很多个RDS实例上的不同数据库分片内。在DDM中一个事务中对各个逻辑表的增删改查很有可能实际发生在多个RDS实例上的不同数据库分片上,每个RDS实例上同一数据库分片内所发生的对分片内数据表的一系列操作相当于一个本地事务,这样DDM层面的事务就相当于由多个RDS实例上的本地事
账号规则 账号 与MySQL不同,DDM只通过用户名确定一个账号,而不是通过'username'@'host'方式来确定一个账号。 用户名规则 大小写敏感。 长度为1-32个字符,必须以字母开头,可以包含字母,数字、下划线,不能包含其它特殊字符。 密码规则 长度为8~32个字符。
版本发布说明 分布式数据库中间件(Distributed Database Middleware,简称DDM),是一款分布式关系型数据库中间件。兼容MySQL协议,专注于解决数据库分布式扩展问题,突破传统数据库的容量和性能瓶颈,实现海量数据高并发访问。 DDM各版本的生命周期规划
拆分算法概述 支持的拆分算法概览 DDM是一个支持既分库又分表的数据库服务,目前DDM分库函数与分表函数的支持情况如下: 表1 拆分算法概览表 拆分函数 描述 能否用于分库 能否用于分表 MOD_HASH 简单取模 是 是 MOD_HASH_CI 简单取模(大小写不敏感) 是 是
暂不支持SHA()函数。如果无法确认函数是否能下推到RDS,请不要使用该函数。 SHA1() DDM 暂不支持SHA1()函数。如果无法确认函数是否能下推到RDS,请不要使用该函数。 MD5() DDM 暂不支持MD5()函数。如果无法确认函数是否能下推到RDS,请不要使用该函数。 AES_ENCRYPT()
操作场景 DDM提供“慢查询”功能,将指定时间内的慢SQL语句进行统计分类,把结构相同的慢SQL语句整理成SQL模板,您可以查看指定区间内的所有慢SQL类型,针对这些类型进行优化处理。您也可以下载慢日志进行业务分析。 查看日志明细 登录分布式数据库中间件控制台。 在实例管理列表页面,单击进入目标实例。
--mysql-user=<user> --mysql-password=<password> --mysql-table-engine=innodb --rand-init=on --mysql-host=<host> --mysql-port=5066 --mysql-db=<db-name>
DN管理介绍 DN管理提供数据节点管理服务,管理DDM实例关联的RDS for MySQL实例,展现实例的状态、存储、规格、读权重等信息,提供设置读权重、同步DN信息、开启读写分离的快捷操作。 表1 功能介绍 功能 使用场景 同步DN信息 主要用于数据节点相关信息变化时(如增删只
迁移介绍 迁移评估 场景一:数据中心自建MySQL迁移到DDM 场景二:其他云MySQL迁移到DDM 场景三:华为云上自建MySQL迁移到DDM 场景四:从DDM实例导出数据 场景五:其他异构数据库迁移到DDM 场景六:从华为云RDS for MySQL迁移到DDM
通过数据复制服务(DRS)将RDS for MySQL数据迁移到DDM 介绍如何通过DRS服务将RDS for MySQL数据迁移到DDM实例单库中。 通过DDM对RDS for MySQL实例进行分库分表 介绍如何通过DDM对已有RDS for MySQL实例进行分库分表。 跨分片复杂SQL调优
WARNINGS、SHOW ERRORS语句不支持LIMIT/COUNT的组合。SHOW语句会随机下发到某个物理分片,每个物理分片如果在不同的RDS for MySQL实例上,查得的变量或者表信息可能不同。 父主题: SQL语法
迁移前准备 准备可以访问旧RDS实例、目标DDM实例和目标DDM实例关联的RDS实例的ECS。 确保旧RDS实例、目标DDM实例和目标DDM实例关联的RDS实例都在同一个VPC下,保证网络互通。 旧RDS实例、目标DDM实例和目标DDM实例关联的RDS实例的安全组建议配置相同,如果不同则需要放开对应端口访问。
RDS相关类 数据库表名是否区分大小写 RDS for MySQL哪些高危操作会影响DDM 如何处理表中存在主键重复的数据 如何通过show full innodb status指令查询RDS for MySQL相关信息 如何选择数据节点RDS for MySQL的规格
DDM支持不同AZ不同flavor的售罄。 DDM支持自定义实例参数。 DDM支持删除RDS for MySQL实例时不删除关联RDS for MySQL实例上的数据。 2018-06-05 第七次正式发布,本次修改包括: DDM支持RDS for MySQL实例主备切换。 DDM支持查询系统库information_schema。
通过CHARACTER SET指定文件的编码,建议跟RDS for MySQL实例上物理库(分片)的编码一致,否则可能乱码。其中字符集编码必须用引号扩起来,否则会解析出错。 通过IGNORE或者REPLACE指定遇到重复记录是替换还是忽略。 目前列名必须指定,且必须包括分片字段,否则没办法确定路由。
通过JDBC连接池连接DDM 操作场景 连接池实现原理:在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,发出请求,直接从连接池中取出一个已建立的空闲连接对象。使用完毕后,再将连接放回连接池中,供下一个请求访问使用。连接的建立、断开都由连接池自身来管理
虚拟私有云,以及安全组的出方向规则和入方向规则。 说明: 创建DDM实例选择的虚拟私有云要与RDS for MySQL实例保持一致。 DDM实例必须与应用程序、RDS for MySQL实例处于相同的VPC,以保证网络连通。 目前DDM实例创建后不支持切换虚拟私有云,请谨慎选择。
id String 数据库实例 ID。 projectId String 数据库实例所在租户在某一region下的project ID。 status String 数据库实例状态。 name String 数据库实例名称。 engineName String 数据库实例引擎名称。
数据库时间与北京时间相差13或14小时该如何解决 问题现象 数据库时区设置为北京时间时,通过JDBC连接DDM,查询到的时间与北京时间相差13或14小时。 原因分析 JDBC驱动连接DDM时会向DDM查询数据库时区设置,DDM返回时区为CST(中国标准时间)。 CST有4种含义:
by和Order by SQL调优建议 当group by 字段不是表中现有的数据列时,可以使用generated column机制(MySQL5.7版本以上支持,5.6及之前版本可新建普通字段和添加索引),创建新列并添加索引,将新创建字段作为group by条件,避免使用临时表。