PolarDB的MySQL版本支持哪些MySQL特性?

PolarDB for MySQL 是阿里云推出的一款兼容 MySQL 协议的云原生数据库,它在保持与 MySQL 高度兼容的同时,进行了性能优化和功能增强。PolarDB 的 MySQL 版本(目前支持 MySQL 5.6、5.7 和 8.0)支持绝大多数标准的 MySQL 特性,并在此基础上扩展了部分高级功能。

以下是 PolarDB for MySQL 支持的主要 MySQL 核心特性及增强功能:


✅ 一、标准 MySQL 功能支持

  1. SQL 语法兼容

    • 完全兼容 MySQL 的 SQL 语法,包括 DDL、DML、DCL。
    • 支持常用函数(字符串、数值、日期时间、聚合等)。
  2. 存储引擎

    • 使用自研的 PolarFS + 分布式存储架构,底层采用类似 InnoDB 的事务存储引擎,提供 ACID 保证。
    • 兼容 InnoDB 表引擎的所有特性(如行级锁、MVCC、外键、事务等)。
    • 不支持 MyISAM、Memory 等非事务引擎。
  3. 事务支持

    • 支持完整的事务(BEGIN/COMMIT/ROLLBACK)。
    • 支持隔离级别:READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ、SERIALIZABLE。
    • 默认使用 REPEATABLE READ(MySQL 5.7 及之前),MySQL 8.0 默认为 REPEATABLE READ,但可配置。
  4. 索引支持

    • 支持主键、唯一索引、普通索引、前缀索引、全文索引(仅限 InnoDB,MySQL 5.7+)、空间索引(MySQL 5.7+)。
    • 支持在线 DDL(ALTER TABLE 不阻塞读写,基于 MySQL 5.7+ 的 Online DDL 特性)。
  5. JSON 支持

    • MySQL 5.7 及以上版本支持 JSON 数据类型和相关函数(JSON_EXTRACT, JSON_SET 等)。
    • 支持对 JSON 字段创建虚拟列并建立索引。
  6. 字符集与排序规则

    • 支持 utf8mb4、utf8、gbk、latin1 等常见字符集。
    • 推荐使用 utf8mb4 + utf8mb4_unicode_ciutf8mb4_bin
  7. 用户权限管理

    • 支持 GRANT/REVOKE,用户、角色管理。
    • 支持 SSL 连接、IP 白名单等安全控制。
  8. 复制与高可用

    • 基于共享存储的主从架构(一个主节点,最多 15 个只读节点)。
    • 数据强一致,无需传统异步复制。
    • 故障自动切换(秒级 Failover)。
  9. 备份与恢复

    • 自动快照备份(基于 PolarFS 快照技术)。
    • 支持按时间点恢复(PITR)。
    • 备份不影响主库性能。
  10. 分区表

    • 支持 RANGE、LIST、HASH、KEY 分区。
    • 支持子分区(MySQL 5.7+)。
    • 支持在线添加/删除分区。

✅ 二、PolarDB 增强特性(超越原生 MySQL)

  1. 计算与存储分离

    • 存储基于共享的分布式文件系统 PolarFS,计算节点无状态。
    • 存储容量可弹性扩展(最高可达 100TB)。
  2. 高性能 I/O

    • 利用 RDMA 网络和内核旁路技术,降低延迟。
    • 提升 OLTP 性能,尤其适用于高并发场景。
  3. 多读节点扩展

    • 最多支持 15 个只读节点,实现读能力水平扩展。
    • 读节点与主节点共享同一份存储,数据延迟极低(毫秒级)。
  4. 并行查询(Parallel Query)

    • 对大表扫描类查询支持并行执行,显著提升分析型查询性能(需开启参数)。
  5. 全局一致性快照

    • 所有节点共享存储,保证任意节点读取的数据是全局一致的。
  6. Serverless 模式(PolarDB Serverless)

    • 支持根据负载自动扩缩容计算资源,节省成本。
  7. HTAP 能力(通过列存索引)

    • 支持创建列存索引(Columnar Index),用于提速复杂分析查询。
    • 实现一份数据同时支持 OLTP 和 OLAP 场景(需企业版或特定版本支持)。
  8. 跨区域灾备

    • 支持跨可用区部署,以及跨地域复制(DR),保障业务连续性。
  9. 智能运维

    • 自动诊断、性能洞察、SQL 审计、慢查询分析等。

❌ 三、不支持或受限的功能

  1. 不支持插件式存储引擎

    • 如 MyISAM、TokuDB、RoaringBitmap 等非 InnoDB 引擎不可用。
  2. 临时表限制

    • 临时表仅存在于会话本地,不支持复制到只读节点(行为与原生 MySQL 一致)。
  3. 部分系统表只读

    • performance_schema、information_schema 多数为只读视图。
  4. 自定义配置有限制

    • 部分 MySQL 参数不可修改(出于稳定性考虑)。
  5. 不支持本地磁盘存储

    • 所有数据必须存储在 PolarFS 上,无法使用本地 SSD。

✅ 四、版本支持情况

PolarDB MySQL 版本 对应 MySQL 版本 主要特性
5.6 MySQL 5.6 基础事务、分区、基础复制
5.7 MySQL 5.7 JSON、在线 DDL、并行查询、GTID
8.0 MySQL 8.0 CTE、窗口函数、隐藏索引、原子 DDL、角色管理

注:推荐使用 MySQL 8.0 版本以获得最新特性和性能优化。


总结

PolarDB for MySQL 在保持与 MySQL 高度兼容的基础上,提供了:

  • 更高的性能(I/O、并发)
  • 更强的扩展性(读节点、存储弹性)
  • 更高的可用性(自动故障转移、备份恢复)
  • 更丰富的云原生功能(Serverless、HTAP、并行查询)

适合需要高并发、高可用、易扩展的企业级应用场景。


📌 建议:具体功能支持请参考阿里云官方文档:
👉 https://help.aliyun.com/product/68825.html

如需使用特定功能(如列存索引、并行查询),请确认实例版本和规格是否支持。