У меня есть приятель, который запускает веб-приложение для людей, выставляющих машины на продажу. Им пользуются несколько тысяч клиентов, и у каждого клиента есть сотни, а иногда и тысячи строк в базе данных (некоторые из них существуют в течение 5 лет с сотнями продаж автомобилей каждый месяц и десятками строк за одну продажу (комментарии, сообщения, так далее)). Он запускал эту систему в одной базе данных SQL Server на одном физическом сервере с примерно 20 ГБ или ОЗУ и парой процессоров все время без проблем. Это какое-то чудо?
Как и большинство программистов, я не являюсь администратором баз данных и просто живу благодаря ORM и т. д. Куда бы я ни посмотрел, люди говорят о необходимости сегментировать или получить отдельный сервер базы данных для крупных пользователей веб-приложения. Почему это? Неужели так неэффективно иметь большую БД с партиями или строками? Должен ли я планировать использовать Cassandra или что-то подобное, или я могу рассчитывать на хорошее масштабирование с помощью Postgres?