Database Reference
In-Depth Information
curl http://localhost:8091/riak/animals/ace?r=all
Wenn Sie das Lesen aller Knoten verlangen, besteht die Gefahr, dass Riak
dem Request nicht nachkommen kann, wenn ein Server unten ist. Als kleines
Experiment wollen wir den dritten Server herunterfahren.
$ dev/dev3/bin/riak stop
Wenn Sie nun versuchen, von allen Knoten zu lesen, sind die Chancen groß,
dass der Request fehlschlägt (wenn nicht, versuchen Sie auch dev2 herun-
terzufahren, oder fahren Sie dev1 herunter und lesen Sie von Port 8092 oder
8093; wir können nicht kontrollieren, an welche vnodes Riak schreibt).
$ curl -i http://localhost:8091/riak/animals/ace?r=all
HTTP/1.1 404 Object Not Found
Server: MochiWeb/1.1 WebMachine/1.7.3 (participate in the frantic)
Date: Thu, 02 Jun 2011 17:18:18 GMT
Content-Type: text/plain
Content-Length: 10
not found
Wenn Ihre Anfrage nicht verarbeitet werden kann, wird der Code 404 (Ob-
jekt nicht gefunden) zurückgegeben, was aus Sicht des Requests einen Sinn
ergibt. Das Objekt kann nicht gefunden werden, weil es nicht genug Kopien
gibt, um den URL-Request zu erfüllen. Das ist natürlich keine gute Sache,
weshalbRiakeine Lese-Reparatur (read repair) anstößt, die N Replikationen
des Schlüssels über die noch verfügbaren Server verteilt. Wenn Sie erneut
auf die gleiche URL zugreifen, erhalten Sie die Schlüsselwerte anstelle ei-
nes weiteren 404-Codes zurück. Die Riak-Dokumentation enthält ein ausge-
zeichnetes Beispiel 8 in Erlang.
Doch die sichere Variante verlangt ein Quorum (Daten von den meisten, aber
nicht allen vnodes).
curl http://localhost:8091/riak/animals/polly?r=quorum
Solange Sie an ein Quorum schreiben (das Sie für jede Schreiboperation er-
zwingen können), sollten Ihre Lese-Operationen konsistent sein. Ein anderer
Wert, den Sie direkt setzen können, ist W. Wenn Sie nicht warten wollen, bis
Riak an alle Knoten geschrieben hat, setzen Sie W auf 0 (null), was so viel
bedeutet, wie dass Sie Riak vertrauen und es direkt zurückkehren kann.
8. http://wiki.basho.com/Replication.html
Search WWH ::




Custom Search