GAE/J Shard counter calculation for live product ratings
I have an Android client that deals with product items and I would like to create an interface for displaying the most popular programs at any given time.

I have read and used shard counters to achieve highly scalable and parallel counting. This has been working well as far as counting is concerned.

However, the problem starts when it comes the time to calculate the top 10 most popular product items for a single request, I have to fetch them all product entities first, fetch the shard counters of each and add them up and then finally sort them to get the most popular ones.

The problem here is that in order to find out whats the most popular I have to recalculate all shard counters. Multiply that by 10000 product items and my request for a single user becomes slow as hell.

I've thought the idea of using a cron job to calculate the result and store that instead. Would you recommend me going that way? Has anyone else dealt with a similar situation? 

Thanks!
GAE/J Shard counter calculation for live product ratings
===

I have an Android client that deals with product items and I would like to create an interface for displaying the most popular programs at any given time.

I have read and used shard counters to achieve highly scalable and parallel counting. This has been working well as far as counting is concerned.

However, the problem starts when it comes the time to calculate the top 10 most popular product items for a single request, I have to fetch them all product entities first, fetch the shard counters of each and add them up and then finally sort them to get the most popular ones.

The problem here is that in order to find out whats the most popular I have to recalculate all shard counters. Multiply that by 10000 product items and my request for a single user becomes slow as hell.

I've thought the idea of using a cron job to calculate the result and store that instead. Would you recommend me going that way? Has anyone else dealt with a similar situation? 

Thanks!