Как сортировать по счетчику при использовании заштрихованных счетчиков

У меня есть приложение, основным объектом которого является История , и пользователи могут голосовать за каждую историю. Каждый голос увеличивает критерий_толдера для истории.

Я обеспокоен записью раздора в историю, поэтому я планирую использовать счетчик для каждой истории для отслеживания голосов.

Теперь мой вопрос: как я могу получить список историй, упорядоченных по количеству голосов? Например: покажите 50 историй с наибольшим количеством голосов.

Моя первоначальная мысль - периодически запускать задачу, которая считывает значения счетчиков и обновляет свойство фактической истории. Было бы хорошо, если бы результаты запроса по голосованию были немного устаревшими.

9
задан cope360 22 August 2010 в 23:01
поделиться

2 ответа

Похоже, вы проводите некоторую преждевременную оптимизацию. Я бы пропустил сегментированные счетчики, пока не станет очевидно, что они вам нужны. Если вы в этом уверены, то непременно начните с них. Что касается запуска периодической задачи и результатов кеширования в свойстве для каждой истории, это может быть еще одной преждевременной оптимизацией.

У меня нет прямого опыта работы с движком приложений Google, так что надеюсь, у кого-нибудь, кто знает, будет какая-то информация, которой я могу поделиться.

2
ответ дан 5 December 2019 в 01:42
поделиться

Периодическое добавление данных может быть хорошей стратегией противодействия рассеянию счетчиков при осколках.

Вы также можете попробовать другие стратегии подсчета без сегментов, как описано в другом месте:

http://blog.notdot.net/2010/04/High-concurrency-counters-without-sharding

( там вы держите свой счетчик в кэше памяти и периодически сбрасываете накопленное значение в хранилище данных)

Насколько критично ваше приложение для незначительных ошибок подсчета?

1
ответ дан 5 December 2019 в 01:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: