Лучше ли хранить все метаданные объекта, такие как уровень конфиденциальности, в самой таблице содержимого или иметь отдельную основную таблицу метаданных? Объекты похожи на ссылки, фотографии, видео, теги, комментарии и т. Д. В настоящее время у меня есть 14 различных типов объектов, каждый со своей таблицей пользователей. Я вижу преимущества и недостатки в обоих направлениях:
Если в 1 таблице, то я могу запросить все уровни конфиденциальности для объектов одним запросом, в противном случае есть несколько таблиц для запроса. Если в разных таблицах обслуживание таблиц будет проще, так как оно не станет таким большим, как если бы в таблице фотографий было 10 миллионов строк, в видео - 20 миллионов, в ссылках - 40 миллионов, то это означает, что в таблице метаданных будет 70 миллионов строк.
Я реализую что-то похожее на уровни конфиденциальности объектов, которые мы видим на большинстве социальных сайтов сегодня, но не уверен в том, как лучше его спроектировать. А также, если уровни конфиденциальности должны быть значениями поиска или перечислениями или полностью в логике приложения?
** Самая сложная часть - это уровень конфиденциальности данных профиля. Существует более 50 полей, каждое из которых имеет свой уровень конфиденциальности. Так что, если я храню 50 разных уровней конфиденциальности в одной таблице, я не знаю, будет ли она работать хорошо?