Настройка партиционирования данных
Содержание раздела
Чтобы настроить партиционирование данных:
- Создайте партиционированную таблицу, выполнив CREATE TABLE с ключевым словом
PARTITION BY
. - Создайте необходимое число партиций таблицы, выполнив для каждой партиции CREATE TABLE с ключевыми словами
PARTITION OF
иFOR VALUES FROM ... TO
. - (Опционально) Повторите шаги 1-2 для остальных таблиц, которые нужно партиционировать.
Партиционирование таблицы доступно только при ее создании.
Партиционированная таблица и ее партиции должны принадлежать одной логической БД, а их структура должна полностью совпадать.
Ниже показаны примеры запросов, позволяющих настроить партиционирование для одной таблицы с несколькими партициями:
-- создание партиционированной таблицы
-- для партиционирования данных по дате и времени платежной транзакции
CREATE TABLE marketing.sales_partitioned (
id BIGINT NOT NULL,
transaction_date TIMESTAMP NOT NULL,
product_code VARCHAR(256),
product_units BIGINT,
store_id BIGINT,
description VARCHAR(256),
PRIMARY KEY (id, transaction_date)
)
DATASOURCE_TYPE ('adp_main')
PARTITION BY (transaction_date);
-- создание партиции для записей о транзакциях за январь 2023 года
CREATE TABLE marketing.sales_jan_2023
PARTITION OF marketing.sales_partitioned
DATASOURCE_TYPE ('adp1')
FOR VALUES FROM ('2023-01-01 00:00:00') TO ('2023-01-31 23:59:59');
-- создение партиции для записей о транзакциях за февраль 2023 года
CREATE TABLE marketing.sales_feb_2023
PARTITION OF marketing.sales_partitioned
DATASOURCE_TYPE ('adp2')
FOR VALUES FROM ('2023-02-01 00:00:00') TO ('2023-02-28 23:59:59');
... -- создание партиций для других месяцев