在 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(版本:5.7.21-ndb-7.5.9-cluster)使用全表扫描进行简单的选择查询