02.11.2013 Aufrufe

Verteilte Auswertung von RDF-Graphen mit MapReduce und ...

Verteilte Auswertung von RDF-Graphen mit MapReduce und ...

Verteilte Auswertung von RDF-Graphen mit MapReduce und ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

2.3 Apache Cassandra<br />

QUORUM : n + 1 Knoten, wobei n der Replikationsfaktor ist, müssen den Schreibvorgang<br />

bestätigen.<br />

2<br />

ALL : Alle n Knoten müssen den Schreibvorgang bestätigen.<br />

Nachdem ein Konsistenzgrad ausgewählt worden ist, kann nun der Zugriff auf die<br />

Daten erfolgen. Wird das Datenmodell als multidimensionale Map betrachtet, erfolgt<br />

der Zugriff durch Angeben der Schlüssel. Je nachdem, welche Schlüssel angegeben<br />

worden sind, werden Subspalten, Superspalten oder ganze Zeilenbereiche zurückgegeben.<br />

Eine Filterung der gewünschten Daten ist durch Definition <strong>von</strong> Wertebereichen<br />

(engl. ranges) möglich. Wird bei einer Anfrage ein SlicePredicate definiert,<br />

so werden nur die dadurch definierten Spalten zurückgegeben. Dabei gibt es zwei<br />

Möglichkeiten, die gewünschten Spalten zu definieren. Entweder werden die Spaltennamen<br />

explizit angegeben oder es wird ein Bereich definiert, der durch einen<br />

Anfangs- <strong>und</strong> Endschlüssel gegeben ist. Die Daten zwischen Start <strong>und</strong> Ende ergeben<br />

sich aus dem verwendeten Vergleicher. Per SlicePredicate kann außerdem eine<br />

Li<strong>mit</strong>ierung der Spaltenanzahl („count“) <strong>und</strong> die Umkehrung der Reihenfolge („reversed“)<br />

erfolgen. Es ist nicht möglich ein SlicePredicate für Subspalten zu definieren.<br />

Wird eine Superspalte ausgewählt, werden immer alle Subspalten serialisiert. Eine<br />

Anwendung, die nicht alle Subspalten benötigt, muss also nach der Serialisierung<br />

filtern.<br />

Die Funktionen get_range_slices <strong>und</strong> multi_get_range der Cassandra API<br />

erlauben es, die resultierenden Zeilen der Anfrage einzuschränken. Sie erfordern aber,<br />

um effektiv genutzt werden zu können, den Einsatz des veralteten OrderPreserving-<br />

Partitioner. Eine Übersicht aller weiteren Funktionen findet sich in [11, 13].<br />

17

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!