Ich bin derzeit mögliche Lösungen für das Problem follwing Bewertung:Selektive Replikation mit CouchDB
Eine Reihe von Dateneingaben müssen zwischen mehreren Clients synchonized werden, wobei jeder Kunde nur Ansicht kann (oder sogar über die Existenz wissen) eine Teilmenge der Daten. Jeder Kunde "besitzt" einige der Elemente, und die Entscheidung, wer diese Elemente lesen oder ändern darf, kann nur vom Eigentümer getroffen werden. Um diese Situation noch zu komplizieren, muss jedes Element (und jede Elementrevision) eine eindeutige Kennung haben, die für alle Clients gleich ist.
Während letzteres für CouchDB eine perfekte Aufgabe zu sein scheint (und ein dokumentenbasiertes Datenmodell würde perfekt zu meinen Bedürfnissen passen), bin ich mir nicht sicher, ob das Authentifizierungs-/Autorisierungs-Subsystem von CouchDB mit diesen Anforderungen umgehen kann: Während es sein sollte Es ist möglich, den Schreibzugriff über Validierungsfunktionen zu beschränken. Es scheint keinen Weg zu geben, den Lesezugriff zu autorisieren. Alle Lösungen, die ich für dieses Problem gefunden habe, schlagen vor, alle CouchDB-Anfragen über einen Proxy (oder eine Anwendungsschicht) zu routen, der die Autorisierung übernimmt. Die Frage lautet also: Ist es möglich, einen Autorisierungs-Layer zu implementieren, der Anforderungen an die Datenbank filtert, so dass der Zugriff nur auf Dokumente gewährt wird, auf die der anfordernde Client Lesezugriff hat und weiterhin den Replikationsmechanismus von CouchDB verwendet? Vereinfacht würde dies eine Art "selektiver Replikation" sein, bei der nur einige Dokumente und nicht die gesamte Datenbank repliziert werden.
Ich wäre auch dankbar für Anweisungen zu einigen detaillierten Informationen darüber, wie die Replikation funktioniert. Das CouchDB-Wiki und sogar das Buch "Definite Guide" sind nicht besonders genau.
Vielen Dank (und andyuk, auch). Sieht so aus, als ob couchDB sich wirklich dazu bewegt, das zu werden, wonach ich suche. – FRotthowe
Haben Sie ein funktionierendes Beispiel? Die gefilterte Replikation ist jedoch nicht sicher. Der Benutzer kann weiterhin über _all_docs auf alle Daten zugreifen und erhält 8 Jahre später – Kinesias
? Ich fürchte nicht :) – kolosy