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

Привет. Таблица mergeTree и десять полей. Нужно вставлять только уникальные

записи для всей таблицы. Проверка уникальности по двум полям. Инсерты идут по 10 млн записей. Есть решения из коробки? Или какое-то оптимальное решие для кликхауса имеется?

6 ответов

34 просмотра

https://clickhouse.com/docs/en/engines/table-engines/mergetree-family/replacingmergetree/ Учитывайте, что дедупликация будет работать в бэкграунде, то есть в момент времени после инсерта в данных могут быть дубликаты

Zhukov Dm- Автор вопроса
Nara
https://clickhouse.com/docs/en/engines/table-engin...

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

Zhukov Dm
Спасибо,это решение не подходит, т.к. не могу у из...

Оптимальное решение для clickhouse предполагает именно это - вдумчивое определение движка и order by под вашу задачу. Проверять в полете 10М строк на присутствие в миллиардной таблице без хорошего индекса - так себе решение. Если у вас вставка раз в сутки - можете попробовать skip index, может быть на ваших данных он чем-то поможет, но скорее нет. Лучше переделать таблицу.

В кх вообще нет уникальности, никаких констрейнтов

проверять уникальность в момент вставки дорого. может на выборке лучше подшаманить? в клике для этого все имеется. а так, выше уже самые нормальные варианты разобрали)

Anton Mikhalev
проверять уникальность в момент вставки дорого. мо...

https://altinity.com/blog/2020/4/14/handling-real-time-updates-in-clickhouse это как доп материал к этому варианту. есть вероятность что argMin, argMax, any, max вам подойдут не меняя структуру

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта