Самой большой проблемой для масштабируемости обычно являются общие ресурсы, такие как СУБД. Проблема возникает потому, что СУБД обычно не имеют возможности ослабить гарантии согласованности.
Если вы хотите увеличить масштабируемость при использовании чего-то вроде MySQL, вам нужно изменить дизайн схемы, чтобы ослабить согласованность.
Например, вы можете разделить схему базы данных, чтобы иметь вашу нормализованную модель данных для записи и реплицированную денормализованную часть только для чтения для 90% операций чтения. Данные только для чтения могут распространяться на несколько серверов.
Другим способом увеличения масштабируемости базы данных является разделение данных, например, разделите данные в базу данных для каждого отдела и объедините их в ORM или в СУБД.