Mongo performances for time series data

Currently we are with cassandra DB and we need to start using the other NoSQL for one of our below use case.
at very high-level usecase requirements are:
Very large incoming data volumes
Very huge reads per second ( 200K TPS, around 60% by sharded key and 40% by only indexed keys)
More Writes (80K, less than read)
The data is time series data(Users/Wireless devices Movement for every 2 sec)
Analytics over data

few queries like

  • Read data from date to date and average them
  • Read the data for particular time stamp
  • Average the data of a set of users on given day

My understanding with other project is that mongo is good for storing billions of documents and retrieve them… But do not have idea on how mongo will do for time series data and some queries related to that.

We go with mongo Atlas, we will not manage mongo cluster by our own.

Hi @Great_Info,

MongoDB is absolutely perfect to handle this time series related data. The thing I see is that you have high volume of reads and writes, so if you could spend some time on Data modelling, it would be the best. Some things to help you along in how to model your data are Bucketing Pattern, caching/precomputing your results by use case (if it helps)… So you might wanna look at different patterns and techniques. These links would help you a lot, so take some time to read them and then start implementing.

https://docs.mongodb.com/manual/tutorial/model-time-data/
A lot of patterns from this -> https://www.mongodb.com/blog/post/building-with-patterns-a-summary
https://docs.mongodb.com/manual/tutorial/model-computed-data/
https://docs.mongodb.com/manual/applications/data-models-relationships/
https://docs.mongodb.com/manual/core/data-model-operations/

Cheers…!

1 Like