I am building a webapp that has the following characteristics:
- It only has a small number of pages, home,contact us, about,singup,etc.
- Each user has one jquery-based page that allows them to drag/drop/manipulate DOM elements.
- When a user has finished manipulating elements they can hit Save and elements are sent via JSON to a PHP script on the server. They can also Load previously saved JSON.
So essentially: very few pages with 90% static information. One page with client-side work and potentially a lot of GETting/POSTing of JSON.
I have built a POC of this using PHP/Smarty, jQuery and mySQL. User details are stored in mySQL and so is the JSON data. Webpages are cached by Smarty on disk.
Now I'm thinking about scalability and the obvious question is should I be storing the often-changed JSON data in mySQL or should I be using memcacheDB or some other key-value store? Would you go for the easy mySQL option or introduce a key-value store now or would you wait to see if scale issue arise? Am I realistically ever going to reach a point where mySQL is the bottleneck?
I'm planning to host this on Slicehost to begin with and then move it if need be.