Database Reference
In-Depth Information
"keep":false
}},
{"map":{
"language":"javascript",
"source":
"function(v) { return [v]; }"
}}
]
}
Obwohl wir die Mapreduce-Query auf den cages -Bucket angewandt haben,
werden die Informationen zu Ace the dog zurückgegeben, weil wir auf Zwinger
2 verlinkt haben.
[{
"bucket":"animals",
"key":"ace",
"vclock":"a85hYGBgzmDKBVIsrDJPfTKYEhnzWBn6LfiP80GFWVZay0KF5yGE2ZqTGPmCLiJLZAEA",
"values":[{
"metadata":{
"Links":[],
"X-Riak-VTag":"4JVlDcEYRIKuyUhw8OUYJS",
"content-type":"application/json",
"X-Riak-Last-Modified":"Tue, 05 Apr 2011 06:54:22 GMT",
"X-Riak-Meta":[]},
"data":"{\"nickname\" : \"The Wonder Dog\", \"breed\" : \"German Shepherd\"}"
}]
}]
Sowohl Daten als auch Metadaten (die normalerweise im HTTP-Header zu-
rückgegeben werden) erscheinen im values-Array.
Wenn manMap, Reduce, Link-Walking und Key-Filter miteinander verknüpft,
können beliebige Queries über ein breites Spektrum von Riak-Schlüsseln
ausgeführt werden. Das ist natürlich deutlich effizienter, als alle Daten mit
einem Client abzurufen. Da solche Queries üblicherweise simultan auf meh-
reren Servern ausgeführt werden, sollten Sie auch nicht lange warten müs-
sen. Doch wenn Sie wirklich nicht warten wollen, können Sie der Query noch
eine weitere Option übergeben: timeout .SetzenSie timeout auf einen Wert in
Millisekunden (voreingestellt ist "timeout": 60000 , also 60 Sekunden), und
die Query wird abgebrochen, wenn sie nicht innerhalb der festgelegten Zeit
abgeschlossen wird.
Konsistenz und Haltbarkeit
Die Riak-Serverarchitektur vermeidet einen „Single Point of Failure“ (alle
Knoten sind gleichberechtigt) und erlaubt das beliebige Verkleinern und Ver-
größern des Clusters. Das ist bei großen Systemen wichtig, weil Ihre Daten-
Search WWH ::




Custom Search