Страницы

Поиск по вопросам

четверг, 14 февраля 2019 г.

Минусы хранения статей в файлах, а не в базе данных

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


Ответ

Резервная копия. Придётся файлы копировать отдельно от базы. Если в это время происходят транзакции, то файлы могут оказаться немного не синхронизированными с базой. Индексация. Многие базы поддерживают полнотекстовый поиск и соответствующие индексы. По своим полям они точно ищут и индексируют, а вот внешние файлы - кто знает? Хотя конечно можно сделать поля специально для хранения индекса (грубо говоря из текста извлечь ключевые слова и поместить в это поле). Переключение с одной методы получения/записи данных на другую. Это просто неудобство. В некоторых случаях оно так и так будет (если пользоваться не привычным SELECT/INSERT, а каким-то более эффективным на больших данных поточным интерфейсом базы данных)
В любом случае приходится предпринимать дополнительные усилия по синхронизации записей в БД и внешних файлов. Где это действительно важно, требуется задействовать базы данных и файловые системы с поддержкой распределённых транзакций, координировать транзакции бд и фс.

Комментариев нет:

Отправить комментарий