2016-12-02 2 views
1

データベース内のスキーマの最大数は何ですか?hibernateは問題なく接続できますか? 1つのデータベースサーバーに200人のテナント(別個のスキーマ、200個のデータベーススキーマ)が存在するアプリケーションで作業する。休止状態を使用するためにバインドされます。アプリのデータベース通信のためのアーキテクチャを提案してください。メモリフットプリントと他の側面も。テクノロジー・スタック - Hibernateは、春のJPA、smartgwt、MySQLとJBossのmysqlスキーマへのハイバネート接続の最大制限(1つのdbサーバーに200のスキーマを接続する必要があります)。

+1

200以上のスキーマを持つアプリケーションの種類を理解する必要があります。私は、これらの多くのスキーマに接続する際に問題は発生しないと考えていますが、これを達成するために200以上のセッションファクトリを作成する必要があります。 – Ubercool

+0

解決策は、ケースに許可されている場合は、単一のスキーマへのテーブルへのアクセスを提供することができます。あなたの休止状態のアプリケーションは、その単一のスキーマに接続するだけです – Ubercool

答えて

0

あなたは、MySQLへの単一の接続を持っており、データベースの任意の数のアクセスすることができます。

SELECT ... FROM db1.table11 ... 
SELECT ... FROM db2.table22 ... 

または複数のアクセスするために、JOINUNIONなどを使用します同じクエリ内のデータベース:

SELECT ... FROM db1.table11 
      JOIN db2.table22 ... 

Hibernateがそれを許可しない場合、あなたは私の哀悼の意を表します。

+0

ありがとう!別のデータベースの下でmysqlに2500個のテーブルを作成するのは公正でしょうか?データサイズはそれほど大きくはありません(重いテーブルでは6カ月で20カラムと7キロ行)いくつかの光を介してどうしたらいいですか? –

0

ありがとうございます。次のステップを踏み、AbstractRoutingDataSourceスプリングを使用して、春から動的データソースのロードをオンザフライで行うことができます。私は正常にスキーマごとのセッションごとのトランザクションを管理することができますが、それは単一のセッションのユーザーと複数のスキーマへのアクセスのための良い選択です。両方のスキーマで同じテーブルを更新したいとします。

関連する問題