Nach einem Zähler bei Verwendung von Sharded Counters sortieren

9

Ich habe eine Anwendung, in der die Haupteinheit Story ist und Benutzer für jede Geschichte abstimmen können. Jede Stimme erhöht ein vote_count für die Geschichte.

Ich mache mir Gedanken über die Streitfrage in Bezug auf die Story, daher plane ich, einen Zähler für jede Seite zu verwenden Geschichte, um die Stimmen zu verfolgen.

Nun meine Frage: Wie könnte ich eine Liste von Geschichten bekommen, geordnet nach Anzahl der Stimmen? Zum Beispiel: Zeige die 50 am höchsten bewerteten Geschichten.

Mein erster Gedanke ist, dass eine Aufgabe periodisch ausgeführt wird, die die Zählerwerte liest und eine Eigenschaft auf der tatsächlichen Geschichte aktualisiert. Es wäre in Ordnung, wenn die Ergebnisse der Abfrage per Abstimmung etwas veraltet wären.

    
cope360 22.08.2010, 21:42
quelle

2 Antworten

2

Es hört sich so an, als ob Sie ein bisschen vorzeitige Optimierung machen. Ich würde die geschärften Zähler überspringen, bis es offensichtlich wird, dass Sie sie brauchen. Wenn du dir sicher bist, dann fang mit allen Mitteln an. Wie beim Ausführen einer periodischen Aufgabe und dem Zwischenspeichern von Ergebnissen in einer Eigenschaft für jede Geschichte kann dies eine weitere vorzeitige Optimierung sein.

Ich habe keine direkte Erfahrung mit Google App Engine, also hoffentlich jemand, der einige Informationen teilen wird.

    
Arnold Spence 22.08.2010 22:01
quelle
1

Das regelmäßige Aufsummieren von Daten kann eine gute Strategie sein, um die starke Streuung von Zählern zu verhindern.

Sie können auch andere Strategien zum Zählen ohne Shards ausprobieren, wie an anderer Stelle beschrieben:

Ссылка

(dort behalten Sie Ihren Zähler in Memcache und leeren den akkumulierten Wert regelmäßig in den Datenspeicher)

Wie wichtig ist Ihre App für kleine Zählfehler?

    
Felipe Hoffa 25.08.2010 21:07
quelle

Tags und Links