Я добавляю «Значки» на свой веб-сайт, и мне интересно, каким будет лучший способ хранения данных. У каждого значка будет ID, который хранится в базе данных MySQL. Каждый пользователь имеет свою собственную строку в базе данных MySQL, и каждый из них имеет файл «userdata», который находится в формате XML. Поэтому я мог бы сохранить его в этом XML-файле или создать новый столбец в строке «users» и сохранить их как «0; 5; 6; 4;» (Идентификаторы значков).
Это довольно широкий вопрос, и нам действительно нечего сказать окончательно, какой из этих методов «наилучший» для вашей конкретной конфигурации сайта и целей. В любом случае потенциально может работать хорошо. Или вы можете добавить новую тузкую / реляционную таблицу mysql, называемую badges_users, которая связывает идентификаторы пользователей с признанными идентификаторами значков (что, если я правильно понимаю вашу цель, я бы рекомендовал выполнить ее).
Im делает подобное с webiste. И мне еще предстоит встретить окончательный ответ. Но не храните значки, как 0; 5; 6; 4
Вместо этого есть таблица с именем user_badges
Table user_badges user_id badge_id
И иметь таблицу для значков
Table badges badge_id badge_name .. etc
Зависит от любого количества переменных, таких как временная шкала проекта, ресурсы и трафик. Если вы хотите включить решение nosql для хранения в файловой системе, то вы неизбежно получите более высокую производительность, потому что вы не будете создавать соединение с базой данных для получения информации о значке. Но, скорее всего, вы уже устанавливаете соединение с базой данных, чтобы получить информацию о других пользователях, в первую очередь, так что вы, вероятно, окажетесь в незначительной прибыли. Решение SQL будет быстрее реализовано и, если вы не будете обрабатывать много трафика, не имеют заметной деградации производительности.
Я думаю, что самый большой удар для вашего доллара в этой ситуации – реализовать слой кэширования для вашей информации о пользователе, поэтому вам не нужно ударять постоянное хранилище для каждого запроса информации о пользователе.
Если вы выберете решение для базы данных, вы можете захотеть создать отдельную таблицу для значков или добавить другой столбец в таблицу пользователей. Связь 1: M между пользователями и значками позволит вам добавить больше значков в будущем, и вы можете расширять значки без необходимости связываться с пользовательской схемой.
Для таких данных, которые я бы рекомендовал использовать в базе данных, это будет быстрее, чем чтение и запись XML-файлов.