очень кратко, игнорируя пока различия между базами данных (базы данных могут быть чем угодно, от бегемотов oracle и mssql до суперлегкого mongodb, memcached и т. Д.)
Плюсы базы данных:
многопользовательский доступ: вы можете одновременно читать и писать разными пользователями.
контроль доступа пользователя: вы получаете дополнительный уровень безопасности, чтобы убедиться, что у вас есть контроль над тем, кто обращается к вашим данным (обычно, но не часто. В некоторых базах данных этого нет)
скорость: производительность баз данных при любом реалистичном размере данных операций абсолютно разрушает все остальное.
Минусы базы данных:
сложность. вам нужно приложить больше усилий, либо поговорив с базой данных, либо внедрив ORM (слой, который абстрагируется от мельчайших подробностей общения с вами)
дополнительный набор защитных отверстий для мониторинга и защиты.
Плюсы текстового файла:
- хранить данные легче, чем записывать в файл.
Минусы текстового файла:
супер небезопасно: если вы вообще ошиблись и не продумали все , это легко сделать.
у вас нулевая целостность данных (т. Е. Что происходит, когда необходимо выполнить несколько записей?). если вы не храните невероятно простую информацию (мы говорим о простом файле конфигурации), вы попадете в ситуации, когда вам придется изменить большую часть файла, возможно, даже регулярно переписывать все это , что медленно.
производительность: дисковый ввод-вывод стоит дорого. базы данных супероптимизированы, чтобы попытаться сохранить как можно больше полезных данных в памяти.
как найти то, что вам нужно? вам придется как-то структурировать свой файл, XML или JSON, и вы получите с этим затраты на обработку, особенно если ваши данные станут большими.
Я мог бы продолжить, но, если честно, если вы работаете с CMS, вам гораздо лучше иметь подходящую базу данных.
Обязательная сноска: не создавайте CMS. у нас достаточно того, что постоянно проверяется коллегами и является безопасным, расширяемым и супер. Создание собственного с нуля часто является просто рецептом для катастрофы.