Hi,

I'm planning to create my first big scale API. So far I have only done programming and designing on simple structures like a Blog or one person APIs.

Now that i'm doing my first bigger scale design I came to a point where I would like to have some advice off the more experienced people.

The API itself is specific to one thing only, no problem in design that. The doubts raise when I want to implement it for more users.
Basicly there will be the homesite of my API:
http://www.myapi.com

On that page users will be able to sign up for the use of the api and own some small pages in the terms of:
http://www.myapi.com/username


Now so fare I see multiple possibilities but I don't know the right choice.

1ste solution
Create a new Database for every user who signs up.
The API data itself will just be stored in every DB.

2nd solution
One Database with a more complex table structure.
A User Table, A table with API data containing an ID to the user and a table specific table for every user.

3th solution
Basically the 2nd solution but change the specific table for every user to 1 table and every record has an ID to the user.



So far I think the 3th is the worst because there is one table that will be huge!!! (if the API becomes popular) So I'm doubting between lots of DB's or lots of tables. Which are the reasons for which designs?

thanks in advance