Выгрузка отчётов: как лучше организовать хранение файлов?
А чем собственно данные в xls, csv & txt отличаются? Почему бы не генерировать по крону, например только csv, а остальное на лету?
Мы в проекте храним отчеты в архивных таблицах (старше 2 месяцев). По запросу пользователя выбираются нужные данные, на лету создается xls и csv и собирается в архив с уникальным именем и отдается пользователю. Затем файлы (архивы) старше определенного периода (не скажу сколько точно) удаляются с сервера. Если пользователь не найдет отчета - всегда может создать заново.