Данные конфигурации в базе данных или в файле - PullRequest
1 голос
/ 04 октября 2011

Я уже нашел информацию об этом, но в более общем виде и сосредоточился на том, «если данные сильно изменятся ...». Я постараюсь быть здесь на один шаг более конкретным.

Я занимаюсь разработкой веб-приложения. Можно настроить, что должно быть представлено или нет. Например. В форме может быть несколько разных раскрывающихся списков, но необходимо настроить, какие раскрывающиеся списки должны быть представлены.

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

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

Ответы [ 3 ]

2 голосов
/ 04 октября 2011

Лучшая стратегия - инкапсуляция.

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

2 голосов
/ 04 октября 2011

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

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

0 голосов
/ 04 октября 2011

До тех пор, пока я не прочитал требование

the configuration itself should be performed with using a web application,

Я бы сказал, что простого файла или PHP-включения было бы достаточно, но с учетом этого требованияMySQL), я бы сказал, использовать базу данных.

Плюс, вы никогда не знаете, когда частота обновления конфигурации увеличится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...