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

Всем привет! Есть парсер, который парсит данные и нужно их класть

в БД. Есть два решения как это делать:

1) Создать в БД юзера и ограничить его по правам к двум таблицам, и из парсера напрямую грузить данные в БД
2) Создавать на бэкенде эндпойнты для загрузки данных в БД, и уже из парсера обращаться к бэку, а тот будет грузить эти данные в БД

Какое из решений лучше ? У кого как реализовано на проекте ? Мб еще какое-то решение лучшее есть

7 ответов

26 просмотров
𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤- Автор вопроса

Спросил у ChatGPT и тот расписал мне такой текст: ————————————————— Оба подхода имеют свои преимущества и недостатки, и выбор между ними зависит от требований вашего проекта. Рассмотрим оба варианта: Создать в БД пользователя с ограниченными правами. Преимущества: Обычно это быстрее, поскольку не требует обращения к бэкенду. Это может быть проще в реализации, если у вас уже есть код для работы с базой данных. Недостатки: Может создать потенциальные проблемы с безопасностью, если учетные данные пользователя утекут. Этот пользователь сможет взаимодействовать с базой данных без какого-либо контроля со стороны вашего приложения, что может привести к неожиданным результатам. Сделать на бэкенде endpoint. Преимущества: Предоставляет больше контроля над тем, какие данные могут быть записаны в базу данных. Упрощает изменение логики записи в базу данных, поскольку она централизована на бэкенде. Позволяет включать дополнительную логику обработки данных на бэкенде, такую как валидация, преобразование данных и т.д. Недостатки: Возможно, будет медленнее из-за дополнительного уровня между клиентом и базой данных. Требует дополнительного кода на бэкенде для обработки запросов. В зависимости от ваших нужд в контроле данных, скорости и сложности реализации, вы можете выбрать подходящий вариант. Оба варианта рабочие, но второй подход обычно предпочтительнее, поскольку он предоставляет больше контроля и гибкости.

Юзера для приложения в любом случае надо создавать, хотя бы чтобы приложение случайно не снесло все таблицы по твоей ошибке (в популярных ORM такой рефреш делается за один вызов функции)

Какая СУБД, какой объём и частота появления данных?

𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤- Автор вопроса
Алексей Попов
Какая СУБД, какой объём и частота появления данных...

На данный момент MySQL, но в будущем наверное будет PostgreSQL

𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤- Автор вопроса
Feanorx
Юзера для приложения в любом случае надо создавать...

Кстати, да, вы правы, юзера так и так придется создавать. Но тогда остается вопрос, писать ли через бэкенд ендпойнты и так в будущем и придерживаться такой практики, или же все-таки из каких-то микросервисов напрямую писать в БД через этих же юзеров ?

𝔻𝕚ℤ𝕚ℕ𝕟𝔼𝕤
Кстати, да, вы правы, юзера так и так придется соз...

Если база полноценная типа postgresql, я бы подключался к ней из парсера. Если sqlite (или поддержка такой базы нужна, например, для тестов), так не получится сделать.

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

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

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

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