Это очень сильно зависит от решения, которое вы выберете для своего бэкэнда. Некоторые приложения используют сочетание для обработки различных типов данных.
С базой данных, такой как MySQL или PostgreSQL, трудно работать, когда необходимо масштабирование. Для нашего проекта мы решили использовать Cassandra (которая в то время, о которой вы спрашивали, вероятно, еще не существовала!), Которая позволяет хранить данные на любом количестве бэкэнд-компьютеров. При этом вы также позволяете внутренним процессам запускаться на совершенно разных компьютерах, чтобы вы могли выполнять все виды вычислений без необходимости замедлять работу базы данных или внешнего интерфейса (например, Apache).
Я говорю об этом в нашем проекте на этой странице:
http://snapwebsites.org/implementation/snap-websites-processes
Поиск по слову «Процесс». Существует также изображение, представляющее различные процессы, и каждый из них может работать на отдельном компьютере (если у вас такая большая нагрузка, что вам нужно больше лошадиных сил):
А на самом деле некоторые из Snap! Бэкэнды, показанные в этом примере, могут работать на нескольких компьютерах, в то время как один экземпляр обрабатывает этот веб-сайт, а другой - этот другой веб-сайт. Довольно мощный.