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

Тэк.. наверно я не понимаю шардинг.. я думал, машины локально

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

13 ответов

16 просмотров
Philipp-Saveliev Автор вопроса

как мап-редус, типа

это если у вас запрос select sum() from table;

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

а если что то посложнее, то это не так. многоуровневые запросы после 0 уровня работают на инициаторе, темп таблицы если есть копируются на все шарды. ещё есть всякие GLOBAL JOIN (если шардирование не совпадает)... и много вариантов.

Philipp Saveliev
как мап-редус, типа

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

Philipp-Saveliev Автор вопроса
【D】【J】
это если у вас запрос select sum() from table;

запрос, допустим, такой: SELECT some_name, count(distinct(uuid)) FROM qwe WHERE ev_time >= '2021-09-01 00:00:00' AND ev_time < '2021-10-01 00:00:00' AND domain = 'exmaple.com' GROUP BY some_name

Philipp Saveliev
запрос, допустим, такой: SELECT some_name, count(d...

не надо вам count(distinct(uuid)), откройте для себя приблизительные вычисления уже. это же надо все uuid передать на инициатор, без группировки, вы тупо в сеть упретесь

Philipp Saveliev
запрос, допустим, такой: SELECT some_name, count(d...

с этим проблем не особо, но state count(distinct(uuid)) будет ехать с шардов на сервер. и он будет дальше аггрегироваться там. если точность не важна можно использовать неточный uniq*

Philipp Saveliev
запрос, допустим, такой: SELECT some_name, count(d...

если точность важна и уникальных много - то метла не взлетит...

【D】【J】
если точность важна и уникальных много - то метла ...

да никому не нужна такая точность, это бред в бигдате

Denny [Altinity]
да никому не нужна такая точность, это бред в бигд...

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

Philipp Saveliev
запрос, допустим, такой: SELECT some_name, count(d...

собственно в вашем случае поэтому именно важно шардить правильно, например по uuid и тогда вообще можно сложить результаты с шардов. optimize_distributed_group_by_sharding_key

【D】【J】
собственно в вашем случае поэтому именно важно шар...

да все так + еще есть более дубовый --distributed_group_by_no_merge arg If 1, Do not merge aggregation states from different servers for distributed queries (shards will process query up to the Complete stage, initiator just proxies the data from the shards).

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
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
Карта сайта