UX es una parte importante de una aplicación como Twitter, pero diría que la fortaleza de Twitter es la elegante simplicidad en el back-end. Las etiquetas hash crean un acoplamiento suelto, mientras que la etiqueta at es una referencia directa a una persona.
Mi recomendación para su “Twitter Light” sería tres tablas en una base de datos SQL relacional (MySQL, SQL Server, Oracle, …)
TweetTable: PrimaryKey, Autor, Tweet
- ¿Qué es un buen desarrollador de aplicaciones para conferencias y eventos?
- ¿Qué es un 'modelo de dominio' en una aplicación de software?
- ¿Adobe sabe si usa una versión descifrada?
- ¿Cuál es la mejor aplicación para ganar TARJETAS DE REGALO gratis en India?
- ¿Es posible que el IRCTC emplee una interfaz gráfica de usuario similar a las que se utilizan en las salas de cine para reservar entradas en línea?
PersonTable: PrimaryKey, AtName, LoginName, Password, Descripción, …
SeguidoresTable: FollowerPerson, FollowedPerson
Notas:
1.) Cada vez que se agrega un tweet, persona o seguimiento, se crea una nueva entrada en la tabla correspondiente.
2.) El campo Autor en TweetTable es una referencia a una clave principal en PersonTable. De esta manera, todos los tweets están en la misma tabla, independientemente del autor. FollowerPerson y FollowedPerson son referencias a claves principales en PersonTable
3.) Usando esta arquitectura SELECCIONE sentencias SQL que devolverán rápidamente toda la información común de Twitter como una lista de tweets, seguidores, seguidos.
4.) La consulta más cara sería una búsqueda de texto completo en etiquetas hash. Para estos índices se pueden construir para acelerar la referencia a los tweets basados en etiquetas contenidas en la cadena de Tweet.
Si obtiene la configuración de la arquitectura correctamente, su aplicación será rápida y escalará bien, de lo contrario podrían surgir muchos dolores de cabeza.
No dude en ponerse en contacto conmigo si desea ayuda con esto.