Skip to content
Advertisement

Best technology for building race simulation application

I am trying to do something new, something I have never done before. I am looking for advice or point me into right direction how to choose technology. I am trying to build race simulation app that will have thousands of iot devices streaming data into central platform. While I understand that I can use some sort of IOT hub with cloud providers, but what technology do I choose for storing data?

Example is online indoor biking app. There are apps where you can connect your indoor bike online and have simulated race. For my project I am trying to build something similar. Do I use NO SQL db in this scenario? What technology will allow better scale of application like this since it could be millions of devices around the world in “simulated” race. I am not worried about front-end and things like that, but backend, IOT hub, storing data, presenting-real time?

Advertisement

Answer

At this point it is important to understand what kind of data your IoT devices will stream, and at what kind of a rate. It will have significant impact on your question.

That it is if it’s just location information and some other small data sent lets say once a second, then if you’re talking about tens of thousands of devices – this is not a big load of information, and any standard database, like MySQL will be able to deal with it. You will of course need a multi-threaded server(s) capable of handling many requests in parallel.

If your IoT devices will stream HD video, then you’re looking at a completely different solution, with a much stronger server, capable of handling allot of streams in parallel, with significant bandwidth requirements from your hosting company, as well as storage space for all the videos. In this case you will store the streams as files (if you’ll need them later on), and you won’t need any special database either.

In any case, once you’ll reach millions of users, you’ll be able to scale most modern databases and servers, like MySQL replication capability. For example, take a look how Wikipedia is relying on MySQL: wikipedia – MySQL https://www.mysql.com/why-mysql/case-studies/mysql-cs-wikipedia.html

So I wouldn’t be worried regarding the database on this stage, but make sure that the design of my system is in accordance to the the type of data and rate it is streamed.

Hope this gives you a pointer.

User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement