с разным партиционированием? Храним данные с дневным партиционированием, так как данные постоянно меняются за последнюю неделю и мы через replace partittion обновляем данные. Планируем добавить таблицу с месячным партиционированием и объединить через Merge таблицу, для того чтобы уменьшить число партов.
Пока в голову приходит только такой вариант, будет небольшой промежуток времени без данных за месяц, может можно оптимальнее?
INSERT INTO monthly_tmp
DROP PARTITIONS daily 01..31
REPLACE PARTITION monthly FROM monthly_tmp
Атомарно нельзя, но тикетов есть куча на разное гибридное партиционирование
но их не будут делать, я спрашивал в issue Roadmap 2022
Обязательно бахнем, весь мир в труху, но потом )
ждёмс пока) может что-то интересное в облаке выкатят)
Атомарнее лучше так: Insert into monthlytmp Detach partition from monthlytmp Drop partition 01 Attach to monthly При одинаковых схемах monthly / monthlytmp должно быть ок, и переливать можно каждый день
monthlytmp c дневным партиционированием имеется ввиду? нормально будет аттачить к месячной таблице?
Нет. Monthlytmp месячный. Туда вставка из дневной идет.
а чем тогда detach/attach лучше чем replace?
Имеет смысл только если данных много ессно
партицию размером 133.98 GiB за 0.5 сек replace делает
если на разных дисках - то нет. тут больше вопрос хотите ли вы переливать по дням или вас устраивает капитальный перелив раз в месяц. если второе, сколько времени вам ок на это выделить (сам replace то быстр, но insert-select нет). итд, итп.
Ну это понятно, но в теории 1 раз жирный инсерт сделать ночью и 1 жирный мерж потратит меньше цпу чем 30 мержей
не будет одного жирного мерджа, будут много на каждый Н-ый инсерт
Обсуждают сегодня