Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Должны ли клиенты иметь прямой доступ к базе данных?

Автор вопроса: SamОтветов: 1

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

Основываясь на своих знаниях, я бы сказал, что это очень плохая практика, и у вас должно быть серверное приложение, которое обрабатывает всех клиентов и действует как центральный блок для извлечения данных - это правильно?

Создавались ли когда-либо системы бизнес-информации без серверного приложения для обслуживания клиентов?

databaseclientclient-serverinformation-retrievalserver-application

Ответы

Ответ 1 · рейтинг 3 · Chet

Зависит от того, что подразумевается под "клиентскими приложениями". Внутренние клиентские приложения в бизнесе часто могут хорошо работать, взаимодействуя непосредственно с центральной базой данных. Конечно, обязательно заставьте их использовать учетные данные только для чтения, если им явно не нужно писать.

Внешнее клиентское приложение, пожалуй, другой вопрос. Если вы распространяете, скажем, приложение для iPhone, я бы определенно написал сервер API для переноса общих запросов.

Дополнительный уровень абстракции обычно полезен не только для обеспечения безопасности, но и для масштабируемости. Что если вдруг у вас будет на порядки больше клиентских запросов? Гораздо проще добавить кэширование или другие улучшения производительности в службу API, чем обновлять каждый клиент. Гораздо лучше построить архитектуру, которую можно изменить, чем привязываться к прямой реализации.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы