現在、MySQL が 100 以上のデータベースを実行しているシングルテナント データベース アーキテクチャがあります。Apartment gemを使用してサブドメインのデータベース接続を切り替えると、すべてがうまくいきます!
ただし、既存のクライアントのグループからすべてのデータにアクセスできる、いわゆる「傘」クライアントを作成する必要があります。私たちの単一テナント データベース アーキテクチャではこれがすぐに実現できるとは思えません (調べてみたところ、複数の MySQL データベースにクエリを実行するのは地獄のように思えました)。そのため、Postgres スキーマを使用したさまざまな実装を検討し始めています。
私はいくつかのアドバイスを探しています:
Postgres で複数のスキーマを照会し、結果を何らかの方法で照合することは可能ですか (Rails の実装を探しています)? 主キーの競合による問題を予測できますか?
アクセスする必要があるスキーマのグループ内のすべてのデータを何らかの形で表す/複製する新しいスキーマを作成する方がよいでしょうか? リアルタイムである必要があります。
もしそうなら、MySQL を使用した現在の複数の DB セットアップで同様のことを達成できますか? (痛みを最小限にするため)
MySQL でマルチテナンシーを実現するためにデータベース フィールドを使用することには慎重です。データ セキュリティ/プライバシーはこの製品にとって非常に重要であり、開発者のエラーが発生する可能性が非常に高いからです。