What hardware to purchase for MySQL server? Details below I am planning to build a basic server machine dedicated to running MySQL for my small business.
What I need the database for...
I will be setting up a database to hold records of registered voters in various states for business purposes. Each table will contain the records for registered voters in one state. The average number of records for each table will be approximately 6 to 7 million records. But the largest one will be approximately 17 million records.
I will only be doing 2 things with these tables. Querying them to search for a single record, then marking that record in a separate field to indicate that the record has been found.
I will have an average of 10 to 20 users (but as many as 100 users) simultaneously running the aforementioned queries. This should result in as few as 100 queries per hour, or as many as 10,000 queries per hour.
These queries need to return results as quickly as possible. Preferably in less than 1 second. Or even close to instantaneous as a user is typing in a search box on the front end.
I need to know what kind of hardware resources I should purchase with the above requirements in mind. What kind of cpu? How many cpus? How many cores? How much ram? How much disk space? How many drives? What kind of drives? Raid configuration? Also, how much internet bandwidth should I need?
Thanks for helping out a noob.
This is really tiny. Test it on a machine you have already. Index the right fields and you should get significantly better than 1 second even on very basic hardware.
cpus - 1 - you are never going to be executing more than a query at once based on usage described
RAM 2G+, but probably not more than 6. Depends a bit on table index types.
Raid - basic low end mirror (RAID1).
Bandwidth - not much at all. You could do this on 64kbps probably.
On a small business, I wouldn't by buying hardware. Use a cloud service if the terms of data usage allows it.