ただし、データが危険にさらされるのではないかと恐れている企業もあるので、他のソリューションを評価しています。
物理的な分離だけで十分なセキュリティを提供できるという誤解に顧客が悩まされる場合があるため、これは残念です。
マルチテナントデータアーキテクチャというタイトルの興味深いMSDNの記事がありますので、確認してください。これは、著者が共有アプローチに対する誤解に対処した方法です。
よくある誤解は、物理的な分離だけが適切なレベルのセキュリティを提供できるということです。実際、共有アプローチを使用して保存されたデータも強力なデータの安全性を提供できますが、より洗練された設計パターンを使用する必要があります。
技術的およびビジネス上の考慮事項について、この記事では、特定のアプローチが他のアプローチよりも適切である可能性がある場所について簡単に分析します。
提供する予定のテナントの数、性質、およびニーズはすべて、データアーキテクチャの決定にさまざまな方法で影響します。次の質問の中には、より孤立したアプローチに偏る可能性のあるものもあれば、より共有されたアプローチに偏るものもあります。
どれくらいの見込みテナントをターゲットにすると思いますか?権限を使用して将来の使用を見積もることはほとんど不可能かもしれませんが、桁違いに考えてください。何百ものテナントのアプリケーションを構築していますか?何千?何万もの?もっと?テナントベースが大きくなると予想されるほど、より共有されたアプローチを検討する可能性が高くなります。
平均的なテナントのデータが占めると予想されるストレージ容量はどれくらいですか?一部またはすべてのテナントに非常に大量のデータを格納することが予想される場合は、個別のデータベースによるアプローチがおそらく最適です。(実際、データストレージの要件により、とにかく個別のデータベースモデルを採用する必要がある場合があります。その場合、アプリケーションを最初から設計する方が、後で個別のデータベースアプローチに移行するよりもはるかに簡単です。)
平均的なテナントがサポートすると予想される同時エンドユーザーは何人ですか?数値が大きいほど、エンドユーザーの要件を満たすための適切な分離アプローチが適切になります。
テナントごとのバックアップや復元機能など、テナントごとの付加価値サービスを提供する予定はありますか?そのようなサービスは、より分離されたアプローチにより提供しやすくなります。
更新:予想されるテナント数についてさらに更新します。
予想されるテナント数(10,000)では、すべてではないにしても、ほとんどのシナリオで、マルチデータベースアプローチを除外する必要があります。10,000のデータベースインスタンスを維持し、毎日何百もの新しいインスタンスを作成する必要があるとは思いもしません。
このパラメーターだけから、共有データベースの単一スキーマアプローチが最も適しているように見えます。テナントごとに約50Mbしか保存しないこと、およびテナントごとのアドオンがないことにより、このアプローチはさらに適切になります。
上記のMSDNの記事では、共有データベースアプローチのセキュリティに関する考慮事項に取り組む3つのセキュリティパターンについて言及しています。
アプリケーションのデータ安全対策に自信がある場合は、強力なデータ安全性を保証するサービスレベルアグリメントをクライアントに提供できます。SLAでは、保証とは別に、データが侵害されないようにするために講じる措置を説明することもできます。
更新2:どうやらMicrosoftの担当者はこの件に関して移動/新しい記事を作成しました。元のリンクはなくなり、これは新しいものです:マルチテナントSaaSデータベースのテナントパターン(kudosからShai Kererへ)