Is mySQL suitable for storing a data stream coming in at 250ms update, having 30 bytes of information per update, and serving to the web?

StackOverflow https://stackoverflow.com/questions/8003251

  •  21-02-2021
  •  | 
  •  

Question

The title says most of it, I'm wondering if MySQL is suitable, (and if not, what else would do better) for storing this data?

It would be most likely 3 to 6 floating point numbers delivered every quarter second. (Somewhere between 1-3 GB per year)

At the same time this data needs to be real-time (or close-to) accessible from the MySQL, so it can't miss a beat while running some (potentially large) queries on the database.

Can MySQL handle this? I have no concept of how this kind of database scales or what constitutes "a lot" of information at one time for these databases.

If the database were to receive the same information but clumped into one large update every 5-10 minutes would that change the answer?

Was it helpful?

Solution

It depends on the table and the hardware. A Decent mysql server would have no problem with this. Especially if equipped with a SSD drive.

One large query inserting a large amount of data would be more efficient, as it would be a single index update and so on. There will be a sweet spot somewhere in there between the .25 second update and a 5 minute bulk. Testing would show that.

If you are doing replication, keep in mind that the slave is single threaded, and these updates would ultimate take longer there. You would also want to go with innodb as opposed to myisam to avoid table level locks during writes.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top