Настройка партиционирования данных

Содержание раздела

Чтобы настроить партиционирование данных:

  1. Создайте партиционированную таблицу, выполнив CREATE TABLE с ключевым словом PARTITION BY.
  2. Создайте необходимое число партиций таблицы, выполнив для каждой партиции CREATE TABLE с ключевыми словами PARTITION OF и FOR VALUES FROM ... TO.
  3. (Опционально) Повторите шаги 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');

... -- создание партиций для других месяцев