Diseño de base de datos: modelo "Push" o Fan-out-on-write

Información de fondo:

Estoy tratando de recuperar imágenes de las personas que sigo, ordenar por última vez. Es como un feed de noticias de Twitter donde muestran el último feed de tus amigos.

Planes:

Actualmente solo hay 1 elemento que debo tener en cuenta, que son las imágenes. En el futuro estoy planeando analizar el comportamiento del usuario y agregar otras imágenes que puedan gustarles en su feed, etc.

http://www.quora.com/What-are-best-practices-for-building-something-like-a-News-Feed

Personalmente, creo que el modelo "Pull" o Fan-out-on-load donde extraigo toda la información en tiempo real sería peor que el modelo push. Porque imagino que tengo 100 seguidores, tendría que buscar y ordenar por tiempo. (Avíseme si estoy equivocado, por ejemplo, Leer es 100 veces mejor que Escribir (Modelo de inserción)

El diseño actual del modelo push que tengo en mente es el siguiente

Table users_feed(ID, User_ID, Image_ID,datetime)

Opción 1 : Almacenar una lista de Image_ID

Opcion 2 : Almacene una ID de imagen y filas duplicadas (más filas de la misma ID de usuario pero diferente ID de imagen)

El plan es limitar cada fila que un usuario puede tener en este feed, lo que significa que siempre habrá un máximo de 50 imágenes. Si quieren más artículos más allá de las 50 imágenes en sus noticias. No pueden (podría codificar una alternativa para almacenar más para que puedan ver más en el futuro)

Pregunta 1

Como cuando los usuarios que siguen a los usuarios agregan un elemento a su "colección", tengo que insertarlo en el feed de cada uno de sus seguidores. ¿No habrá un problema en Write? 200 seguidores = 200 escrituras?

Pregunta 2

¿Qué método sería mejor para mí teniendo en cuenta que solo tengo un tipo de datos que son las imágenes? Alimentaciones de imágenes.

Pregunta 3

Si elijo almacenar el feed por adelantado (método push), ¿cómo lo escribo realmente a todos mis amigos?

Insert xxx into feeds whereIn (array of FriendsID)?

Cualquier forma de consejo sería muy apreciada. ¡Gracias por adelantado!

Respuestas a la pregunta(1)

Su respuesta a la pregunta