Database Reference
In-Depth Information
nen. Wie zwei Dokumente zu vereinen sind, ist hochgradig abhängig von der
Anwendung, d. h., eine allgemeine Lösung ist nicht praktikabel. In unserem
Beispiel ist es sinnvoll, die beiden albums -Arrays miteinander zu verknüpfen,
doch es gibt auch Szenarien, bei denen die richtige Aktion nicht so offen-
sichtlich ist.
Nehmen wir zum Beispiel an, dass Sie eine Datenbank mit Kalendereinträ-
gen verwalten. Ein Kopie liegt auf Ihrem Smartphone, eine andere auf Ihrem
Laptop. Sie erhalten von einem Party-Veranstalter eine Nachricht, die die Lo-
cation für eine von Ihnen veranstaltete Party angibt. Sie aktualisieren daher
Ihre Telefon-Datenbank. Zurück im Büro erhalten Sie eine weitere E-Mail
vom Veranstalter, die einen anderen Ort angibt. Sie aktualisieren also Ihre
Laptop-Datenbank und replizieren die Daten. CouchDB kann nicht wissen,
welcher der beiden Orte der richtige ist. Das Beste, was es machen kann,
ist, die alten Werte festzuhalten, damit Sie später festlegen können, welcher
der Werte denn nun verwendet werden soll. Es liegt an der Anwendung her-
auszufinden, wie die richtige Benutzerschnittstelle aussehen muss, um diese
Situation zu präsentieren und nach einer Lösung zu fragen.
Was wir am dritten Tag gelernt haben
Und so endet unsere Tour durch CouchDB. Wir haben den dritten Tag da-
mit begonnen zu lernen, wie wir unsere Mapreduce-generierten Views erwei-
tern können. Danach sind wir tief in die Changes-API abgetaucht und haben
dabei noch eine Abstecher in die Welt der ereignisgesteuerten serverseiti-
gen JavaScript-Entwicklung mit Node.js gemacht. Abschließend haben wir
uns kurz angesehen, wie CouchDB seine Master/Master-Replikationsstrate-
gie verfolgt und wie Anwendungen Konflikte erkennen und beheben können.
Tag 3: Selbststudium
Finden Sie heraus
1. Welche nativen Reducer gibt es bei CouchDB? Was sind die Vorteile nati-
ver Reducer gegenüber eigenen JavaScript-Reducern?
2. Wie können Sie von der _ changes -API eingehende Änderungen serverseitig
filtern?
3. Wie alles bei CouchDB wird auch die Initialisierung und der Abbruch
der Replikation hinter den Kulissen über HTTP-Befehle abgewickelt. Wir
lauten die REST-Befehle zur Einrichtung und dem Entfernen von Repli-
kationsbeziehungen zwischen Servern?
4. Wie können Sie die _ replicator -Datenbank nutzen, um Replikationsbe-
ziehungen zu erhalten?
Search WWH ::




Custom Search