Что такое партиционирование таблиц и чем оно отличается от шардирования?
Партиционирование — разбиение одной логической таблицы на секции внутри одного сервера. Для приложения таблица остаётся одной, а физически данные лежат в разных секциях: по диапазону (чаще всего по времени), по списку значений или по хешу. Выгоды две: отсечение партиций — планировщик читает только подходящие под условие секции, и дешёвое обслуживание истории — месяц данных убирается DETACH/DROP секции за доли секунды вместо многочасового DELETE. Отличие от шардирования принципиальное: партиции живут на одном узле, попадают в одну транзакцию и поддерживают join; шардирование разносит данные по серверам и всё это забирает. Ограничения тоже надо знать: ключ партиционирования обязан входить в любой уникальный индекс, а тысячи секций заметно удорожают планирование запроса.