Chcę zaimplementować aplikację webapp - plik danych, który integruje dane z różnych źródeł i wyświetla je użytkownikom. Użytkownik powinien widzieć tylko te elementy kanału, które ma uprawnienia do odczytu (np. Dlatego, że należą do projektu, którego jest członkiem). Jednak element kanału może (i będzie) widoczny dla wielu użytkowników.Czy podejście bazy danych CouchDB dla poszczególnych użytkowników jest możliwe dla użytkowników z dużą ilością udostępnianych danych?
Naprawdę chciałbym użyć CouchDB (głównie ze względu na fajne _changes feed i map/reduce views). Zastanawiam się nad wdrożeniem aplikacji jako czystego couchappa, ale mam problem z modelem uprawnień. AFAIK, nie ma żadnych uprawnień dla pojedynczego dokumentu w CouchDB i jest to zwykle implementowane przy użyciu baz danych i replikacji dla poszczególnych użytkowników.
Ale gdy istnieje wiele nakładających się na siebie różnic między użytkownikami, które mogłyby wprowadzić dużo kosztów ogólnych ... rzeczy byłyby replikowane w każdym miejscu i powielane w wielu bazach danych. Podoba mi się elegancja tego podejścia, ale ogromne obciążenie wydaje się po prostu przełomowe ... (Powiedzmy, że mam 50 użytkowników i wszyscy widzą te same dane ...).
Jakieś pomysły na ten temat, proszę? Alternatywne rozwiązanie?
Niestety model pozwolenia na projekt nie jest wystarczająco drobnoziarnisty dla moich potrzeb (potrzebuję niektórych użytkowników, aby zobaczyli tylko niektóre elementy należące do określonego projektu). –