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

Привет! Вопрос по шардам - мы живем на репликах, сейчас

переезжаем на шарды и у нас есть несколько мест где мы в ReplacingMergeTree обновляем данные (insert строки с большим значением в версии) - есть ли какой-то механизм таких “апдейтов” на шарде (вставлять в дистрибутед таблицу) при условии что изначально в шарды пишется рандомом (мы не знаем на каком шарде данные). При выборке из distributed таблицы строки с более актуальными версиями будут ли правильно мержится?

9 ответов

29 просмотров

Прочитайте, что тако Distibuted таблица и скорей всего все ваши запросы уйдут.

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

rasstroen- Автор вопроса
Константин
Прочитайте, что тако Distibuted таблица и скорей в...

For example, for a query with GROUP BY, data will be aggregated on remote servers, and the intermediate states of aggregate functions will be sent to the requestor server. Then data will be further aggregated.

rasstroen
For example, for a query with GROUP BY, data will ...

Ну по факту, дистрибьютед таблица кидает запрос на все шарды, а какие там данные, она не знает

подбирайте детерминированный ключ шардирования, обычно cityHas64(uuid column) может быть хорошим вариантом или что-то из доменной области

rasstroen- Автор вопроса
Konstantin Ilchenko
подбирайте детерминированный ключ шардирования, об...

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

rasstroen
спс попробую, не хотелось ключ шардирования вообще...

“хотели не писать в упавший шард” для этого обычно ещё репликацию делают а вот решардинг пока больно)

rasstroen- Автор вопроса
Konstantin Ilchenko
“хотели не писать в упавший шард” для этого обычно...

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

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

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

а через 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
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
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
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта