@dariasweetsun

Нужно ли отдельно писать сервер для взаимодействия с БД?

Сразу извиняюсь за корявую формулировку вопроса, совсем зелёная ещё.

У меня стоит задача написать приложение (не web), в котором клиенты могли бы обмениваться сообщениями и просматривать файлы которые выложил администратор (тоже клиент, но как особый тип пользователя). Также нужно чтобы каждый клиент имел свой профиль, который он может редактировать.

Собственно главный вопрос: как организовать всё это дело с использованием базы данных?

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

Если второй вариант возможен, то могу ли я разместить базу данных на обычном домашнем ПК с учётом того, что может быть ~1000 клиентов, или же лучше размещать БД на какой-то платный хостинг?

Направьте в нужное русло пожалуйста, а то совсем запуталась. Спасибо.
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ответы на вопрос 3
Adamos
@Adamos
Хостинг: шаред или дешевый VPS, на котором вы разместите свою БД.
Там же - API на чем угодно (PHP, JS, Python), с авторизацией и разрешением конфликтов (а скорее - устранением их причины).
И все остальное, что вам нужно сделать из приложения, покроет libCurl.
Ответ написан
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Имеет место быть несколько подходов.

1. Вынос через сервис (rest, grpc, soap и прочее) (плюсы уменьшение площади атаки до вашего сервиса)
2. Вынос подключения к бд тоже имеет место быть, все нормально с использованием нормальной базы postgree , mysql, mssql, oracle, db2
3. Просто вставка в ваше приложение веб вью
Ответ написан
veydlin
@veydlin
Мне никогда не жалко средств на свое любопытство
Если хочешь меньше делать своего и просто взять за основу какой-то проект то поищи на гитхабе проекты велосипедных месенджеров и расширь их функционал

Только вот разобраться в чужом коде может быть сложней чем написать свое
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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