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

Коллеги, всем привет. У нас есть задача - подливать

в кликхаус инкрементально измерения SCD Type 1 из Postgresql. Мы уже активно используем словари, но появились таблицы побольше и хотим их в коллапсингмерж, решаем как доставлять попроще. Объем - миллионы строк в день. Выбираем между напилить свое решение на триггерах или дозаморочиться с настройкой дебезиум-кафка-КХ. Мб есть какие то другие/готовые велосипеды чтоб поменьше телодвижений?

15 ответов

17 просмотров

а чем словари не подходят на большие таблицы? память? просто учитывая их встроенные рефреш удобней вряд ли будет

Max-Vikharev Автор вопроса
【D】【J】
а чем словари не подходят на большие таблицы? памя...

О, привет из чата гринплама)) 1. Сотни ГБ синкать долго 2. Словари не сжимаются, память кончается

Max Vikharev
О, привет из чата гринплама)) 1. Сотни ГБ синкать...

аха, салют №2. cache SSD подойдет имхо в самый раз >1. Сотни ГБ синкать долго нужно ли синкать моментально?

Max-Vikharev Автор вопроса
【D】【J】
аха, салют №2. cache SSD подойдет имхо в самый раз...

Ага, есть требование в задержке обновлений измерений порядка минут Ну и вообще как то стремно постоянно пересинкивать всю таблицу. постгрес сам по себе не шибко быстро такие объемы отдает,

Max Vikharev
Ага, есть требование в задержке обновлений измерен...

ну, update_field т.е. в ПГ таблице иметь что то типа LAST_UPDATED, и будут вам инкрементально обновления данных подвозится

Max Vikharev
Ага, есть требование в задержке обновлений измерен...

если и это никак - то уже как-то доп логику делать типа триггер в ПГ/вал/писать источником в два места/ писать в кафку и оттуда в два места... вот это все

а ещё можете подождать 2-3 месяца походу ) будет репликация встроенная их ПГ... https://youtu.be/BhvxV3ZLIhk?t=4283

Max-Vikharev Автор вопроса
【D】【J】
ну, update_field т.е. в ПГ таблице иметь что то ти...

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

Max Vikharev
Привет. Начали тестить и поняли что такой способ а...

update_field не документирован, забили докумантировать. Partial update словарей работают с марта 2018.

Max-Vikharev Автор вопроса
【D】【J】
ну, update_field т.е. в ПГ таблице иметь что то ти...

Смотрите, в итоге история такая: 1. Нам нужно подгружать измерения SCD в кликхаус. Размером сотни ГБ 2. Вы посоветовали словарь с движком ssd_cache, 3. мы увидели проблему в том что словари по доке не уме/т подкачивать инкрементально обновления (по строкам) 4. Вы написали что есть недокументированная фича update_field 5. В итоге мой коллега Николая подрубился сюда в чат и мы выяснили что update_field для ssd_cache не работает в приницпе. В итоге получается что словарь не подходит как способ из коробки подтягивать SCD в КХ инкрементально, Правильно мы понимаем?

Max Vikharev
Смотрите, в итоге история такая: 1. Нам нужно подг...

#5 неверный вывод вообще. Я просто сказал сначала проверить инкрементальные обновления на hashed/sparse_hashed словаре (можно ограничить строки саб-сетом). а потом уже разобраться с ССД кешем.

Max Vikharev
Смотрите, в итоге история такая: 1. Нам нужно подг...

хотя если сам Денни сказал то наверно так оно и есть. придется велосипедить либо фича-рекуэст (

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно 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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта