SPQR в продакшене: как мы шардировали PostgreSQL на 8 шардов без даунтайма
Сервис Едадил обрабатывает 5 миллионов чеков в день, и единственный кластер PostgreSQL на 8 ТБ перестал справляться с нагрузкой. Возможности вертикального масштабирования были исчерпаны, нужно было шардировать базу. В докладе расскажу: - Как подготовиться к шардированию: инвентаризация таблиц и SQL-запросов, выбор ключа шаржированная — и почему эта работа заняла больше времени, чем сам перевоз данных. - Поэтапная миграция без даунтайма: как мы превратили существующий кластер в первый шард и далее развезли данные на 8 шардов. - Механика перевоза данных: как работает REDISTRIBUTE в SPQR и почему реальная скорость оказалась ~1 ТБ в неделю вместо теоретических 600+ ГБ в день. - Грабли в продакшене: баг walreceiver в PostgreSQL, из-за которого лаг на репликах рос неконтролируемо, и момент, когда свободное место на реплике с 8 ТБ упало до 1%. Доклад будет полезен тем, кто стоит перед необходимостью горизонтального масштабирования PostgreSQL и хочет понять, с чем столкнётся на практике.