mozilla / mdv2-prototype

Prototype for the Mozilla Measurement Dashboard Version 2
https://mozilla.github.io/mdv2-prototype/
Mozilla Public License 2.0
5 stars 8 forks source link

Add server-side caching of data requests #83

Open emtwo opened 5 years ago

emtwo commented 5 years ago

Right now there are 2 possible options we're choosing from for how the client-aggregate data will be queried. We will either use Druid (http://druid.io/) to store the data to be queried or GraphQL (https://graphql.org/) on top of our data in S3/parquet for example.

Both these technologies allow for a single endpoint to be queried with a json blob to define the query. The benefit of this is that we do not need to create a separate service with multiple endpoints (like we do in the current mdv: https://github.com/mozilla/python_mozaggregator/blob/master/mozaggregator/service.py), one for each query type. The queries can be created on the client-side as needed.

That said, we will still need to server-side caching of the responses (e.g. in mdv1 it's done here: https://github.com/mozilla/python_mozaggregator/blob/master/mozaggregator/service.py#L260)

emtwo commented 5 years ago

Note: this is blocked on having an actual clients aggregate dataset to query