检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
概述 欢迎使用分布式数据库中间件(Distributed Database Middleware,简称DDM),本文档提供了分布式数据库中间件API的描述、语法、参数说明及样例等内容。 在调用分布式数据库中间件API之前,请确保已经充分了解分布式数据库中间件相关概念。 您可以使用
通过JDBC连接池连接DDM 操作场景 连接池实现原理:在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,发出请求,直接从连接池中取出一个已建立的空闲连接对象。使用完毕后,再将连接放回连接池中,供下一个请求访问使用。连接的建立、断开都由连接池自身来管理
等影响Metadata的重要操作也会触发元数据备份。 备份原理如图1所示。 图1 备份原理 元数据库是用来存放DDM实例信息以及下挂的数据节点信息,各区域的所有DDM实例共用一个元数据库。 父主题: 备份恢复
暂不支持“IS UNKNOWN”表达式。 不支持需要在DDM计算层进行的JSON类型字段的比较运算:=,<, <=, >, >=, <>, !=, <=>。 不支持的函数 DDM计算层暂不支持如下函数。如果无法确认函数是否能下推到RDS,请不要使用该函数。 不支持XML函数。 不支持ANY_VALUE()函数。
使用mysqldump从MySQL导出数据非常缓慢的原因 导入数据到DDM过程中出现主键重复 如何处理数据迁移过程中自增列报错:主键重复 如何处理配置参数未超时却报错 如何处理DDM逻辑库与RDS实例的先后关系 DDM逻辑库删除后,数据节点里面残留着部分预留的DDM数据库和一些DDM的账户,这些是否需要手动删除
仅支持数据节点为RDS for MySQL。 不支持创建中、冻结、异常实例。 CPU负载高的情况下,Kill会话请求有一定概率会超时(大约1分钟),可以稍后刷新会话列表查看目标会话是否还存在,如果还存在则需要重新执行Kill会话操作。 操作步骤 登录分布式数据库中间件控制台。 在实例管理列表页面,单击进入目标实例。
据,但不会自动生成ID。 使用限制 如果REPLACE语句中拆分键的值是非法的,数据默认会路由到0号分库或者0号分表。 不建议在REPLACE语句中使用VERSION、DATABASE、USER函数,此类函数结果受语句是否下推至DN节点执行影响,执行结果可能不符合预期。 父主题:
UPDATE操作不支持更新拆分键值为DEFAULT关键字。 UPDATE不支持在一个语句中对同一字段重复更新。 UPDATE不支持关联更新拆分键。 不支持含有JSON类型字段的二级拆分表进行带子查询的拆分键更新。 UPDATE不支持自关联更新。 关联更新中,不支持在目标列的赋值语句或表达式中引用其它目标列,将造成更新结果不符合预期。
INSERT INSERT是将数据插入到数据库对象中的指令。 常用语法 INSERT [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr },...),(...),... [ ON DUPLICATE KEY UPDATE
备份恢复 备份原理 一致性备份说明 恢复到新实例 Metadata恢复
SQL语法 简介 DDL DML Online DDL 函数 使用限制 实用SQL语句 全局序列 数据库管理语法 SQL高级功能
DATA_NODE: 分库间并行扫描,同一分库内各分片串行扫描, RDS_INSTANCE: RDS实例间并行扫描,同一RDS实例内各分片串行扫描。 PHY_TABLE: 各物理分片全部并行扫描。 枚举值: RDS_INSTANCE DATA_NODE PHY_TABLE con
DDM如何进行分片 在分布式数据库中,可以通过分片存储方式,轻松解决大数据量单表容量达到单机数据库存储上限的瓶颈,因此创建逻辑库和逻辑表时,需要根据实际情况确定逻辑表是否进行分片以及逻辑表的分片规则。 分片存储后,需要尽量避免跨库JOIN操作带来的性能与资源消耗问题。 逻辑表是否分片
SHOW RULE 命令格式: 查看数据库下每一个逻辑表的拆分情况。 show rule 查看数据库下指定逻辑表的拆分情况。 show rule from <table_name> 输出详解: TABLE_NAME :表名。 BROADCAST:是否为广播表(0:否,1:是)。
tables information_schema.columns 索引查询:SHOW KEYS FROM <table> FROM <database> 说明: 仅支持=、in、like三种操作符,和and条件关联。 不支持子查询、关联查询、排序、聚合查询、LIMIT等等复杂查询。
0版本。 开启读写分离 登录分布式数据库中间件控制台。 在实例管理列表页面,选择目标实例。 单击实例名称,进入基本信息页面。 在左侧导航栏,选择“DN管理”页签,单击“开启读写分离”。 在弹窗中单击“确定”,开启读写分离。 对于RDS for MySQL实例来说,开启读写分离后,会将
都会发生变化,数据将重新分布到不同的分片中,原来分片上的表将被清理,广播表分片数量增加。 该方式适用于单个物理表数据量过大,查询性能受到限制,但是整体RDS for MySQL实例可用空间充足的场景。 图2 增加分片数,不增加RDS for MySQL实例数 方式三:增加分片数,也增加数据节点数量
实用SQL语句 CHECK TABLE SHOW RULE SHOW TOPOLOGY SHOW DATA NODE TRUNCATE TABLE HINT- ALLOW_ALTER_RERUN LOAD DATA SHOW PHYSICAL PROCESSLIST 自定义HINT读写分离
SQL高级功能 暂不支持Prepare\EXECUTE语法。 暂不支持用户自定义数据类型、自定义函数。 暂不支持视图、存储过程、触发器、游标。 暂不支持BEGIN…END、LOOP…END LOOP、REPEAT…UNTIL…END REPEAT、WHILE…DO…END WHILE等复合语句。
型的范围,表中会出现主键重复的数据。 处理方法 登录云服务管理控制台。 在RDS for MySQL的“实例管理”页面,查找DDM实例对应的RDS for MySQL实例,单击目标RDS for MySQL实例名称,进入实例的“基本信息”页面。 在基本信息页面的左侧导航栏中选择“参数修改”。