Где лучше хранить историю действий в базе данных или в файлах?
в базу данных конечно. иначе почему вы не пользуетесь теми же файлами вместо базы просто для данных?
Логировать действия в файл 
Версионировать данные в БД