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

Привет. Предположим, есть таблица, партицированная по месяцам. Она раскидана по 2м шардам(серверам)

с одной репликой.
Есть ли способ добавить третий шард(сервер) так, чтоб новый месяц распределялся уже по 3м шардам, а предыдущие и текуший месяцы остались на 2х?

Я почитал доку, погуглил, посмотрел доклады, но не нашел упоминания об этом.

6 ответов

13 просмотров

так и будет. старые данные не ребалансируются, новые будут , при условии вставки в дистрибютед таблицу

Mikhail-Kuzmin Автор вопроса
Mikhail Kuzmin
о, круто! а это где-то описано?

https://clickhouse.tech/docs/ru/engines/table-engines/special/distributed/

Mikhail-Kuzmin Автор вопроса
【D】【J】
https://clickhouse.tech/docs/ru/engines/table-engi...

> При добавлении нового шарда, можно не переносить на него старые данные, а записывать новые данные с большим весом - данные будут распределены слегка неравномерно, но запросы будут работать корректно и достаточно эффективно. тут речь про "Куски" или "Партиции"? Т.е. даже если таблица не партицированна, то данные будут писаться в том числе и на новый шард? И если обращаься к старым данным, то запрос пойдет в 3 сервера, просто один ничего не вернет, так?

Mikhail Kuzmin
> При добавлении нового шарда, можно не переносить...

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

Mikhail Kuzmin
> При добавлении нового шарда, можно не переносить...

> тут речь про "Куски" или "Партиции"? куски > Т.е. даже если таблица не партицированна, то данные будут писаться в том числе и на новый шард? да > И если обращаься к старым данным, то запрос пойдет в 3 сервера, просто один ничего не вернет, так? да (был ФР для пропуска шардов где нет данных, но это для перфоманса/эффективности)

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

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

а через 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
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта