データベースはバックアップとリカバリの単位であるため、データベース構造を設計する際に最初に考慮する必要があります。データのバックアップとリカバリの要件が異なる場合、それらは個別のデータベースの非常に優れた候補です。
しかし、それは問題の半分にすぎません。ほとんどの環境では、バックアップ/リカバリはすべてのデータベースでほぼ同じです。それはアプリケーション設計の問題になります。言い換えれば、状況はかなり主観的になります。
私が現在作業している環境では、データをさまざまなデータベースに分割するためのいくつかの基準があります。
(1)幅広い対象者にテーブルを公開する。データをテーブルに「公開」し、それらをデータベースに配置します。これは、データの構築や特別な目的に使用される他のテーブルとは別になります。確かに、SQL Serverは、「スキーマ」がセキュリティの単位であると主張しています。ただし、データベースは現実の世界ではうまく機能しているようです。
(2)厳格なセキュリティ要件。一部のデータは非常に機密性が高いため、弁護士は誰がそれを見ることができるかを承認する必要があります。これは、独自のアクセス権を持つ独自のデータベースに入ります。
(3)データテーブル(ユーザーが表示できる)と本番システムを説明するテーブルの分離。
(4)熟練したアナリストグループによる一般的なクエリに使用されるテーブル(公開されたテーブル)と、特定のレポート/アプリケーションに使用されるテーブルの分離。
最後に、これを追加します。一部のデータが1日を通して継続的に更新され、他のデータがレポートに使用される場合、私はそれらを別のデータベースに配置する傾向があります。これは、問題が発生した場合にそれらを分離するのに役立ちます。