I work for something like a consulting company. I have a web application that I built for one client. Now around 30 other clients want about the same product. The problem is, I don't know where to put the data. Most of the data is transactional, and all clients can fit into the current schema. The problem is, most of our clients are SQL fluent, and want to be able to access their tables. If I throw each client's data into the same table, I obviously won't be able to give anyone access to the table (the data is quite private and can't be shared). So I am trying to think out of the box.
Based on other answers here, it would not seem wise to give each client their own tables, each being about a replicate of the last. What about giving each client their own database? What pitfalls might come from that?