In StackOverflow подкаст №. 19 , Джо описывает решение Fogcreek иметь одну базу данных на клиента вместо одну базу данных для ВСЕХ клиентов . Это заставляет меня задуматься о следующем.
- При условии, что у меня 1000 пользователей .
- Каждый пользователь имеет 100 клиентов .
- У каждого клиента есть 1000 продуктов .
Это означает, что у меня будет 1000 x 100 x 1000 = 100 000 000 продуктов, связанных с пользователями. Теперь, если я сделаю запрос к таблицам соединения для пользователя и всех продуктов его клиента, каким должно быть разумное количество времени запроса, если я использую для этой цели только одну базу данных?
UPDATE
Может быть, я не был достаточно ясен в своем вопросе. Предположим, что мне нужно выполнять все виды нестандартных запросов (min, max, group и т. Д.) С наборами данных, как описано выше, будет ли это медленно (или нет) до такой степени, что имеет смысл иметь несколько стратегий баз данных, например , 1 БД / клиент, шардинг базы данных и т. Д.