Hello,
I have a question regarding performance. Could you provide some insights into how the system handles a large volume of messages from multiple trackers? For example, suppose there are 1000 devices connected, each sending messages every 2 seconds on average. Are there any performance results or metrics available under such a load?
The reason I’m asking is that when looking at the overall project architecture, it becomes apparent that the database is the most critical bottleneck. While horizontal scaling is possible, the database remains a single point of failure. Does it make sense to rely on a single database for everything? Or should we consider using specialized "time series" databases designed to handle large volumes of time-stamped data, which do not support modifying records? For instance, InfluxDB.
And yes, thank you for your tremendous work!
You are right about the database being a bottleneck. A time series database would probably be a good option.
Perhaps you can describe in a superficial way what places need to be touched in the code to add a second database and replace the saving of messages (positions) only in the new database?
There's a Storage
interface. You would probably need to create another implementation of that and send some requests to an SQL database and some to a time series db.
Hello,
I have a question regarding performance. Could you provide some insights into how the system handles a large volume of messages from multiple trackers? For example, suppose there are 1000 devices connected, each sending messages every 2 seconds on average. Are there any performance results or metrics available under such a load?
The reason I’m asking is that when looking at the overall project architecture, it becomes apparent that the database is the most critical bottleneck. While horizontal scaling is possible, the database remains a single point of failure. Does it make sense to rely on a single database for everything? Or should we consider using specialized "time series" databases designed to handle large volumes of time-stamped data, which do not support modifying records? For instance, InfluxDB.
And yes, thank you for your tremendous work!