2016-06-16 46 views
0

Ich möchte zwei Datensätze in einem Satz nur speichern, wenn diese Datensätze unterschiedliche Werte in einer angegebenen Bin haben. Zum Beispiel in einem Satz mit 3 Bins (CS, P, Fees), habe ich versucht, 3 verschiedene Datensätze zu speichern:Wie mache ich einen Behälter einzigartig, ohne ihn in Aerospike als Schlüssel zu verwenden?

Record1(CS1, P1, Fees1) 
Record2(CS2, P1, Fees2) 
Record3(CS3, P2, Fees2) 

Nur Record1 und Record3 sind erlaubt und Record2 ist nicht erlaubt.

Wie kann ich einen Behälter in Aerospike einzigartig machen?

+2

Was meinst du mit "nicht erlaubt"? Aerospike ist ein KV-System und Ihre Aufzeichnungsoperationen sind völlig unabhängig von den Daten in anderen Aufzeichnungen. Keine Koordination oder Suche zwischen ihnen überhaupt. Wenn sie ein eindeutiges 3-Tupel von (Namespace, Set, PK) haben, gibt es überhaupt keine Verbindung zwischen ihnen. –

Antwort

0

Soweit ich weiß, kann man das nicht durch Aerospike erreichen (zumindest nach Community Edition).
Was Sie suchen, ist, was wir 'eindeutigen Index' nennen, die sicherstellen, dass das indizierte Feld keinen doppelten Wert speichert.
'eindeutiger Index' wird von aerospike oder rethinkdb nicht unterstützt.

Wenn Sie mehr wissen wollen (bitte diese als irrelevant nicht markiert, nur einen Hinweis für den Autor):
können Sie versuchen, mongodb eindeutigen Index zu verwenden. Bezahlen Sie jedoch mehr Aufmerksamkeit, müssen Sie den Kompromiss machen und die Vorteile aufgeben, die aerospike bieten kann.