ここで私と一緒にふりをしましょう:
PHP/MySQL Web アプリケーション。1 つのサーバーと 1 つの MySQL DB を想定します。
私には1,000人の上司がいます。すべての上司には、その下に 10 人の従業員がいます。これらの 10 個のワーカー (1,000 倍、合計 10,000 個のワーカー) はそれぞれ、少なくとも 5 つのデータベース エントリ (work orders
この目的のためにそれらを呼び出します) を WebApplication に毎日稼働させます。この作業指示テーブルでは、1 日あたり 50,000 エントリです。
サーバーの問題は別として、データベースの基本的なロジックを処理する主な方法が 2 つあります。
各ボスにはIDがあります。と呼ばれる 1 つのテーブルがあり、すべての作業指示書を上司に関連付ける
workorders
という名前の列があります。BossID
これにより、1 つのテーブルに 1 か月あたり約 100 万のエントリが残ります。各ボスには、そのボスがサインアップしたときに作成される独自のテーブル
work_bossID
がありbossID = the boss' unique ID
ます。これにより、1,000 個のテーブルが残りますが、これらのテーブルははるかに管理しやすくなります。
私が見落としている 3 番目のオプションはありますか?
より機能的な方法はどれですか?
テーブル内のエントリの数に対して大きすぎるのはどのくらいですか (列の数が少ないと仮定しましょう: 10 未満)? (これには次のものが含まれます: 次の場合は 2 番目のサーバーを取得する必要があります...)
データベース内のテーブルの数に対して大きすぎるのはどれくらいですか? (これには次のものが含まれます: 次の場合は 2 番目のサーバーを取得する必要があります...)
ある時点で、複数のサーバーとデータベースを相互にリンクすることについて話し合う必要があることはわかっていますが、ここでも、単一の MySQL DB を備えた単一のサーバーに焦点を当てましょう。