--- aliases: tags: - зрелость/🌱 date: - - 2024-06-20 zero-link: - "[[00 Базы Данных]]" - "[[00 HighLoad]]" parents: linked: - "[[Шардирование в БД]]" --- - Берем данные и разделяем по какому-то признаку - Разделенные данные физически лежат отдельно. Разные таблицы - Но все данные остаются в пределах одного сервера. **Минусы:** - Некоторые запросы могут замедлиться. Кросс-партиционные запросы. - Так как данные лежат на одном сервере, то если уперлись в производительность диска, партиционирование не поможет. - Кажется перестройка партиций дорогостоящая операция. **Плюсы:** - Простая реализация. Разработчик продолжает обращаться к таблице, а СУБД понимает в какую партицию ей стоит идти. - Некоторые типы запросов может ускорить за счет уменьшения объема данных в партиции. Основные типы разделения: - key. По ключу - range. По диапазону - list. По списку - hash. По хэш значению поля Пример создания в PostgreSQL: ![](Pasted%20image%2020240620214723.png) Пример создания в MySQL: ![](Pasted%20image%2020240620214648.png)