Я создаю веб-приложение, которое использует PHP и MySQL на сервере. Я хочу сохранить некоторые пользовательские данные — в основном набор объектов в формате JSON, которые детализируют информацию о «избранном» пользователя для приложения. Я не хочу хранить эти данные JSON в одном поле MySQL в моей таблице базы данных пользователей, потому что это не кажется эффективным.
Итак, я думаю просто сохранить данные JSON в плоском файле на сервере с уникальным идентификатором, который я могу использовать, чтобы узнать, с каким пользователем связан файл. Мои вопросы: будет ли это масштабируемым решением для более чем 10 000 пользователей?
Это может вызвать у вас много головной боли, как с технической точки зрения, так и с точки зрения безопасности. И нет, это не очень масштабируемо. Подумайте о проблемах, которые это вызовет: что происходит, когда вам нужно добавить сервер? Как вы будете синхронизировать файлы? Что, если вы хотите сделать что-то с участием нескольких пользователей, например, посмотреть, сколько людей предпочитают XYZ?
Гораздо лучший вариант — сделать одно из следующего:
Если вы беспокоитесь о скорости, вы можете реализовать некоторое кэширование с помощью Redis, memcached или какой-либо другой системы. Но не делайте сделать это еще — это преждевременная оптимизация. Делайте это, когда вам это нужно.
Других решений пока нет …