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

Привет! У меня есть сущность в программе (импортёр). Клиент может выбирать

из набора импортёра конкретные типы, которые забирают данные из разных endpoint-ов.
Я добавляю ETL в этот процесс и пишу данные в промежуточную БД, которую буду потом трансформировать, как мне буде удобно.

Мне нужно знать, какие таблицы в БД к каким импортёрам относятся. Как лучше построить эту связь?

16 ответов

32 просмотра

А обязательно таблицы?

Sven-d Автор вопроса
Gleb Fault
А обязательно таблицы?

Уточните вопрос, пожалуйста

Sven d
Уточните вопрос, пожалуйста

> Мне нужно знать, какие таблицы в БД к каким импортёрам относятся Вы хотите именно в таблицах хранить сущности или это не принципиально?

А в чем вопрос? Как лучше - хз, в условиях нет инфы что бы оценить

Sven-d Автор вопроса
Sergey P
А в чем вопрос? Как лучше - хз, в условиях нет инф...

вообще БД для ETL это тупо временная карманная база на sqlite. Ми забираем данные из datasource-ов (их может быть несколько), трансформируем в тот формат, которые будет удобен нашей системе и потом сливаем все данные в основную систему. Для бизнес логики нужно отображать клиенту инфу, про то, какие таблицы находятся в импортёре. Я пока что не знаю, где лучше эту инфу держать, как формировать эти связи и ТД.

Sven-d Автор вопроса

А почему не на лету создавать таблицы, которые содержат имя импортера или ид импортера? endpoint_1_{import_name} и т.д Соответственно если импортер состоит из разного количества эндпоинтов создать и каждый эндпоинт имеет разные данные, то по имени можно спокойно найти к какому эндпоинту отнести таблицу и какому импортеру и после обработки, просто грохнуть временную таблицу.

Sven-d Автор вопроса
Nikolay Turskyi
А почему не на лету создавать таблицы, которые сод...

Окей, был такой вариант Но есть вероятность, что таблицы могут быть персистентными (например, при повторном импорте будем забирать часть данных от конкретной даты)

Sven d
Окей, был такой вариант Но есть вероятность, что т...

Ну тогда относительно различных эндпоинтов, применяйте разные стратегии. Если не нужно рубить/удалять, то кладите в одну таблицу для эндпоинта и добавляйте ссылку на импортера. После обработки данных, к примеру, можно оставлять условно последнюю запись для загрузки в дальнейшем только от определенной даты. Вам нужно определиться с эндпоинтами, как вы в них ходите, где что "дешевле" по получению данных, что можно не кешировать, где эндпоинты залить себе, потому как для всех импортёров будут одни и те же данные и т.д.

Sven-d Автор вопроса
Sven d
screenshot

может вам пересмотреть модель и сделать как в прометее? т е самим ходить за данными из aggregation mechanism в каждый дата сорс

Sven-d Автор вопроса
Artur
может вам пересмотреть модель и сделать как в пром...

Не выйдет, к сожалению - механизм агрегации базируется полностью на sql. Интерфейсы получения из datasource могут быть разными (БД, файл, API)

А как это у вас механизм агрегации на SQL, а датасорс по API? Вы условный json ложите в реляционку в raw формате?

Sven-d Автор вопроса
Max Grom
А как это у вас механизм агрегации на SQL, а датас...

Если коротко, то да: почти все API возвращают нам плоскую структуру (некоторые в формате json, некоторые xml)

Sven d
Если коротко, то да: почти все API возвращают нам ...

Как тогда это противоречит идее выше где предлагается ходить самому? Общение по API у вас, судя по всему, уже есть, и судя по всему вы же и собираете эти данные

Sven-d Автор вопроса
Max Grom
Как тогда это противоречит идее выше где предлагае...

Тогда я, скорее всего, неправильно понял идею

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

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

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