Since there is no appengine solution available such as the Redis atomic list, I'm left wondering how to implement a cost effective rolling median.
Here's a better definition of the problem:
I receive a value for a tracked metric (i.e. start-up time) for different systems at a rate of 15/s.This rate is expected to grow quickly as clients add systems.I need to produce a rolling median of that metric.
At the same time, I'm trying to keep the cost low since volume is only going to grow.
Has anyone come up with a solution that would be more convenient than running a redis instance on Google Compute Engine?
Since there is no appengine solution available such as the Redis atomic list, I'm left wondering how to implement a cost effective rolling median.
Has anyone come up with a solution that would be more convenient than running a redis instance on Google Compute Engine?
--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-appengi...@googlegroups.com.
To post to this group, send email to google-a...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
For more options, visit https://groups.google.com/groups/opt_out.
On Tue, Nov 12, 2013 at 8:07 PM, Mathieu Simard <mathieu....@gmail.com> wrote:
Since there is no appengine solution available such as the Redis atomic list, I'm left wondering how to implement a cost effective rolling median.Has anyone come up with a solution that would be more convenient than running a redis instance on Google Compute Engine?- batch data in front-end instance memory
- flush data to a pull queue every time window- run a task every time window to gather all data batches from pull queue- merge data, compute moving median, write result to data store
Instances will be started as more data is submitted. Tune the frequency of the calculation so that the size of the pending data batches does not overwhelm a single task.
As a refinement of the above:
- periodically parse the request log: https://developers.google.com/appengine/docs/go/logs/
The advantage here is that:- you don't have to pay for front-end instance hours- your clients are served quickly by Google's edge servers
- few moving parts in the critical path that can fail
--
You received this message because you are subscribed to a topic in the Google Groups "Google App Engine" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-appengine/VMG96Xzvsok/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-appengi...@googlegroups.com.