в кликхаус инкрементально измерения SCD Type 1 из Postgresql. Мы уже активно используем словари, но появились таблицы побольше и хотим их в коллапсингмерж, решаем как доставлять попроще. Объем - миллионы строк в день. Выбираем между напилить свое решение на триггерах или дозаморочиться с настройкой дебезиум-кафка-КХ. Мб есть какие то другие/готовые велосипеды чтоб поменьше телодвижений?
а чем словари не подходят на большие таблицы? память? просто учитывая их встроенные рефреш удобней вряд ли будет
О, привет из чата гринплама)) 1. Сотни ГБ синкать долго 2. Словари не сжимаются, память кончается
аха, салют №2. cache SSD подойдет имхо в самый раз >1. Сотни ГБ синкать долго нужно ли синкать моментально?
Ага, есть требование в задержке обновлений измерений порядка минут Ну и вообще как то стремно постоянно пересинкивать всю таблицу. постгрес сам по себе не шибко быстро такие объемы отдает,
ну, update_field т.е. в ПГ таблице иметь что то типа LAST_UPDATED, и будут вам инкрементально обновления данных подвозится
если и это никак - то уже как-то доп логику делать типа триггер в ПГ/вал/писать источником в два места/ писать в кафку и оттуда в два места... вот это все
а ещё можете подождать 2-3 месяца походу ) будет репликация встроенная их ПГ... https://youtu.be/BhvxV3ZLIhk?t=4283
Привет. Начали тестить и поняли что такой способ апдейтит только словарь целиком, инкрементальный апдейт же не поддерживается. Ту в любом случае придется гонять вс таблицу целиком. Те инкрменеталки строк поupdate_field нет. Или я что то непонимаю в доке?
update_field не документирован, забили докумантировать. Partial update словарей работают с марта 2018.
ДДЛ словаря киньте
Смотрите, в итоге история такая: 1. Нам нужно подгружать измерения SCD в кликхаус. Размером сотни ГБ 2. Вы посоветовали словарь с движком ssd_cache, 3. мы увидели проблему в том что словари по доке не уме/т подкачивать инкрементально обновления (по строкам) 4. Вы написали что есть недокументированная фича update_field 5. В итоге мой коллега Николая подрубился сюда в чат и мы выяснили что update_field для ssd_cache не работает в приницпе. В итоге получается что словарь не подходит как способ из коробки подтягивать SCD в КХ инкрементально, Правильно мы понимаем?
#5 неверный вывод вообще. Я просто сказал сначала проверить инкрементальные обновления на hashed/sparse_hashed словаре (можно ограничить строки саб-сетом). а потом уже разобраться с ССД кешем.
ну и тип UPDATED- int / epoch
хотя если сам Денни сказал то наверно так оно и есть. придется велосипедить либо фича-рекуэст (
Обсуждают сегодня