Где сохранить данные конфигурации для пользовательской CMS? - PullRequest
0 голосов
/ 24 сентября 2010

Каковы преимущества хранения различных данных конфигурации сайта:

  1. в базе данных
  2. в файле
  3. в другом месте?

1 Ответ

0 голосов
/ 17 февраля 2011

очень кратко, игнорируя пока различия между базами данных (базы данных могут быть чем угодно, от бегемотов oracle и mssql до суперлегкого mongodb, memcached и т. Д.)

Плюсы базы данных:

  • многопользовательский доступ: вы можете одновременно читать и писать разными пользователями.

  • контроль доступа пользователя: вы получаете дополнительный уровень безопасности, чтобы убедиться, что у вас есть контроль над тем, кто обращается к вашим данным (обычно, но не часто. В некоторых базах данных этого нет)

  • скорость: производительность баз данных при любом реалистичном размере данных операций абсолютно разрушает все остальное.

Минусы базы данных:

  • сложность. вам нужно приложить больше усилий, либо поговорив с базой данных, либо внедрив ORM (слой, который абстрагируется от мельчайших подробностей общения с вами)

  • дополнительный набор защитных отверстий для мониторинга и защиты.

Плюсы текстового файла:

  • хранить данные легче, чем записывать в файл.

Минусы текстового файла:

  • супер небезопасно: если вы вообще ошиблись и не продумали все , это легко сделать.

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

  • производительность: дисковый ввод-вывод стоит дорого. базы данных супероптимизированы, чтобы попытаться сохранить как можно больше полезных данных в памяти.

  • как найти то, что вам нужно? вам придется как-то структурировать свой файл, XML или JSON, и вы получите с этим затраты на обработку, особенно если ваши данные станут большими.

Я мог бы продолжить, но, если честно, если вы работаете с CMS, вам гораздо лучше иметь подходящую базу данных.

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

...