184 похожих чатов

Есть ли возможность принудительно разбить партишн на более мелкие? условно

есть партишн, в нем насобиралось 50кк записей, все помержилось в один большой партишн, но есть желание побить по 1кк записей

16 ответов

24 просмотра

Предположительно, просто перелить в другую таблицу

Nick- Автор вопроса
Alexander
Предположительно, просто перелить в другую таблицу

надо под той же табличкой, варианты переналить выставив опцию с макс размером партишна не подходят, уже скомпакчено может быть

Нету операции unmerge

Nick- Автор вопроса
Denny [Altinity]
Нету операции unmerge

ожидаемо, ну чтож. А как насчет атомарной операции отключить один партишн и вместо него подсунуть другой? Или околоатомарной хотя бы

А что не переналить просто?

Nick- Автор вопроса
Sergey Platonov
А что не переналить просто?

вот как раз чтоб не перегадить))) а вообще надо минимизировать время недоступности данных при решарде

Nick- Автор вопроса
Konstantin Ilchenko
insert into tmp table replace partition from tmp t...

да да, но тут надо наоборот, для решарда данных. из локальной временной в дистриб избегая дублей

Nick
да да, но тут надо наоборот, для решарда данных. и...

не совсем понял, у вас есть шардированная рандомно, надо перелить в шардированную по ключу?

Nick- Автор вопроса
Konstantin Ilchenko
не совсем понял, у вас есть шардированная рандомно...

да, добавили новый шард, надо отбалансить. Хочется минимизировать время когда данные недоступны изза цикла перекинуть под временную + переналить инсерт-селектом

Nick
да, добавили новый шард, надо отбалансить. Хочется...

ну должно же работать с replace create table tmp on cluster create table tmp_distributed on cluster for partition in partitions insert into tmp_distributed settings insert_distributed_sync=1 system sync replica tmp on cluster - если replicated alter table main on cluster replace partition from tmp end replace поидее на симлинках работает, данные будут доступны без даунтайма, текущие запросы должны читать из старых партов, новые запросы будут читать из новых

Sergey Platonov
Exchange

это если таблицу целиком

Nick- Автор вопроса
Konstantin Ilchenko
ну должно же работать с replace create table tmp ...

спасибо, хороший вариант, пока вижу что запись в дистриб нужно будет останавливать, а остальное удобнее чем напридумал

Nick- Автор вопроса
Denny [Altinity]
replace partition ?

да оно ближе всего, уже подсказали выше

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта