Actualmente tengo una aplicación de juegos sociales usando mongodb de su base de datos. Mi pregunta es cuáles son algunas sugerencias si quiero crear un sistema de puntos e insignias. La lógica de negocios para los logros/insignias podría ser bastante complicada y muy ad-hoc, por lo que la adjudicación de insignias en tiempo real no parecería eficiente. Me imagino agregar acciones rastreadas a una cola en alguna parte, es decir, Amazon SQS, o simplemente utilizar el feed de actividad de un usuario como cola, y tener otro proceso de trabajo fuera de línea y simplemente procesar los efectos de cada acción/actividad para ver si el umbral para cualquier insignia particular está cruzada.cómo diseñar logros y credencialización con nosql
Mi preocupación con este método es que parece que las consultas insignia pueden llegar a ser muy intenso y me gustaría también que el seguimiento de un gran número de acciones. Puedo imaginar logros que van desde cosas como una insignia para alguien que ha anotado segundo lugar todas las semanas durante las últimas 4 semanas, o una tarjeta de identificación para alguien que tiene un amigo en cada uno de los 50 estados ... etc ...
¿Hay métodos más elegantes o probados para este tipo de cosas? ¿Tendría sentido usar otra base de datos para logros/feed de actividad/tablas de clasificación además de mongo, creando un entorno híbrido mongo/otro db?
son opciones como Redis, Neo4J, o simplemente vieja SQL Server una buena opción para una solución híbrida? Me gusta Mongo, así que seguirá siendo nuestro db principal, pero es curioso ver si agregar otro db a la mezcla ayudaría.