-3

Azureクラウドにマルチテナントアプリケーションを実装する予定です。私はDBレベルでこれを実装する最善の方法を探しています。 DBスキーマは膨大で、複数のモジュールにまたがる100個のテーブルがあります。データサイズはクライアントごとに異なります。いくつかの場合は、テーブル内に100行の行がある可能性があります。しかし、それは何百万行になることもあります。このようなシナリオでElastic DBを実装する最良の方法は何ですか?Azureデータベースでマルチテナントを実装する最も良い方法は何ですか

この場合シャーディングはどのように設計しますか?シャードごとのシングルテナントまたはテナントのリスト?私がシャードごとにテナントのリストを作成し、隣接するテナントが多くのデータを持っていて、それが混雑することになります。パーティション化するためのシャードキーを効率的に見つける方法を教えてください。

私はシャードごとにシングルテナントを行う場合、データサイズに基づいてシングルシャードをスケールアップできますか?

誰もこのようなシナリオに遭遇しましたか?いくつかのサンプルリンクを教えてください。

ありがとうございました!

+1

これを行う方法はたくさんあります。非常に幅広い質問です。正解はありません。 –

答えて

1

David Makogonは彼のコメントで正しいです - これを行うにはたくさんの方法があります。 Microsoftはこのシナリオの解決策を提供するために多くの時間を費やしたため、私は答えを提供するだけです。複数のデータベースアプローチを採用する場合は、弾性プールとElastic Client Libraryを確認してください。これにより、シャード、シャードマップ管理、およびシャード間の分散クエリの作成がサポートされます。これを自分で作成することは大変な作業です。

関連する問題