Database Reference
In-Depth Information
Sie können sie mit keys=stream auch als Stream abrufen, was bei großen
Datensätzen die sicherere Variante sein kann. Dabei werden Segmente mit
Schlüssel-Array-Objekten gesendet und mit einem leeren Array abgeschlos-
sen.
Links
Link s sind Metadaten, die einen Schlüssel mit anderen Schlüsseln verknüp-
fen. Die grundlegende Struktur sieht wie folgt aus:
Link: </riak/bucket/key>; riaktag=\"whatever\"
Der Schlüssel, auf den dieser Wert verweist, steht in spitzen Klammern(<>).
Darauf folgt ein Semikolon und ein Tag, der beschreibt, in welcher Beziehung
der Link zu diesem Wert steht (wobei Sie einen beliebigen String verwenden
können).
Link-Walking
Unsere kleine Hundepension hat nur wenige (große, komfortable und men-
schenwürdige) Zwinger. Um nachzuhalten, welches Tier sich in welchem
Zwinger befindet, verwenden wir einen Link. In Zwinger (Cage) 1 befindet
sich ( contains ) Polly. Dazu verlinken wir ihren Schlüssel (wodurch auf ein
neuer Bucket namens cages erzeugt wird). Der Zwinger steht in Raum 101,
was wir als Wert im JSON-Format festhalten.
$ curl -X PUT http://localhost:8091/riak/cages/1 \
-H "Content-Type: application/json" \
-H "Link: </riak/animals/polly>; riaktag=\"contains\"" \
-d '{"room" : 101}'
Beachten Sie, dass diese Link-Beziehung nur in eine Richtung verläuft. Der
gerade erzeugte Zwinger weiß zwar, dass Polly darin sitzt, aber an den Pol-
ly-Daten selbst wurden keine Änderungen vorgenommen. Wir können das
überprüfen, indem wir Pollys Daten abrufen und uns die Link -Header anse-
hen.
$ curl -i http://localhost:8091/riak/animals/polly
HTTP/1.1 200 OK
X-Riak-Vclock: a85hYGBgzGDKBVIcypz/fvrde/U5gymRMY+VwZw35gRfFgA=
Vary: Accept-Encoding
Server: MochiWeb/1.1 WebMachine/1.9.0 (participate in the frantic)
Link: </riak/animals>; rel="up"
Last-Modified: Tue, 13 Dec 2011 17:53:59 GMT
ETag: "VD0ZAfOTsIHsgG5PM3YZW"
Date: Tue, 13 Dec 2011 17:54:51 GMT
Search WWH ::




Custom Search