Если у вас не очень много пользователей и настроек ленты почти нет, можно хранить все новости без дублирования и делать выборку, как советовали выше.
Однако, что получится, если есть не только таблица подписчиков, но и таблица с информацией о приватности новостей (кому из подписчиков что показывать), есть таблица с информацией о людях, чьи новости ты не хочешь видеть в своей ленте (однако не удаляешь из друзей, например). Получается, что с каждой такой фичей запрос на вывод новостной ленты будет обрастать JOINами и вложенными запросами, что весьма негативно скажется на производительности работы. В таком случае, лучше пожертвовать памятью сервера и хранить ленту новостей для каждого пользователя отдельно. Тогда вывод ленты может быть простым SELECTом по индексу.
Могу посоветовать
статью про ленту обновлений. Возможно, вы будете использовать другую СУБД, однако идеи и мысли могут оказаться полезными.