StackOverflow ポッドキャストでは、No . 19で、Joe は、すべてのクライアントに対して 1 つのデータベースではなく、クライアントごとに 1 つのデータベースを持つという Fogcreek の決定について説明しています。それはちょっと私に次のことを考えさせます。
- 1000 人のユーザーがいると仮定します。
- 各ユーザーには100 個のクライアントがあります。
- 各クライアントには1000 個の製品があります。
つまり、1000 x 100 x 1000 = 100,000,000 個の製品がユーザーに関連付けられることになります。ここで、あるユーザーとそのクライアントのすべての製品に対して結合テーブル クエリを実行する場合、この目的のために 1 つのデータベースのみを使用すると、妥当なクエリ時間はどれくらいになるでしょうか?
アップデート
たぶん、私の質問は十分に明確ではありませんでした。上記で説明したように、データセットを使用してあらゆる種類のファンキーなクエリ (最小、最大、グループなど) を実行する必要があると仮定すると、複数のデータベース戦略を使用する方が理にかなっている点まで遅い (またはそうでない) でしょうか。 . 1 DB/クライアント、データベース シャーディングなど