MySQL 8.0版本说明
MySQL 8.0源代码文档10bet官方网站
的NDB
存储引擎是使用分布式、无共享的体系结构实现的,这导致它的行为与InnoDB
在很多方面。对于那些不习惯和NDB
,由于它在事务、外键、表限制和其他特征方面的分布式性质,可能会出现意外行为。如下表所示:
表23.2 InnoDB和NDB存储引擎的区别
功能 | InnoDB (MySQL 8.0) |
NDB 8.0 |
---|---|---|
MySQL服务器版本 | 8.0 | 8.0 |
InnoDB 版本 |
InnoDB 8.0.25 |
InnoDB 8.0.25 |
NDB集群版本 | N/A | NDB 8.0.26/8.0.26 |
存储限制 | 64年结核病 | 128年结核病 |
外键 | 是的 | 是的 |
交易 | 所有标准类型 | 读过承诺 |
MVCC | 是的 | 没有 |
数据压缩 | 是的 | 否(NDB检查点和备份文件可压缩) |
大行支持(> 14K) | 支持VARBINARY ,VARCHAR ,团 ,文本 列 |
支持团 而且文本 仅列(使用这些类型存储大量数据会降低NDB性能) |
复制支持 | 使用MySQL复制实现异步和半同步复制;MySQL组复制 | NDB集群内自动同步复制;NDB集群间异步复制,使用MySQL复制(不支持半异步复制) |
读操作的扩展 | 是(MySQL复制) | 是(NDB集群自动分区;NDB集群复制) |
写操作的扩展 | 需要应用程序级分区(分片) | 是(NDB集群自动分区对应用透明) |
高可用性(HA) | 内置,来自InnoDB集群 | 是(为99.999%的正常运行时间设计) |
节点故障恢复和故障切换 | 从MySQL组复制 | 自动(新开发银行架构的关键元素) |
节点故障恢复时间 | 30秒或更长时间 | 一般小于1秒 |
实时性能 | 没有 | 是的 |
内存中的表 | 没有 | 是(一些数据可以选择性地存储在磁盘上;内存和磁盘数据存储都是持久的) |
NoSQL访问存储引擎 | 是的 | 是(多个api,包括Memcached, Node.js/JavaScript, Java, JPA, c++,和HTTP/REST) |
并发和并行写入 | 是的 | 最多48个写入器,为并发写入进行了优化 |
冲突检测和解决(多源) | 是(MySQL组复制) | 是的 |
散列索引 | 没有 | 是的 |
在线增加节点 | 使用MySQL Group Replication读取/写入副本 | 是(所有节点类型) |
在线升级 | 是(使用复制) | 是的 |
在线修改模式 | 是的,作为MySQL 8.0的一部分 | 是的 |