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

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

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

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

16 ответов

25 просмотров

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

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
Как тогда это противоречит идее выше где предлагае...

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

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

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

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
как быть с принтером? такой подход прокатит?
zamtmn
12
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Я не понимаю, это троллинг или что? Швабрика поддерживают, который буквально пишет на ассемблере взаимодействия с винапи. Я это ещё написал загрузчик и хоть что-то изучаю в о...
Shadow Akira
6
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Карта сайта