MySQL 8.3 Release Notes
使用分布式、共享 nothing 架构的 NDB
存储引擎会导致它在事务、外键、表限制和其他特征方面与 InnoDB
存储引擎不同。这些差异将在以下表格中显示:
表 25.1 InnoDB 和 NDB 存储引擎之间的差异
Feature | InnoDB (MySQL 8.3) |
NDB 8.1 |
---|---|---|
MySQL Server Version | 8.3 | 8.3 |
InnoDB Version |
InnoDB 8.3.0 |
InnoDB 8.3.0 |
NDB Cluster Version | N/A | NDB 8.1.0/8.1.0 |
Storage Limits | 64TB | 128TB |
Foreign Keys | 是 | 是 |
Transactions | 所有标准类型 | READ COMMITTED |
MVCC | 是 | 否 |
Data Compression | 是 | 否(NDB 检查点和备份文件可以压缩) |
Large Row Support (> 14K) | 支持 VARBINARY 、VARCHAR 、BLOB 和 TEXT 列 |
支持 BLOB 和 TEXT 列(使用这些类型来存储大量数据可能会降低 NDB 性能) |
Replication Support | 异步和半同步复制使用 MySQL 复制;MySQL 组复制 | 自动同步复制在 NDB 集群内;异步复制在 NDB 集群之间,使用 MySQL 复制(半同步复制不支持) |
Scaleout for Read Operations | 是(MySQL 复制) | 是(自动分区在 NDB 集群中是透明的) |
Scaleout for Write Operations | 需要应用程序级别的分区(分片) | 是(自动分区在 NDB 集群中是透明的) |
High Availability (HA) | 内置,从 InnoDB 集群 | 是(设计为 99.999% 高可用性) |
Node Failure Recovery and Failover | 来自 MySQL 组复制 | 自动(NDB 架构的关键元素) |
Time for Node Failure Recovery | 30 秒或更长 | 通常 < 1 秒 |
Real-Time Performance | 否 | 是 |
In-Memory Tables | 否 | 是(一些数据可以选择性地存储在磁盘上;内存和磁盘数据存储都是持久的) |
NoSQL Access to Storage Engine | 是 | 是(多个 API,包括 Memcached、Node.js/JavaScript、Java、JPA、C++ 和 HTTP/REST) |
Concurrent and Parallel Writes | 是 | 高达 48 个写入器,优化了并发写入 |
Conflict Detection and Resolution (Multiple Sources) | 是(MySQL 组复制) | 是 |
Hash Indexes | 否 | 是 |
Online Addition of Nodes | 读写副本使用 MySQL 组复制 | 是(所有节点类型) |
Online Upgrades | 是(使用复制) | 是 |
Online Schema Modifications | 是,作为 MySQL 8.3 的一部分 | 是 |