Деление большой базы данных или таблицы на более мелкие, независимые части, называемые партициями, для улучшения производительности, управляемости и доступности.
Виды партиционирования:
- Горизонтальное (Sharding): Разделение строк таблицы по заданному критерию. Каждая партиция содержит подмножество строк.
- Вертикальное: Разделение столбцов таблицы на несколько таблиц. Каждая партиция содержит подмножество столбцов для всех строк.
Методы партиционирования по горизонтали:
Range: Разделение на основе диапазонов значений в столбце.
sql
List: Разделение на основе явного списка значений в столбце.
sql
Hash: Разделение на основе хеш-значения столбца. Распределяет данные равномерно.
sql
Преимущества:
- Улучшение производительности запросов (сканируется только нужная партиция)
- Повышение доступности (неисправность одной партиции не влияет на другие)
- Упрощение управления (архивирование или удаление данных по партициям)
Недостатки:
- Сложность проектирования и реализации
- Запросы, охватывающие несколько партиций, могут быть менее эффективны