Подтвердить что ты не робот

Конфигурация в файле или базе данных?

Я не спрашиваю, должен ли я использовать RDBMS или конфигурационные файлы для 100% конфигурации моего приложения, а скорее, какую конфигурацию лучше всего решать каждым методом.

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

(В основном я занимаюсь веб-приложениями с множеством пользователей, но не с конкретной платформой.)

4b9b3361

Ответ 1

Я обнаружил, что во время разработки очень полезно иметь конфигурацию, хранящуюся в файле.

Намного легче проверить файл (web.config, app.config или какой-то пользовательский файл) и внести изменения, которые мгновенно подхватываются при запуске кода. В работе с конфигурацией, хранящейся в базе данных, есть немного больше трений. Если ваша команда использует единую базу данных разработки, вы можете легко повлиять на других членов команды с вашими изменениями, и если у вас есть отдельные базы данных, она требует больше, чем "получить последнюю", чтобы работать и работать с последней конфигурацией. Кроме того, гибкость XML делает более естественным сохранение конфигурации, которая больше, чем пары "имя-значение" в файле, чем в реляционной БД.

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

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

Ответ 2

Одна вещь, которую следует учитывать, - это то, сколько данных конфигурации есть, и, возможно, как часто это может измениться. Если количество данных невелико, то сохранение этого в базе данных (если вы еще не используете db для чего-либо еще), будет излишним, в то же время поддерживая db для чего-то, что меняется один раз каждые 6 месяцев, вероятно, будет пустой тратой ресурсы.

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

Ответ 3

Общий принцип - тем более вероятно, что данные конфигурации должны измениться, чтобы лучше вставить его в db