2014-11-13 4 views
5

Ich überlege, Redis durch Aerospike zu ersetzen, und ich wollte wissen, ob aerospike in der Lage ist, die gleichen Fähigkeiten und Leistungen wie Redis sortierte Sets für Bestenlisten innerhalb einer Anwendung zu liefern. Ich muss in der Lage sein, Elemente in dem Satz schnell einzufügen, zu lesen und zu aktualisieren. Ich muss auch in der Lage sein, Bereichsabfragen an ihnen durchzuführen und den Rang eines beliebigen Gegenstands im Satz schnell zu finden.Kann die große geordnete Liste von Aerospike mit den sortierten Sets von Redis für Bestenlisten übereinstimmen?

Antwort

6

Aerospike verfügt derzeit nicht über eine integrierte Bestenlistenfunktion. Dies ist jedoch eine von vielen Funktionen, die jeder mit benutzerdefinierten Funktionen (UDFs) und großen Datentypen (LDTs) erstellen kann.

Die Art, wie dies funktionieren würde, wäre, dass Sie eine Gruppe von UDFs haben würden, die zwei Large Ordered List LDTs ​​verwenden. Ein LLIST würde die primäre Sammlung verwalten, und der andere LLIST würde die Rangliste/Rangliste bereitstellen (die im Wesentlichen als ein Index in die primäre Sammlung verwendet wird).

Die UDFs verwalten die Benutzerinteraktion (Lesen/Schreiben/Löschen des Primärwerts und Lesen/Scannen des Leaderboard-Werts) und leiten die Arbeit an die LDT-Funktionen weiter.

Wir haben intern über die Erstellung dieser Beispiele gesprochen, um die Leistungsfähigkeit von UDFs und LDTs ​​zu demonstrieren. Vielleicht könnten wir mit ein wenig Ansporn die Priorität aufbringen, diese Beispiele zu machen.

Das andere Problem ist die Leistung. Was sind Ihre Latenz- und Durchsatzanforderungen?

+2

Ich möchte im Idealfall Latenz unter 20ms für das Lesen einer Liste von sagen 10 Elemente zusammen mit ihren Rängen aus einer Menge von etwa einer Million Elemente. Ich bin mir nicht sicher, welche Art von Durchsatz ich erwarte, ich werde wahrscheinlich nach Bedarf skalieren, um sicherzustellen, dass die Latenz niedrig bleibt. Ich würde gerne eine Beispielimplementierung einer UDF sehen, die dies mit LDTs ​​wie beschrieben tun kann. –

+1

Ich würde auch gerne dieses Beispiel sehen. Es ist ein übliches Beispiel, das Aerospike für die Massen attraktiver machen würde. – Jordan

+0

Wir brauchen ein Beispiel. Ist mein Verständnis richtig, dass solche Abfragen, die einen sekundären Index verwenden, so schnell sind wie ein normaler Multi auf eine gleiche Menge zurückgegebener Elemente? 1. Durchlaufen eines In-Memory-Index, 2. Sammeln der Artikeldaten (Payload) von ssd, Zurückgeben aller. –

Verwandte Themen