检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
迁移前准备 准备可以访问旧RDS实例、目标DDM实例和目标DDM实例关联的RDS实例的ECS。 确保旧RDS实例、目标DDM实例和目标DDM实例关联的RDS实例都在同一个VPC下,保证网络互通。 旧RDS实例、目标DDM实例和目标DDM实例关联的RDS实例的安全组建议配置相同,如果不同则需要放开对应端口访问。
不支持HANDLER语句。 不支持INSTALL/UNINSTALL PLUGIN语句。 不支持非 ascii/latin1/binary/utf8/utf8mb4 的字符集。 不支持SYS schema。 不支持MySQL追踪优化器。 不支持X-Protocol。 不支持CHECKSUM TABLE
简介 DDM兼容MySQL协议及其语法,但因分布式数据库与单机数据库之间存在一定的差异性,导致SQL使用存在些限制。 在评估DDM方案之前,请先完成当前应用中的SQL语法及与DDM支持语法的兼容性评估。 MySQL EXPLAIN 当您在需要执行的SQL语句前加上EXPLAIN,
功能总览 分布式数据库中间件(Distributed Database Middleware,简称DDM),是一款分布式关系型数据库中间件。兼容MySQL协议,专注于解决数据库分布式扩展问题,突破传统数据库的容量和性能瓶颈,实现海量数据高并发访问。 DDM支持的功能如表1所示。 表1
by和Order by SQL调优建议 当group by 字段不是表中现有的数据列时,可以使用generated column机制(MySQL5.7版本以上支持,5.6及之前版本可新建普通字段和添加索引),创建新列并添加索引,将新创建字段作为group by条件,避免使用临时表。
单击“连接测试”,若显示连接成功,单击“确定”,等待1-2分钟即可连接成功。连接失败会直接弹出失败原因,请修改后重试。 通过其他可视化的MySQL工具(例如 Workbench)连接DDM实例的操作与此章基本一致,不做详细描述。
DDL概述 DDM支持通用的DDL操作:建库,建表,修改表结构等,但实现方式与普通的MySQL数据库有所区别。 在MySQL客户端执行DDL操作 rename table name不支持与其他DDL语句在同一条SQL执行。 对拆分表执行修改字段名操作的同时执行类似SELECT *
账号规则 账号 与MySQL不同,DDM只通过用户名确定一个账号,而不是通过'username'@'host'方式来确定一个账号。 用户名规则 大小写敏感。 长度为1-32个字符,必须以字母开头,可以包含字母,数字、下划线,不能包含其它特殊字符。 密码规则 长度为8~32个字符。
记录。 使用须知 DDM支持查看CN会话(应用与DDM之间的连接)和DN会话(DDM与数据节点之间的连接)。 仅支持数据节点为RDS for MySQL。 不支持创建中、冻结、异常实例。 CPU负载高的情况下,Kill会话请求有一定概率会超时(大约1分钟),可以稍后刷新会话列表查
CK显示声明的支持,并提供透传至后端数据库节点能力(此功能需满足DDM内核版本大于等于3.1.0版本)。 当DDM实例关联的DN实例为MySQL5.7版本时,Online DDL操作支持以下语法: ALTER TABLE tbl_name [alter_option [,
如果是单表或普通表, mysql -f -h {RDS_ADDRESS} -P {RDS_PORT} -u {RDS_USER} -p {DB_NAME} < {mysql_table_schema.sql} Enter password: ********** mysql -f -h {RDS_ADDRESS}
操作流程。 分库分表 通过DDM对RDS for MySQL实例进行分库分表 本实践主要介绍通过DDM对已有RDS for MySQL实例进行分库分表的操作流程。 数据迁移 数据中心自建MySQL迁移到DDM 企业当前使用数据中心自建MySQL,希望能使用DDM将数据进行分布式存储。
版本发布说明 分布式数据库中间件(Distributed Database Middleware,简称DDM),是一款分布式关系型数据库中间件。兼容MySQL协议,专注于解决数据库分布式扩展问题,突破传统数据库的容量和性能瓶颈,实现海量数据高并发访问。 DDM各版本的生命周期规划
分库的拆分键及分表的拆分键,均不支持为空。 在DDM中,一张逻辑表的拆分方式是由拆分函数(包括分片数目与路由算法)与拆分键(包括拆分键的MySQL数据类型)共同定义。 当一张逻辑表的分库拆分方式与分表拆分方式不一致时,如果SQL查询没有同时带上分库条件与分表条件,则DDM在查询过程会产生全分库扫描或全分表扫描的操作。
目前列名必须指定,且必须包括分片字段,否则没办法确定路由。 其他参数参考MySQL的load data infile官方文档说明。其他参数的先后顺序不能乱,顺序参考官方说明。 数据导入阶段会在一定程度上影响DDM以及RDS for MySQL实例性能,请选择在业务低峰时间导入。 建议不要同时发起多个LOAD
单击实例名称,进入基本信息页面。 在左侧导航栏,选择“DN管理”页签,单击“开启读写分离”。 在弹窗中单击“确定”,开启读写分离。 对于RDS for MySQL实例来说,开启读写分离后,会将主实例的读权重设置为100,您可以根据业务需求自行调整主实例和只读实例的读权重。 由于只读实例的数
数据节点,且数据节点没有被其他DDM实例使用。DDM将在关联的数据节点上新建数据库,不会影响已有的库表。 创建逻辑库时,同一个逻辑库,MySQL大版本需要相同,不可以混用。 数据节点的规格建议不小于DDM的规格,否则会影响性能。 创建逻辑库时,同一个DDM实例可以创建多个逻辑库。多个逻辑库可关联同一个数据节点。
不超过MySQL限制。 请修改过长的表名。 DN实例binlog全量备份时间检查 客户全量备份是否保留足够长时间。 进入DN console,确保全量备份保留时间大于等于30天。 DN节点binlog必须开启 Binlog必须开启以支持在线变更。 如果您的DN节点是RDS实例,确保Binlog开启。
--mysql-user=<user> --mysql-password=<password> --mysql-table-engine=innodb --rand-init=on --mysql-host=<host> --mysql-port=5066 --mysql-db=<db-name>
常用概念 数据节点 数据节点是分布式数据库中间件服务的最小管理单元,表示DDM关联的RDS for MySQL实例,DDM目前仅支持这种引擎,一个实例代表了一个独立运行的数据库。您可以在一个DDM实例中通过创建多个逻辑库管理多个数据节点,并且可以独立访问数据节点。 DDM实例自身