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

На просторах интернета (в первую очередь на различных форумах) уже давно периодически появляются вопросы о том, как подключиться напрямую из мобильного приложения к серверу баз данных.

В этой статье мы покажем, что подобный способ взаимодействия между сервером баз данных и мобильным клиентом на самом деле очень плохая затея.

Почему именно так? Этому есть, как минимум, 3 причины:

  • Драйвера для подключения.
    Большинство СУБД не имеют драйверов для «мобильных» операционных систем. Конечно, вы можете использовать JDBC драйвера, если пишете на Java или Kotlin под тот же Android. Но, и в этом случае не всё так просто как хотелось бы.
    Если для вашей платформы и вашего технологического стека не предусмотрены необходимые библиотеки, то данную затею не имеет смысла даже обсуждать (вследствие отсутствия технической возможности);
  • Безопасность.
    Прямое подключение к серверу баз данных требует наличия прямого доступа к нему. Это создаёт угрозу для информационной безопасности даже в изолированном сегменте сети. Что говорить, если вы планируете таким образом передавать данные через интернет?..
  • Сильная связность в архитектуре программного комплекса.
    Работая напрямую с базой данных, вы скорее всего будете использовать SQL запросы, которые неотделимы о структуры её таблиц или парсинг документа (применительно к MongoDB и аналогам).
    Если структура таблиц или документа изменится, вам неизбежно придётся дорабатывать слой доступа к данным. В новой версии СУБД появились несовместимые изменения с предыдущим диалектом SQL (сейчас такое если бывает, то редко, но всё же), что-то изменилось в интерфейсной библиотеке и т.д. – результат тот же.
    А, если бы у вас было какое-нибудь API в качестве посредника, то вы были бы избавлены от всех подобных напастей, т.к. API (если оно грамотно спроектировано) абстрагирует логику клиента от внутреннего устройства серверной части.

Что такое nosql базы данных читайте в дополнительном материале

В принципе вышеперечисленного достаточно для того, чтобы понять, что прямое подключение к базе данных на сервере из мобильного приложения, это практически 100% гарантированные проблемы и так делать не надо. Надеюсь, что вы сделаете правильные выводы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *