 <p>I built a similar system several years ago using MongoDB on Amazon AWS. This year, tired of doing DevOps on AWS (nod to @AndreiVolgin), I've moved it to Google BigQuery.</p> <p>Datastore for my use case was overkill and frankly, limiting. I would have wanted to turn off indexes for most attributes anyways to save on storage cost. Limiting because it's harder to hook up datastore-based data with a visualization tool such as Tableau.</p> <p>Regarding </p> <blockquote> <p>I know there's a solution called BigQuery by Google, which I believe does what I want and allows me to serve the data I want to customers with high flexibility and efficiency, but as I understood it works only on datastore "backups", I need to serve data in real time.</p> </blockquote> <p>When my system receives a datum, page visitor data in your example, it <a href="https://cloud.google.com/bigquery/streaming-data-into-bigquery" rel="nofollow">streams it directly to BQ</a>. So no, it doesn't only work on backups. Whether you can use it to report "real time" depends on what real time means to you. My system computes aggregate statistics once every couple hours for presentation to users.</p>