優れたマルチテナントデータベース設計のための戦略に関する参考資料を探しています。 MySqlにはマルチテナントアーキテクチャのための組み込みサポートがありますか?この点に関するヘルプ/リンク/リファレンスは本当に感謝しています!あなたが公共のテーブル以外の各テーブルにtenant_idを追加する必要がありますのでマルチテナントデータベース設計
0
A
答えて
6
5
MySQLは、スキーマをサポートしていません。次に、ORMライブラリを上書きして、 "where tenant_id =?、tenant_id"をすべてのsqlに自動的に追加する必要があります。
レール上のマルチテナントアプリに関する一般情報。
レールとMySQLマルチテナント例
レールとPostgreSQLチュートリアル。私はあなたがMySQLがほしいと思うが、これはあなたに良い見通しを与える。
1
マルチテナントアプリケーションを設計するには、データベース設計
- 別個のデータベースのためのいくつかのオプションがあります。最も簡単ですが、資源消費で、MySQLはこの中に収まりますテナントごとに新しいデータベースが必要になります。これは、管理やバックアップやリストアなどの操作アクティビティが容易になり、顧客データを完全に分離することができます。
- 共有データベース、別々のスキーマ:このアプローチでは、1つのデータベースサーバーが使用されますが、新しいテナントごとに新しいスキーマを作成する必要があります。 MySQLはこれをサポートしていません。代替のDBMSはPostgreSQLです。このソリューションは、リソースの利用効率を最大限に高め、バックアップや復元などの操作アクティビティも同様に処理できます。
- 共有データベース、共有スキーマ:onurozgurozkanによって説明されているように、共有スキーマであるため、各レコードにテナントIDを格納する必要があります。このアプローチは、MySQLや他のDBMSでサポートされていますが、バックアップやリストアなどの操作アクティビティでは非常に困難です。そのためにはいくつかのツールを開発する必要があります。テナント数が多い場合は、この方法はお勧めしません。
2
Citusでは、PostgreSQLベースのマルチテナントデータベースを構築しています。 https://www.citusdata.com/blog/2016/12/18/schema-sharding-lessons/は、マルチテナントのための異なるシャーディング方法に関する情報を提供します。
https://www.citusdata.com/blog/2016/08/10/sharding-for-a-multi-tenant-app-with-postgres/も読むことができます。
関連する問題
- 1. LightSpeedデータベースとマルチテナントデータベース
- 2. マルチテナントデータベースのマッピング
- 3. スプリングブートを使用したマルチテナントデータベース構成の適切な設定トランザクションマネージャ
- 4. マルチテナントデータベースの値を検索
- 5. Google Bigtableはマルチテナントデータベースの概念ですか?
- 6. 単一の共有データベースを持つマルチテナントデータベース
- 7. OO設計とデータベース設計
- 8. ドメイン駆動設計。エンティティタイプの設計
- 9. マルチモジュール設計とシングルモジュール設計の選択
- 10. 違いアーキテクチャ設計とハイレベル設計
- 11. いくつかの共有データを持つマルチテナントデータベース
- 12. マルチテナントデータベースでNOT NULLフィールドを作成する方法
- 13. マルチテナントデータベース用の新しいスキーマを安全に作成する
- 14. データベーステーブルの設計
- 15. レルムデータベース設計
- 16. テンポラリデータストレージの設計
- 17. オントロジーセマンティックウェブの設計
- 18. Javaアプリケーション設計
- 19. データベース設計SQL
- 20. フォーラムデータベースの設計
- 21. データベース設計
- 22. ブログアーキテクチャの設計
- 23. データベースの設計
- 24. データベース設計-relation
- 25. 設計原則
- 26. .NETロギングフレームワーク設計
- 27. MongoDB ::データベース設計
- 28. リレーショナルアンケートアンケートデータベースの設計
- 29. コマンドオブジェクトの設計
- 30. MVCアプリケーション設計
受け入れられていない回答が14件あっただけでなく、ゼロの回答、何でもない投票(質問または回答)。 –