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
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?
- 1. Indizierung mit Redis sortierten Sätzen
- 2. Redis Desktop Manager für Aerospike?
- 3. Verwenden von REDIS-Sets-Befehl aus StackExchange.Redis
- 4. Was ist Best Practice für die Bearbeitung von Listen und Sets in Redis?
- 5. Eingabe von Punkten in die Gamecenter-Bestenlisten
- 6. Hinzufügen von Elementen zu einem sortierten Redis-Set in Python
- 7. Sortieren von Objekten mit einer vordefinierten Liste von sortierten Werten
- 8. Was ist der Vorteil der Verwendung von btree in aerospike für den Primärindex?
- 9. Speichern von Zeitreihen in Redis
- 10. Suchen einer nicht sortierten Liste von Nachkommen
- 11. Konvertieren von Tracker-Pose-Informationen in Spalte-große geordnete Matrix
- 12. Redis Sorted Sets: Wie bekomme ich das erste schneidende Element?
- 13. geordnete Liste zweispaltige Strömung
- 14. Liste Verständnis gegen Tupel von Sets
- 15. Wie Objekte in Redis sortierten Satz haben?
- 16. geordnete Liste von Benutzersteuerungen (mit Hinzufügen und Löschen)
- 17. Liste alle Bestenlisten in Google Play-Spieldienste
- 18. Vorteile/Nachteile von Redis-Paginierungsstrategien
- 19. Sortieren einer Liste von der sortierten Reihenfolge einer anderen Liste
- 20. Wie sortiere ich OrderedDict mit einer sortierten Liste von Schlüsseln?
- 21. Anzahl Aktien Anzahl von Produkt in Redis
- 22. Geordnete Liste der Keyvaluepairs?
- 23. Wie erhalten Sie alle Datensätze, die mit einem Regex in Aerospike übereinstimmen?
- 24. Verschmelzen Sets von Sets, die gemeinsame Elemente in Scala enthalten
- 25. Interpolier große Daten-Sets auf der Fly
- 26. Markdown rückwärts geordnete Liste?
- 27. über den Befehl zrank in redis
- 28. Problem Vergleicht Elemente von Sets (Python)?
- 29. Komplexität für binäre Suche (Insertion) für eine geordnete Liste
- 30. Kombinieren von Hashes für eine geordnete Menge
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. –
Ich würde auch gerne dieses Beispiel sehen. Es ist ein übliches Beispiel, das Aerospike für die Massen attraktiver machen würde. – Jordan
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. –