在 MySQL NDB Cluster 中使用联合表是可能的

Posted

技术标签:

【中文标题】在 MySQL NDB Cluster 中使用联合表是可能的【英文标题】:It's posible to use Federated table in MySQL NDB Cluster 【发布时间】:2016-09-20 09:46:33 【问题描述】:

我正在开发一个需要两个不同数据库的应用程序,这是因为其中一个数据库是每个客户端,另一个是通用数据库。

我正在考虑创建一个 mysql NDB 集群,我需要知道是否可以在集群中使用一些联合表,或者所有表都必须使用 ndbcluster 引擎。

如果这不可行,我如何使用 ndbcluster 与其他主机中的表进行连接?

请忘记,为什么我需要这个架构(每个客户端一个数据库和一个通用数据库),因为我花了很多时间思考哪个应该是我的应用程序的最佳架构,我选择了这个。

感谢您的帮助!!!

【问题讨论】:

【参考方案1】:

MySQL Cluster 使用完整版本的 mysqld(稍作修改),其中包括独立版本中包含的所有存储引擎。所以你的答案是肯定的,你可以在 FEDERATED 存储引擎或任何其他存储引擎中拥有一些表。

但是,只有 storage engine=ndbcluster 的表才会被复制到所有连接到集群的 api 节点上。

具有两个 api 节点集群的联合方法可以工作,但请记住,只有具有相同存储引擎的表才能在它们之间具有参照完整性 (FK)。

您使用的是哪个版本的 MySQL 集群?建议始终使用最新的 GA 版本(现为 7.4.12)

问候

【讨论】:

以上是关于在 MySQL NDB Cluster 中使用联合表是可能的的主要内容,如果未能解决你的问题,请参考以下文章

Mysql NDB Cluster 集群搭建实战全网最详细

MySQL(版本:5.7.21-ndb-7.5.9-cluster)使用全表扫描进行简单的选择查询

APT安装MySQL NDB Cluster

MySQL NDB Cluster 和 Master Master 复制

mysql ndb cluster 开启binlog 问题

MySQL Cluster部署文档