Что такое партицирование в БД
Python
Middle
Вкусно и точка
Что такое партицирование в БД
Ответы
Партицирование (partitioning) — это разделение таблицы в БД на логические части (партиции) для улучшения производительности и управления данными.
**Основные типы партицирования:**
- **Горизонтальное (range partitioning)** — разделение по диапазону значений (например, по датам).
- **Вертикальное (column-based)** — разделение по столбцам.
- **Хэш-партицирование** — равномерное распределение по хэшу ключа.
**Пример в PostgreSQL:**
```
CREATE TABLE sales (
id SERIAL,
sale_date DATE,
amount NUMERIC
) PARTITION BY RANGE (sale_date);
CREATE TABLE sales_2023 PARTITION OF sales
FOR VALUES FROM ('2023-01-01') TO ('2024-01-01');
```
**Преимущества:**
- Ускорение запросов (сканируется только нужная партиция).
- Упрощение управления (архивация, удаление старых данных).
- Распределение нагрузки на диски.
**Недостатки:**
- Усложнение схемы БД.
- Ограничения на JOIN между партициями.