Quiero implementar una aplicación web, una fuente que integra datos de varias fuentes y los muestra a los usuarios. Un usuario solo debería poder ver los elementos del feed que tiene permisos para leer (por ejemplo, porque pertenecen a un proyecto del que es miembro). Sin embargo, muchos usuarios podrían ver (y lo harán) un elemento de feed.¿Es factible el enfoque de la base de datos por usuario de CouchDB para usuarios con muchos datos compartidos?
Realmente me gustaría usar CouchDB (principalmente debido a la alimentación _cambios geniales y las vistas de mapa/reducción). Estaba pensando en implementar la aplicación como couchapp pura, pero estoy teniendo problemas con el modelo de permisos. AFAIK, no hay permisos por documento en CouchDB y esto se implementa comúnmente utilizando bases de datos por usuario y replicación.
Pero cuando hay mucha superposición entre lo que ven los distintos usuarios, eso introduciría MUCHA sobrecarga ... las cosas se replicarían por todas partes y se duplicarían en muchas bases de datos. Me gusta la elegancia de este enfoque, pero la sobrecarga masiva solo se siente como un obstáculo ... (Digamos que tengo 50 usuarios y todos ven los mismos datos ...).
Alguna idea de cómo hacerlo, por favor? ¿Solución alternativa?
Desafortunadamente, el modelo de permiso por proyecto no es lo suficientemente detallado para mis necesidades (necesito que algunos usuarios vean solo algunos de los elementos que pertenecen a un determinado proyecto). –