問題のドメインのより良い概要を示すことができるかどうか見てみましょう:
n個の本番サイトがn個増加する「エンタープライズ」ソリューションの作成を検討しています。
データを処理して、Web と印刷の両方のドキュメントを作成します。
このシステムは、データ ファイルを (一元化された Web サイト経由で) 提出からプリンターまたは Web またはその両方に送信するプロセス フローを管理します。
各生産サイトには独自の顧客などがいます。そのすべての情報はデータベースに保存されます。その情報のほとんどの管理は中央サイトで行われます
使用するソフトウェアのライセンス制限により、データはすべて 1 つのサーバーで処理されます。
そのため、(データベース内の) キューを調べてジョブを処理するデーモンが存在します。フローはデータベースのステータス列によって制御されるため、他のプロセスはプロセス内のどこにあるかを知ることができます。
大量のデータが入ってくるのは、Web ツールです。Web 用に作成する各ドキュメントの検索インデックスを保存する必要があります。これはかなり急速に大きくなります。これらのレコードは永久に保持されるわけではありませんが、少なくともほとんどの場合、サイズが大きくなります (推定 5 億行)。
テーブルサイズの問題を取り除くには、個別のデータベースが答えになるだけでなく、異なるサーバー上の運用サイトを分離する機能もあると考えました。
問題は、別のサイトがいつ買収されるか、またはその規模がどのくらいになるかはわかりません。
モンスターを収容するためのより良いサーバーを購入する必要がないように、1年後にサイトを取得して限界を超えてしまうのではなく、スケーラビリティのことをつぼみに挟み込みたいと思います. 残念ながら、お金はオブジェクトです。
成長が未知数でなければ、データベースを検討することすらありません。
また、サイトごとに完全に別個のデータベースを作成することも検討しました。これにより、アプリの管理やその他の問題がはるかに難しくなります。
的外れな回答で申し訳ありません。1日12時間です。私は本当に永遠に続けることができましたが、とにかくそれがもう少し洞察を与えることを願っています.
1 つの DB との関係の例
サイトには多くの顧客がいます 顧客には多くの提出者がいます 提出者には多くの提出があります 提出には多くの文書があります ドキュメントには多くの索引があります
したがって、結合を使用して顧客のドキュメントの数を簡単に数えることができました