2016-11-11 4 views
0

私は、Azureで実行され、SQL Serverを利用するSaaSシステムを設計中です。このアプリケーションはAzure Elastic Database Poolを利用してシャーディングによるスケールアウトをサポートします。計画は、Shared-Shardedモデルを実行し、Shard Mapを活用してテナントIDを正しいデータベースにマップすることです。Azure Elasticデータベースプール

私は、Azureのドキュメントを読んで、DEV環境のいくつかのテストデータベースにElastic DB Poolを正しくセットアップしました。だから私はどのように実装し、理論的にはこれがうまくいくのか理解しています。

私が不明な点は、各Azure SQLデータベース(Shard)を独自のAzure SQL Serverに作成するか、複数のデータベースで1つのサーバーを実行するのがベストプラクティスかどうかということです。私は、1つのサーバーで30のデータベースを、それぞれ1つのデータベースで30のサーバーを使用すると、パフォーマンスのボトルネックが発生する可能性があるかどうかを試しています。いずれの状況でも、30のデータベースはすべて1つのElastic Poolの一部であると仮定しています。

リソースがどのように割り当てられているかを概念的に理解できる人はいますか? データベースとサーバーに割り当てられているリソースに関するすべての文書では言及されていないので、これはやや無関係であり、単にこのコンテキストのコンテナであると仮定しています。

この質問は、実際のSQLサーバーの世界に基づいていますが、各サーバーでリソースの数を制限することができます。

+0

異なるサーバーのデータベースを同じエラスティックデータベースプールに含めることさえできないと思います。 –

+0

@ GauravMantriそれは良い点です。セットアップしたプールは、同じサーバー上の2つのデータベースにまたがっています。私は新しいサーバーを作成し、それを今すぐテストします。 – CSL

+0

@ GauravMantriあなたは正しいですが、私は新しいサーバーとデータベースを作成しました。そのデータベースを既存の弾性プールに追加することはできません。思考時間を減らし、テストに時間を費やす必要があります - ありがとう! – CSL

答えて

0

Azureでテストした直後に自分の質問に回答しました。同じデータベースサーバー上にあるデータベースは、Elastic Poolに追加することしかできません。

関連する問題