Like many, I'm no new the NoSQL world. I did a lot of research, but I still lack only one point, which I can't find proper answer for.
Short description of system:
I'm building a system that collects Visitor's data on different websites. Each visit is an Entity in the datastore, with properties like device type, IP, time of visit..etc.
There will be millions of visits in the datastore.
My Question, is how do I serve this data to clients. My Data is setting in the datastore as "Visit" entities.
Now when a customer logs in, I don't want to show them millions of records. I want for example to show them general stats. Like number of visits on mobile device, number of visits from specific country in some time range, and stuff like that.
Now since I'm new to the NoSQL databases, I'm not sure how I should go around showing these stats in the clients' dashboard.
As I know, Datastore has no support for aggregates, or getting count of query results for example.
I looked at BigQuery, but BigQuery works on Datastore "backups", I need to serve data in real time, without needing to do backups manually.
Also I read about counters, and sharding counters, is this the proper approach? have a counter for each client for each property for each tracking group? and show the total numbers this way? Sounds like too much for a simple purpose.
Any input or explanation that can get me in the right direction would be highly appreciated.
Best Regards