Я бы всегда пошел с базой данных. В базе данных вы можете создавать пользовательские отчеты о посещениях пользователей, используя возможности SQL (или другого языка запросов). При использовании плоской файловой системы вам нужно будет создать собственное решение для создания отчетов с обратной связью, эффективно создавая собственную базу данных и систему запросов.
Скажем, например, что вы использовали базу данных (mysql, sql server, oracle, sqlite) и для каждого посещения вы записывали временную метку с идентификатором модуля, например,
timestamp,module_id
2010-01-04 10:00:00,1
2010-02-06 10:27:30,2
.
.
.
2011-04-15 18:22:00,5
Вы сможете сообщить об общем количестве посещений для всех модулей, а также написать запрос, чтобы найти все посещения в период с января 2010 г. по март 2010 г. для модуля 2.
Использование базы данных также более благоприятно для будущего, если это живой проект, всегда есть шанс, что вы захотите получить больше статистики об использовании вашего приложения, например. географическое местоположение пользователя. Изменить базу данных для ее хранения очень просто, вы просто измените таблицу, добавив в нее новую строку, и установите для значения по умолчанию значение «Неизвестно» для всех существующих записей, в которых эта функциональность не была создана. Затем вы можете написать новые отчётные запросы, чтобы предоставить вам новую информацию.
Таким образом, в общем, база данных значительно превосходит. Единственный недостаток, который я вижу, заключается в том, что он немного более ресурсоемкий для небольшого проекта, который не будет расширяться в области отчетности, но с учетом сегодняшнего среднего компьютера это действительно не проблема!