我们目前有一个单租户数据库架构,MySQL 运行超过 100 个数据库。我们使用 Apartment gem 在子域上切换数据库连接,一切都很好!
但是,我们现在需要创建所谓的“伞式”客户端,它可以访问我们现有客户端组的所有数据。我不认为这对于我们的单租户数据库架构来说是立即可行的(我研究了它并查询多个 MySQL 数据库似乎很糟糕),所以我开始研究 Postgres 模式的不同实现。
我正在寻找一些建议:
是否可以在 Postgres 中查询多个模式并以某种方式整理结果(寻找 Rails 实现)?我可以预见主键冲突的问题吗?
拥有一个以某种方式表示/复制需要访问的模式组中的所有数据的新模式会更好吗?它需要是实时的。
如果是这样,在我当前使用 MySQL 的多数据库设置中可以实现类似的效果吗?(尽量减少痛苦)
我对使用数据库字段在 MySQL 中实现多租户持谨慎态度,因为数据安全/隐私对于这个产品来说是一件大事,而且这种方式很有可能导致开发人员出错。