使用限制
为保障集群的稳定及安全,云原生数据仓库 AnalyticDB MySQL 版有以下使用限制。
命名约束
| 对象 | 命名规则 | 
| 数据库名 | 
 | 
| 表名 | 
 | 
| 列名 | 
 | 
| 索引名 | 长度不能超过64个字符。 | 
| 账号名 | 
 | 
| 密码 | 
 | 
集群配额
| 限制 | 默认值 | 说明 | 
| 每个阿里云账号可购买集群数量的最大值 | 30 | 每个阿里云账号最多可购买30个集群。若您想修改该值,请提交工单联系技术支持。 | 
| 每个集群可创建数据库的最大值 | 2048 | 无 | 
| 每天集群扩容、缩容或变配的总次数 | 12 | 无 | 
| 数仓版预留模式集群节点磁盘空间阈值 | 80% | 超过阈值后,集群会告警。一个用户一天最多收到4次磁盘空间超过阈值的告警。 | 
| 90% | 超过阈值后,集群会告警,且集群会锁定,数据无法写入。一个用户一天最多收到4次磁盘空间超过阈值的告警。 | |
| 数仓版弹性模式集群一组弹性IO资源的热数据量最大值 | 8 TB | 一组弹性IO资源的热数据量超过8 TB时,集群会锁定,数据无法写入。解决办法:扩容弹性IO资源。 | 
| 湖仓版集群一组存储预留资源的热数据量最大值 | 8 TB | 一组存储预留资源的热数据量超过8 TB时,集群会锁定,数据无法写入。解决办法:扩容存储预留资源。 | 
| 企业版或基础版集群一组预留资源的热数据量最大值 | 8 TB | 一组预留资源的热数据量超过8 TB时,集群会锁定,数据无法写入。解决办法:扩容预留资源。 | 
| 每个集群可创建普通账号的最大值 | 256 | 无 | 
| 每个集群的最大连接数 | 建议不超过50000 | AnalyticDB for MySQL集群的连接数没有限制,但与集群的规格相关。对于小规格的集群来说,连接数过多会导致资源不足,无法承载。 | 
| 每个集群中的白名单分组的最大值 | 50 | 无 | 
| 每个白名单分组中IP个数的最大值 | 1000 | 无 | 
| 每个集群中IP白名单个数的最大值 | 25000 | 无 | 
| 每个集群中分区数的最大值 | 102400 | AnalyticDB for MySQL集群中所有表的分区数之和不能超过102400。若集群中分区数超过102400,则不能再创建分区表。 您可以使用如下语句查询每个数据库中所有表的分区数:  | 
| 每个企业版或基础版集群中内表数量的最大值 | 
 
 | 提高内表数量上限的方法: 
 | 
| 每个湖仓版或数仓版弹性模式集群中内表数量的最大值 | 
 
 | 提高内表数量上限的方法: 
 | 
| 每个数仓版预留模式集群(具备1~20个节点组)中表数量的最大值 | 
  | 增加节点组数量可以提高数仓版预留模式集群内表数量的上限。 | 
| 每个集群中外表数量的最大值 | 50万张 | 无 | 
| 每张表中列数的最大值 | 4096 | 无 | 
| 分片(Shard)内单个分区存储数据量的最大值 | 21亿条 | 每个分片(Shard)内的单个分区最大可存储21亿条数据。 | 
| 表中COMMENT最大长度 | 1024个字符 | 无 | 
| 列中COMMENT最大长度 | 1024个字符 | 无 | 
| 每列中单个字段的最大长度 | 16 MB | 无 | 
| 每行写入数据的最大长度 | 16 MB | 无 | 
| 列默认值长度 | 127个字符 | 无 | 
| 每个查询包含的列数的最大值 | 1024 | 无 | 
| WHERE条件中ITEM最大值 | 256 | 无 | 
| IN中条件数的最大值 | 2000 | 调整参数值: 参数调整过大时,SQL过于复杂会影响查询性能。 | 
超时说明
| 操作 | 时间限制(ms) | 超时说明 | 
| 创建集群 | 600000 | 无 | 
| 删除集群 | 300000 | 无 | 
| 扩容集群 | 600000 | 无 | 
| 创建数据库 | 10000 | 无 | 
| 删除数据库 | 10000 | 无 | 
| 创建表或视图 | 10000 | 无 | 
| 删除表或视图 | 10000 | 无 | 
| 清空表(TRUNCATE TABLE) | 60000 | 无 | 
| 新增列 | 10000 | 无 | 
| 删除列 | 60000 | 无 | 
| 更新列 | 60000 | 无 | 
| 单次查询 | 1800000 | 单次查询的执行超时时间。超时后,系统自动终止查询。 配置以下参数,可以修改单次查询的执行超时时间。 
 说明  检测查询超时的线程执行频率为1000ms/次,设置单次查询时间需大于1000ms,否则可能会不生效。 | 
| 写入数据(INSERT INTO) | 300000 | 无 | 
| 
 | 24*3600000 | 执行超时时间。超时后,系统自动终止执行。 配置以下参数,可以修改SQL语句的执行超时时间。 
 | 
常见问题
集群的分片数就是表的分片数吗?
是的。假设集群的分片数是32,则表示表的分片数是32。
如何查询分片数(Shard个数)?
- 在创建AnalyticDB for MySQL集群时,Shard的数量就已确定。数仓版集群可以在创建后修改集群Shard个数,而企业版、基础版及湖仓版则不支持修改。 - 您可以参考下表,了解规格和Shard个数的对应关系。 - 企业版、基础版、湖仓版、数仓版弹性模式- 预留资源组数/EIU组数/弹性IO资源组数 - Shard个数 - 0、1 - 64 - 2~3 - 64 - 4~7 - 96 - 8~15 - 256 - 16~31 - 384 - 32~63 - 512 - >=64 - 1024 说明- 企业版预留资源组数=预留资源节点数/3。 
- 基础版预留资源组数=预留资源节点数。 
- 湖仓版EIU组数=存储预留资源/24 ACU。 
 - 数仓版预留模式- 节点组数 - Shard个数 - 1 - 16 - 2~3 - 64 - 4~7 - 96 - 8~15 - 236 - 16~31 - 384 - 32~63 - 512 - >64 - 1024 
- 您也可以执行SQL查询集群的Shard个数: - SELECT count(1) FROM information_schema.kepler_meta_shards;。