Что такое партиционирование
Python
Senior
Без компании
Что такое партиционирование
Ответы
Партиционирование — это разделение таблицы или индекса на логические части (партиции) для улучшения производительности и управления данными. Партиции хранятся отдельно, но обрабатываются как единое целое.
**Преимущества:**
- Ускорение запросов (сканируются только нужные партиции)
- Упрощение управления (удаление/архивация старых данных)
- Распределение нагрузки (разные партиции на разных дисках)
**Пример в PostgreSQL:**
```
CREATE TABLE sales (
id SERIAL,
sale_date DATE,
amount DECIMAL
) PARTITION BY RANGE (sale_date);
-- Создание партиций по годам
CREATE TABLE sales_2023 PARTITION OF sales
FOR VALUES FROM ('2023-01-01') TO ('2024-01-01');
```
В Python с pandas:
```
df = pd.read_csv('large_dataset.csv')
partitioned = df.groupby(pd.to_datetime(df['date']).dt.year)
for year, group in partitioned:
group.to_csv(f'data_{year}.csv')
```
**Типы партиционирования:**
- По диапазону (range)
- По списку (list)
- По хешу (hash)
- По времени (time-based)