2016-03-19 8 views

Antwort

1

(Ich arbeite bei Aerospike) Der Datentyp "Large Stack" ist veraltet. Außerdem sind die großen Datentypen im Allgemeinen nicht auf dem gleichen Reifegrad wie der Rest der Plattform und werden nicht für den produktiven Einsatz empfohlen. Es gibt einige Randfälle, in denen große Datentypen beschädigt sind. Ich würde empfehlen, einen Scan auszuführen (Backup würde tun), der Details über die schlechten LDTs ​​drucken sollte, die dann aus dem System entfernt (und möglicherweise wieder eingefügt) werden können. Ich würde empfehlen, alternative Datenmodellierung ohne LDTs ​​zu finden.

+0

@Maher, Vielen Dank für Ihre Antwort. Ich plane, alle meine LSTACK-Daten zu LLIST zu migrieren. Aber was mich überrascht hat, ist, dass LDT nicht für die Produktion geeignet ist. Ich habe das in keiner der Aerospike-Dokumentationen gelesen. Mein Anwendungsfall ist, JSON (500 Bytes) gegen LLIST zu einem Benutzer zu drücken, wenn er eine Aktivität ausführt. Wenn ich den Datensatz gegen den Benutzer zurückgelesen habe, werde ich alle seine Aktivitäten bekommen. Wenn ich für jede Aktivität regulär putten und einen sekundären Index für den Benutzer habe, werde ich definitiv RAM früher überlaufen. Bitte schlagen Sie vor, ob ich mit LLIST fortfahren kann, oder was das richtige Datenmodell sein könnte. Danke im Voraus. – Carbonrock

+2

Ich würde empfehlen, keine LLIST zu verwenden und lieber eine Liste oder Karte zu verwenden. Wir fügen neue APIs hinzu, um diese Datentypen zu manipulieren. Bleiben Sie also in den nächsten Wochen dran. Wenn Datensätze über die maximale Schreibblockgröße von 1 MB hinausgehen, würde ich empfehlen, diese auf der Anwendungsebene aufzulösen, indem beispielsweise ein "Kontroll-Bin" verwendet wird, um einen möglichen Überlauf in andere Datensätze anzuzeigen. Eine solche Methode würde die RAM-Nutzung im Vergleich zu den großen Datentypen definitiv nicht erhöhen. – Meher