Что такое партиционирование

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)