Если вы пользуетесь доступом для чтения (ищите имена файлов и т. Д.), Вы можете воспользоваться memcached . Вы можете хранить самые «горячие» (самые последние созданные, недавно использовавшиеся, в зависимости от вашего приложения) данные в памяти, а затем запрашивать БД (и, возможно, файлы) только при отсутствии кеша. Доступ к памяти намного быстрее, чем к базе данных или файлам.
Если вам нужен доступ с интенсивной записью, лучше всего использовать базу данных. Если вы используете MySQL, используйте таблицы InnoDB или другой механизм, который поддерживает блокировку на уровне строк. Это позволит избежать блокирования людей, пока кто-то другой пишет (или, что еще хуже, пишет).
Но, в конечном итоге, это зависит от данных.