Firestore: cómo estructurar un sistema de alimentación y seguimiento

Estaba usando la base de datos en tiempo real Firebase para mi aplicación de prueba de red social en la que puedes seguir y recibir publicaciones de las personas que sigues. Una red social tradicional. Estructuré mi base de datos de esta manera:

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

También tengo otro nodo "Contenido" que solo contenía la identificación de todas las publicaciones del usuario. Entonces, si "A" siguió a "B", entonces toda la identificación de publicación de B se agregó a la línea de tiempo de A. Y si B publicó algo, también se agregó a toda la línea de tiempo de su seguidor.

Esta fue mi solución para la base de datos en tiempo real, pero claramente tiene algunos problemas de escalabilidad.

si alguien tiene 10,000 seguidores, entonces se agregó una nueva publicación a la línea de tiempo de 10,000 seguidores.Si alguien tiene una gran cantidad de publicaciones, cada nuevo seguidor recibió todas esas publicaciones en su línea de tiempo.

Estos fueron algunos de los problemas.

Ahora, estoy pensando en cambiar todo esto en Firestore, ya que se ha dicho "escalable". Entonces, ¿cómo debo estructurar mi base de datos para que los problemas que enfrenté en la base de datos en tiempo real puedan eliminarse en el almacén de incendios.

Respuestas a la pregunta(5)

Su respuesta a la pregunta