我正在开发一个需要两个不同数据库的应用程序,这是因为其中一个数据库是每个客户端的,另一个是通用数据库。
我正在考虑创建一个 MySQL NDB Cluster,我需要知道是否可以在 Cluster 中使用一些联合表,或者所有表都必须使用 ndbcluster 引擎。
如果这不可能,我如何使用 ndbcluster 与其他主机中的表进行联接?
请忘记,为什么我需要这个架构(每个客户端一个数据库和一个通用数据库),因为我花了很多时间思考哪个应该是最适合我的应用程序的架构,我选择了这个。
感谢您的帮助!!!
最佳答案
MySQL Cluster 使用完整版本的 mysqld(稍作修改),其中包括独立版本中包含的所有存储引擎。因此,您的答案是肯定的,您可以在 FEDERATED 存储引擎或任何其他存储引擎中拥有一些表。
但是,只有 storage engine=ndbcluster 的表才会被复制到连接到集群的所有 api 节点。
具有两个 api 节点的集群的联合方法可以工作,但请记住,只有那些具有相同存储引擎的表才能在它们之间具有引用完整性 (FK)。
您使用的是哪个版本的 MySQL Cluster?建议始终使用最新的 GA 版本(现为 7.4.12)
问候
关于mysql - 可以在 MySQL NDB Cluster 中使用联合表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39590840/