I decided to write a long introduction in order to give you a better idea of what I'm trying to achieve. This will be my first real... commercialy aimed application.

*Disclaimer: Even though I've been reading anything I can get my hands on for the past 3 years regarding web dev and for the past year anything python related, I'm still pretty much a newb (alternative noob spelling accepted).*

The application revolves around collections. Stamps,cards,coins etc. Users will be able to register, add to their collection from a predefined list of objects, show their collection, flag some of the objects for trading, keep track of trades etc. The predefined list of object will have around 20k objects with around 30-50 properties each.

*Disclaimer 2: I could write this in php me thinks being the first tool I learned to web dev in but I'm pretty much in love with python at the moment so, I'm very biased towards it.*

1. Shall I stay with mySQL or dip my toes in noSQL watters? From what I've been reading noSQL might be overkill for what I'm trying to develop but... what do you think?
2. Django? Or flask? I am leaning towards flask. Main reasoning behind that is that I .. understand it better then django after fiddleing with each for a couple of days.
3. I'll probably host it on Rackspace to start with since it's the cheapest solution and is able to scale, although I would be really interested to hear opinions from somebody who hosts with 
[VPS](http://www.vps.net) or [Voxel](http://www.voxel.net/) . [CloudHarmony speed tests](http://cloudharmony.com/speedtest) show that both of them are better then rackspace but then again I don't know much about that service or how it does the testing.
4. \*nix distro? any difference between choices? Anything I should go with as de facto standard?
5. webserver? middleware wsgi? wohooo way over my head here so if maybe somebody can point me into the direction of a tutorial on how to setup a production server would be awesome (been reading [this article](http://kencochrane.net/blog/2011/06/django-gunicorn-nginx-supervisord-fabric-centos55/) and it started to make more sense but still dont understand all of it. why do i need nginx for example)

Some of the questions I'm asking might seem really dumb but if maybe you keep in mind that everybody was in my position one time... :)

Thank you in advance for all your input (answers or comments)

Errata:

3bis. GAE? Amazon? Rackspace? Other cloud VM provider? Which one should I go with keeping in mind that I have a fool's wish to NEED to scale up. Also how easy would it be to switch afterwards? For example from GAE(bigtable) to another cloud vm provider(mySQL)(I understood that web2py DAL could work with both, how easy would it be to switch things around?)

5 I mean twisted,tornado,FAPWS etc. Which one is better?