mysql ndb innodb_InnoDB和NDB,MySQL群集和InnoDB群集之间有什么区别?

像任何不断发展的成熟技术一样,MySQL积累了自己的术语。某些术语有时会引起混淆,尤其是当两个术语相似但实际上是指两个完全不同的事物时。对于两个存储引擎InnoDB和NDB(读音听起来很相似),以及两个“群集”技术:InnoDB Cluster和MySQL Cluster尤其如此。

让我们看看是否可以消除这种混乱。

InnoDB

是一种存储引擎-数据库用来读取,写入,更新和删除数据以及执行其他基本操作的软件组件。 InnoDB在2010年用5.5版(主要是因为它支持事务和外键)取代了MyISAM,将其作为MySQL的默认存储引擎,这是大多数工作负载的最佳选择。

NDB

也称为NDB CLUSTER, 是另一种存储引擎,但是它主要存储数据在内存中,并且独立于MySQL Server实例。它是MySQL Cluster使用的存储引擎。 NDB代表“网络数据库”。

MySQL Cluster或MySQL NDB Cluster

是一个完全独立的产品,可将数据存储在多个服务器的内存中,而这些服务器均不需要MySQL服务器实例。凭借其分布式“无共享”架构,MySQL Cluster可在低成本硬件上水平提供表的高可用性和自动分片(分区)功能,以同时满足读取和写入密集型工作负载的需要。

InnoDB Cluster

几乎与MySQL Cluster完全无关,并且是从MySQL 5.7 开始作为一组插件实现的。其中之一是“组复制”插件,该插件使组中的MySQL服务器能够在它们之间复制数据。如果服务器出现故障,则群集会自动重新配置自身。借助MySQL Shell(用于配置集群)和MySQL Router(用于将客户端应用程序透明地连接到组中的服务器实例)之类的工具,InnoDB Cluster为DBA提供了一种方便的方法,使DBA使用熟悉的InnoDB存储引擎来配置高可用性系统。 MySQL Server通常被用作查询存储在MySQL Cluster中的数据的前端,

但是也可以使用NoSQL技术查询集群。

简而言之,InnoDB和NDB都是存储引擎。但是InnoDB是MySQL Server的默认存储引擎,而NDB是专门为MySQL Cluster设计的。

MySQL Cluster和InnoDB Cluster都是MySQL的高可用性解决方案。 MySQL Cluster使用NDB存储引擎,不需要在群集内的任何节点上安装MySQL Server软件。 InnoDB Cluster为安装了MySQL Server软件的服务器提供了一种在它们之间复制数据的机制。

MySQL NDB集群架构

d53c7fbf2e304468978c087bc3da9e2b.png

InnoDB集群架构

96d011fb55d4cf7a3ee411dce2a8a869.png

ref:

https://blogs.oracle.com/jsmyth/what-are-the-differences-between-innodb-and-ndb%2c-and-mysql-cluster-and-innodb-cluster

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值