Как строить взаимосвязи, на примере категорий/тегов?
Имеем стандартную структуру контента сайта: посты, категории, теги.
Ранее я делал так: сохраняю пост, в его поле "категорий/тегов" указываю айди соответсвующей категории/тега, а потом в саму категорию/тег в поле "посты" пушу айдишник поста. Все было вроде ок. Было удобно например заходить в категорию, и делать лейзи лоад проходя по массиву постов.
Но, теперь я столкнулся с ситуацией, когда у меня 1 миллион постов. Соответсвено я в ступоре, ведь это выглядит бессмысленно иметь массив с миллионом айтемов. Раньше я его сразу получал на клиент, когда фетчил категорию/тег, но тогда там было максимум пару сотен постов, это было дешево...
Как строить БД в таком случае? Просто делать ссылку в соответствующем посте на категорию, а в самой категории вообще не хранить ничего? Какие варианты есть и как делать в таких ситуациях?