检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
功能总览 分布式数据库中间件(Distributed Database Middleware,简称DDM),是一款分布式关系型数据库中间件。兼容MySQL协议,专注于解决数据库分布式扩展问题,突破传统数据库的容量和性能瓶颈,实现海量数据高并发访问。 DDM支持的功能如表1所示。 表1
queryRestoreTime 查询可恢复RDS列表 instance queryRds4Restore 查询可恢复实例列表 instance queryDDM4Restore 校验参数组名是否存在 parameterGroup checkConfigurationName 查询参数组列表 parameterGroup
数据节点是分布式数据库中间件服务的最小管理单元,表示DDM关联的RDS for MySQL实例,DDM目前仅支持这种引擎,一个实例代表了一个独立运行的数据库。您可以在一个DDM实例中通过创建多个逻辑库管理多个数据节点,并且可以独立访问数据节点。 DDM实例自身不存储客户业务相关数据
by和Order by SQL调优建议 当group by 字段不是表中现有的数据列时,可以使用generated column机制(MySQL5.7版本以上支持,5.6及之前版本可新建普通字段和添加索引),创建新列并添加索引,将新创建字段作为group by条件,避免使用临时表。
元数据恢复特性用于误删库或者RDS for MySQL本身出现异常等业务场景,可根据过去的某个时间点,将Metadata数据与已经PITR恢复完成的RDS for MySQL实例进行匹配,重建DDM和RDS for MySQL的关联关系,恢复DDM。当前该特性仅支持RDS for MySQL引擎。
迁移前准备 准备可以访问旧RDS实例、目标DDM实例和目标DDM实例关联的RDS实例的ECS。 确保旧RDS实例、目标DDM实例和目标DDM实例关联的RDS实例都在同一个VPC下,保证网络互通。 旧RDS实例、目标DDM实例和目标DDM实例关联的RDS实例的安全组建议配置相同,如果不同则需要放开对应端口访问。
分布在很多个RDS实例上的不同数据库分片内。在DDM中一个事务中对各个逻辑表的增删改查很有可能实际发生在多个RDS实例上的不同数据库分片上,每个RDS实例上同一数据库分片内所发生的对分片内数据表的一系列操作相当于一个本地事务,这样DDM层面的事务就相当于由多个RDS实例上的本地事
仅支持数据节点为RDS for MySQL。 不支持创建中、冻结、异常实例。 CPU负载高的情况下,Kill会话请求有一定概率会超时(大约1分钟),可以稍后刷新会话列表查看目标会话是否还存在,如果还存在则需要重新执行Kill会话操作。 操作步骤 登录分布式数据库中间件控制台。 在实例管理列表页面,单击进入目标实例。
DDL概述 DDM支持通用的DDL操作:建库,建表,修改表结构等,但实现方式与普通的MySQL数据库有所区别。 在MySQL客户端执行DDL操作 rename table name不支持与其他DDL语句在同一条SQL执行。 对拆分表执行修改字段名操作的同时执行类似SELECT *
RDS_PORT为RDS实例的端口。 RDS_USER为RDS实例的用户名。 DB_NAME为RDS数据库名称,如果导入的是单表,DB_NAME为RDS第一个分片的物理数据库。 mysql_table_schema.sql为待导入的表结构文件名。 mysq_table_data.sql为待导入的表数据文件名。
--mysql-user=<user> --mysql-password=<password> --mysql-table-engine=innodb --rand-init=on --mysql-host=<host> --mysql-port=5066 --mysql-db=<db-name>
操作场景 本文将介绍如何获取弹性公网的IP地址,并通过Navicat客户端连接DDM实例。 Navicat客户端连接DDM实例 登录分布式数据库中间件服务,单击需要连接的DDM实例名称,进入实例基本信息页面。 在“实例信息”模块的弹性公网IP单击“绑定”。选择任意地址进行绑定。 在
如果表不存在主键,请使用alter语句增加主键。 数据库实例链接检查 DN节点是否可连接。 检查安全组等配置。 数据库实例参数检查 源DN节点和目标DN节点数据库关键参数配置需要相同。 请进入DN console对参数配置进行修改。 数据库实例磁盘空间检查 防止分片变更过程中,DN节点磁盘不足。
企业在华为云上自建MySQL数据库,希望能使用DDM将数据进行分布式存储。 本实践主要介绍将华为云上自建MySQL数据库中数据迁移到DDM的操作流程。 从华为云RDS for MySQL迁移到DDM 本实践主要介绍通过数据复制服务(DRS)将RDS for MySQL数据迁移到DDM的操作流程。
迁移介绍 迁移评估 场景一:数据中心自建MySQL迁移到DDM 场景二:其他云MySQL迁移到DDM 场景三:华为云上自建MySQL迁移到DDM 场景四:从DDM实例导出数据 场景五:其他异构数据库迁移到DDM 场景六:从华为云RDS for MySQL迁移到DDM
该方式适用于水平拆分业务后业务规模快速增长的场景,可在业务初期减少成本。也适用于RDS for MySQL实例无法满足存储空间,读写性能的场景。 图1 分片数不变,增加RDS for MySQL实例数量 方式二:增加分片数,不增加数据节点数量 该变更方式增加分片数,不增加数据节
账号规则 账号 与MySQL不同,DDM只通过用户名确定一个账号,而不是通过'username'@'host'方式来确定一个账号。 用户名规则 大小写敏感。 长度为1-32个字符,必须以字母开头,可以包含字母,数字、下划线,不能包含其它特殊字符。 密码规则 长度为8~32个字符。
DDL主要功能为在对应DDL上,提供ALGORITHM、LOCK显示声明的支持,并提供透传至后端数据库节点能力(此功能需满足DDM内核版本大于等于3.1.0版本)。 当DDM实例关联的DN实例为MySQL5.7版本时,Online DDL操作支持以下语法: ALTER TABLE tbl_name
版本发布说明 分布式数据库中间件(Distributed Database Middleware,简称DDM),是一款分布式关系型数据库中间件。兼容MySQL协议,专注于解决数据库分布式扩展问题,突破传统数据库的容量和性能瓶颈,实现海量数据高并发访问。 DDM各版本的生命周期规划
制的规则。 如果配置了不同安全组,可参考如下配置方式: 例如ECS、DDM、RDS分别配置了安全组:sg-ECS、sg-DDM、sg-RDS。 例如DDM实例服务端口为5066,RDS for MySQL实例服务端口为3306。 以下规则,远端可使用安全组,也可以使用具体的IP地址。