检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
用结果集小的表作为驱动表,尽量减少join的循环次数(使用left join/join时,左边是驱动表,右边是被驱动表;使用right join时,右边是驱动表,左边是被驱动表)。 对于被驱动表的join字段需添加索引,不建议两张大表直接进行join,尤其是包含不带限制条件的单表,将消耗大量计算资源。
创建逻辑库并关联数据节点 分布式数据库中间件 DDM 访问DDM实例 03:44 访问DDM实例 分布式数据库中间件 DDM 创建逻辑库和逻辑表 03:13 创建逻辑库和逻辑表 分布式数据库中间件 DDM 申请DDM实例并导入RDS实例 03:03 申请DDM实例并导入RDS实例 分布式数据库中间件
Middleware,简称DDM),是一款分布式关系型数据库中间件。兼容MySQL协议,专注于解决数据库分布式扩展问题,突破传统数据库的容量和性能瓶颈,实现海量数据高并发访问。 DDM支持的功能如表1所示。 表1 DDM服务功能列表 功能分类 功能描述 权限管理 包括创建用户并授权使用DDM
业务的分布式数据库中间件实例。 表1 DDM最佳实践一览表 章节名称 简介 合理制定分片策略 介绍创建拆分表时如何选择拆分键和拆分算法。 如何选择DDM逻辑库分片数 介绍创建拆分库时如何合理选择逻辑库分片。 广播表和单表的使用场景 介绍广播表和单表的常用场景。 DDM事务模型 介绍DDM的事务模型。
如何处理表中存在主键重复的数据 场景 DDM实例的逻辑表中已存在主键数据类型边界值的记录,如果插入的数据超过主键数据类型的范围,表中会出现主键重复的数据。 处理方法 登录云服务管理控制台。 在RDS for MySQL的“实例管理”页面,查找DDM实例对应的RDS for MySQL实例,单击目标RDS
DDM支持通用的DDL操作:建库,建表,修改表结构等,但实现方式与普通的MySQL数据库有所区别。 在MySQL客户端执行DDL操作 rename table name不支持与其他DDL语句在同一条SQL执行。 对拆分表执行修改字段名操作的同时执行类似SELECT * [DDL相关表]等包含全字段的
REPEAT、WHILE…DO…END WHILE 等复合语句。 DDL语法 拆分表和广播表不支持外键。 不支持修改分片字段(拆分键)。 不支持ALTER DATABASE Syntax。 不支持从另一张表创建新的拆分表、广播表。 create table不支持generated column语法。
单击“连接测试”,若显示连接成功,单击“确定”,等待1-2分钟即可连接成功。连接失败会直接弹出失败原因,请修改后重试。 通过其他可视化的MySQL工具(例如 Workbench)连接DDM实例的操作与此章基本一致,不做详细描述。
DDL语法时,最终ALGORITHM、LOCK选项生效位置为后端数据库,当后端有多个数据库时,DDM表现出的并发性可能与参数值不一致。 使用示例 增加字段 # 向表t2中增加字段x,类型为int,Online DDL 算法为inplace,锁为NONE ALTER TABLE t2 ADD COLUMN x INT
Middleware,简称DDM),是一款分布式关系型数据库中间件。兼容MySQL协议,专注于解决数据库分布式扩展问题,突破传统数据库的容量和性能瓶颈,实现海量数据高并发访问。 DDM各版本的生命周期规划 表1中的部分时间为预计时间,将会在生命周期结束或DDM停止支持前进行修正,请以实际时间为准。
TABLE_NAME:逻辑表名称。 TABLE_TYPE:逻辑表类型。 SINGLE:单表。 BROADCAST:广播表。 SHARDING:拆分表。 DDL_CONSISTENCY:该逻辑表对应所有物理表DDL是否一致。 TOTAL_COUNT:该逻辑表有几个物理表。 INCONSIS
每一行表示一个不一致的物理拆分表的详细检查结果。 DATABASE_NAME:物理表所在的物理分库。 TABLE_NAME:物理表表的表名。 TABLE_TYPE:物理表所属逻辑表类型。 EXTRA_COLUMNS:该物理表多出来的列。 MISSING_COLUMNS:表示该物理表缺少的列。
账号规则 账号 与MySQL不同,DDM只通过用户名确定一个账号,而不是通过'username'@'host'方式来确定一个账号。 用户名规则 大小写敏感。 长度为1-32个字符,必须以字母开头,可以包含字母,数字、下划线,不能包含其它特殊字符。 密码规则 长度为8~32个字符。
会话信息列表。 图1 CN会话列表 在右上角通过输入关键字查询对应的会话信息。 在会话列表中,勾选一条或多条会话,单击“kill会话”并“确定”,完成结束会话操作。 单击“DN会话(物理)”页签,可以查看到DDM与数据节点(RDS for MySQL)之间的会话信息列表。 图2 DN会话列表
创建逻辑库时,仅支持关联和DDM实例处于相同VPC的数据节点,且数据节点没有被其他DDM实例使用。DDM将在关联的数据节点上新建数据库,不会影响已有的库表。 创建逻辑库时,同一个逻辑库,MySQL大版本需要相同,不可以混用。 数据节点的规格建议不小于DDM的规格,否则会影响性能。 创建逻辑库时,同一个DDM实例可
常用概念 数据节点 数据节点是分布式数据库中间件服务的最小管理单元,表示DDM关联的RDS for MySQL实例,DDM目前仅支持这种引擎,一个实例代表了一个独立运行的数据库。您可以在一个DDM实例中通过创建多个逻辑库管理多个数据节点,并且可以独立访问数据节点。 DDM实例自身
官方说明。 数据导入阶段会在一定程度上影响DDM以及RDS for MySQL实例性能,请选择在业务低峰时间导入。 建议不要同时发起多个LOAD DATA请求。多个LOAD DATA同时进行,数据高并发写入,表锁竞争以及系统IO抢占会影响总体效率,可能会出现SQL事务超时现象,导致LOAD
Index 创建/删除index Alter 执行ALTER语句 Create 创建table Select 读取表内容 Insert 插入数据到表 Update 更新表中数据 Grant 授予用户权限 Revoke 删除用户权限 Set SET用户密码权限 File 从文件加载数据库权限
--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对已有RDS for MySQL实例进行分库分表的操作流程。 数据迁移 数据中心自建MySQL迁移到DDM 企业当前使用数据中心自建MySQL,希望能使用DDM将数据进行分布式存储。