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

Всем привет) Нужен совет по следующему вопросу. Есть сущности, у

которых 2 id, один внешний, другой внутренний. Сама сущность хранится в postgresql, в кликхаусе держим опредленные метрики для сущностей. В кликхаус данные поступают через кафку с внешним ID, а записать в таблицу нужно с внутренним. Сейчас использую в матвьюхе inner join с postgres таблицей через коннектор clickhouse. Есть так же идея, чтобы избежать join в mv подключить словарь с источником postgres. Но для того, чтобы не потерять метрики, необходимо будет выставить минимальный период обновления - 1с. Сущностей порядка 3-4кк. У меня нет уверенности, что подход со словарем будет лучше. Может кто немного помочь разобраться с этим вопросом? Какой подход будет более правильным, или вообще оба из этих подходов не жизнеспособны?

7 ответов

14 просмотров

в кафку положить нужные данные не вариант вообще?

Алексей- Автор вопроса
Artur Eshenbrener
в кафку положить нужные данные не вариант вообще?

Эх, если бы так легко было. Возможность есть, конечно, но из разряда нежелательно, за сбор статистики отвечает отдельный сервис, у которого как раз есть информация только о внешнем ID

Алексей 
Эх, если бы так легко было. Возможность есть, коне...

и почему он внутренний ID не может получить?

можно словарь layout(cache(...)) сделать https://clickhouse.com/docs/en/sql-reference/dictionaries#cache и source(postgresql(...)) пожирнее чтобы за раз больше элементов кешировал... если словарь небольшой то обновления будут подтягиваться с каждым cache miss но это будет работать только если соотношение внутренний id -> внешний ID не меняются со временем

Алексей- Автор вопроса
Slach [altinity]
и почему он внутренний ID не может получить?

Может, я пытаюсь найти более просто путь решения. Сервис крутится в кластере temporal, имеет полностью асинхронную модель взаимодействия, чтобы ему это сделать, ему нужно положить ивент в очередь, сервис, отвечающий за взаимодействие с другими сервисами должен обработать этот ивент и вернуть ему. За счет асинхронности время такого запроса недетерминировано, чего тоже хотелось бы избежать. Я, конечно, сейчас более детально прорабатываю этот вопрос, но попытки хотелось бы этого избежать.

Алексей- Автор вопроса
Slach [altinity]
можно словарь layout(cache(...)) сделать https://c...

Вот это звучит хорошо, спасибо большое)

Алексей- Автор вопроса

Вот сабж

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

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

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта