1

HibernateはDiscriminator Strategy アプローチによるマルチテナント実装をまだサポートしていません。私たちは、この戦略をプロジェクトに実装することを考えていました。しかし、一般的なクエリのパフォーマンスについては疑問がありました。この場合、クエリは多くのテナントのデータの単一のスキーマに対して実行されるため、クエリのパフォーマンスはデータベース/スキーマを分離するアプローチよりも悪くなりますか? または、この場合、インデックスを作成する以外に、クエリのパフォーマンスを向上させる方法はありますか?

データが単一のスキーマにある場合は、バックアップと復元を行う方がよいため、ディスクリミネーターのアプローチを検討しています。

4

1 に答える 1

1

確かにパフォーマンスに影響を与える可能性があります。「単一のバックアップ/復元」という議論は、何らかの形の大惨事の場合にのみ本当に適切です。通常は、リストアを可能な限り細かく (読み取りの中断を最小限に) 行う必要があります。

パフォーマンスに関しては、(データベースによっては) この識別子の値でパーティショニングを活用することを検討できます。パーティション分割をサポートするデータベースでは、通常、クエリ プランを作成するときにパーティションが考慮されます。パーティションの値をパラメーターではなくリテラルとして指定する必要がある場合もありますが、これは扱いにくい場合があります。

于 2012-07-03T12:52:18.500 に答える