Firestore - como estruturar um feed e seguir o sistema

Eu estava usando o banco de dados em tempo real do Firebase para o meu aplicativo de rede social de teste, no qual você pode apenas seguir e receber mensagens das pessoas que segue. Uma rede social tradicional. Estruturei meu banco de dados com algo assim:

Users
--USER_ID_1
----name
----email
--USER_ID_2
----name
----email

Posts
--POST_ID_1
----image
----userid
----date
--POST_ID_2
----image
----userid
----date

Timeline
--User_ID_1
----POST_ID_2
------date
----POST_ID_1
------date

Eu também tenho outro nó "Conteúdo", que apenas continha a ID de todos os posts do usuário. Portanto, se "A" seguiu "B", todo o ID da postagem de B foi adicionado à linha do tempo de A. E se B postou algo do que também foi adicionado a toda a linha do tempo de seu seguidor.

Agora, essa foi minha solução para o banco de dados em tempo real, mas claramente há alguns problemas de escalabilidade

se alguém tiver 10.000 seguidores, uma nova postagem foi adicionada a toda a linha do tempo de 10.000 seguidores.Se alguém tiver uma grande quantidade de postagens, cada novo seguidor receberá todas essas postagens em sua Linha do tempo.

Esses foram alguns dos problemas.

Agora, estou pensando em mudar tudo isso no firestore, como foi reivindicado "Escalável". Então, como devo estruturar meu banco de dados para que os problemas que enfrentei no banco de dados em tempo real possam ser eliminados no firestore.

questionAnswers(5)

yourAnswerToTheQuestion