I need to implement an anonymous voting system (user registration is a no go). I have decided that the best option is to limit votes on a single item to 10 per IP (to account for Schools etc).
What is the best way to go around this. I’m using PHP + MySQL. During peak times there could be up to 20 votes per second. I’m using load balanced front ends with a dedicated MySQL server.
My worry is inserting a row in the database for every vote and then querying that data to see if they have reached their limit may be too much for the server to handle?
Would I be better off looking at MongoDB or something?
Any other ideas?
I would suggest saving the “voted” status in a cookie. This will allow whole schools & offices to vote. Doing it 10 per IP will allow a single user at an address to vote 10 times.
There are obviously ways around it, like clearing cookies etc, but I think its a good option.