次の方法で共有


マルチテナント機能と Azure SQL Database

Azure のマルチテナント ソリューションでは、一般的に Azure SQL Database が使用されます。 このページでは、マルチテナント システムを設計する際に役立つ Azure SQL データベースの機能のいくつかについて説明します。 また、マルチテナント ソリューションで Azure SQL を使用する方法のガイダンスと例にもリンクしています。

ガイダンス

Azure SQL データベース チームは、Azure SQL データベースを使用したマルチテナント アーキテクチャの実装に関する広範なガイダンスを公開しています。 「Azure SQL Database でのマルチテナント SaaS パターン」を参照してください。 また、「Azure SQL データベースをパーティション分割」するためのガイダンスについても検討してください。

マルチテナント機能をサポートする Azure SQL Database の機能

Azure SQL データベースには、マルチテナント機能をサポートする多くの機能が含まれています。

エラスティック プール

エラスティック プールを使用すると、同じサーバー上の多くのデータベース間でコンピューティング リソースを共有できます。 エラスティック プールを使用すると、各データベースのパフォーマンスを柔軟に実現できます。また、プロビジョニングされたリソースをデータベース間で共有することによってコスト効率を高めることもできます。 エラスティック プールは、雑音が多い近隣の問題に対する組み込みの保護を提供します。

詳細情報:

Elastic Database ツール

シャーディング パターンを使用すると、複数のデータベースにわたってワークロードをスケーリングできます。 Azure SQL Database には、シャーディングをサポートするツールが用意されています。 これらのツールには、シャード マップ (各シャードに割り当てられたテナントを追跡するデータベース) の管理機能が含まれています。 また、エラスティック ジョブを使用して、複数のシャードに対してクエリと管理操作を開始および追跡する機能も含まれています。

詳細情報:

行レベルのセキュリティ

行レベルのセキュリティは、共有テーブルを使用するときに、テナントレベルの分離を適用する場合に便利です。

詳細情報:

キー管理

Always Encrypted 機能は、データベースのエンドツーエンドの暗号化を提供します。 テナントが独自の暗号化キーを提供する必要がある場合は、テナントごとに個別のデータベースを配置することを検討し、Always Encrypted 機能を有効にすることを検討してください。

詳細情報:

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

プリンシパル作成者:

  • Paul Burpo | FastTrack for Azure のプリンシパル カスタマー エンジニア
  • John Downs | プリンシパル プログラム マネージャー

その他の共同作成者:

  • Silvano Coriani | Azure SQL のプリンシパル プログラム マネージャー
  • Dimitri Furman | Azure SQL のプリンシパル プログラム マネージャー
  • Sanjay Mishra | Azure SQL のプリンシパル グループ プログラム マネージャー
  • Arsen Vladimirskiy | FastTrack for Azure のプリンシパル カスタマー エンジニア

パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。

次のステップ

マルチテナントのストレージとデータ アプローチを確認します。