Сейчас будет сложная тема)))
Как-то не очень громко и незаметно Yandex B2B Tech запустили сервис для горизонтального масштабирования PostgreSQL.
Зачем это нужно?
Данная БД (исторически) хорошо работает на одном мощном сервере, а вот когда база вырастает до терабайтов или транзакций — миллионы в день (как в банках или маркетплейсах), один сервер не тянет.
Что придумали? Шардирование! Шардирование разбивает данные на части (шарды) по ID пользователей или заказов и распределяет по серверам. Приложение видит всё как одну базу — код менять не нужно. Раньше шардирование тоже было, но на сколько позволяет моя экспертиза, оно было каким-то жутко неудобным и чуть ли не ручным.
Представьте себе онлайн-магазин: раньше все заказы на одном сервере — тормоза при наплыве. Теперь заказы по ID распределяются по 10 серверам, и сайт летает. А вообще система подходит для чатов, e-commerce или IoT.
Из минусов: пока доступно только в Yandex Cloud (хотя для кого-то это и не минус вовсе)
Реальные примеры В Яндекс Пэй с 90 млн пользователей шардирование ускорило обработку данных с 48 часов до 10 — добавили шарды за день.