I have just begun development of a web application (that will be deployed using Google app engine), without going into the specifics, the web app will allow users to deploy a small website of their own, part of app allows the users to create a form to allow customers to sign up to the users website, however each user may require to collect different data on its customers, for example one user may require a customers first name and email address only where as another may also require the customers age.My question is what would be the best way to structure the database(s)?By structure the database(s) I mean how can I implement them so that I can store the different data collection sets for each user and then store the information that is retrieved by each of these users from their customers? For example I dont think this is right but my initial though was that I would have to deploy a database for each of the users but this seems like overkill, or add a new table for each of the users (I dont even know if these two are options). I have only had experience with trivial databases and this problem has me confused.
Web application - database design/infrastructure
database;database design;google app engine
I would suggest that you look into Cassandra or MongoDB. They both are, what is commonly known as NoSQL databases. Some advantages that NoSQL databases have over traditional relational ones are:Helps in ScalingFlexible data modelDistributed and Fault tolerant