My requirements are:
- 3000 Connections
- 70-85% Write vs Read
Currently, we are maxing out a High-CPU, Extra Large Instance at 700 connections. All 8 cores are maxed. We think it's the number of concurrent connections as the memory is fine. The write itself is very simple (validations slow things). To scale to 3000, we need to go to multiple servers, current options:
- MySQL Sharding
- MongoDB Cluster
- Hadoop & MySQL (Hadoop caches, single dump to MySQL)
- MongoDB & MySQL (instead of Hadoop, we use mongo for cache)
To handle this number of connections, a number of questions:
- Can MySQL Sharding handle the concurrent connections?
- Can any single master handle these concurrent connections, or is a multi-head like Mongo a better option?
I apologize if I'm not describing my problem well. Please ask questions.