I'm developing an application that will be used by several independent
customers. Conceptually, the data from one customer has no relation at
all to another customer. In fact, each customer's data is private, and
you would never combine data from different customers. I'm trying to
decide whether to:
a) give each customer a separate database
or
b) put everyone in the same database, but take steps to ensure that
customer #1 cannot see data from customer #2.
I was talking to an Oracle expert who suggested (based on his oracle
background) option b where each customer has their own schema. His
feeling was that each database has significant memory overhead, which
then gets multiplied with option a. At least it does with oracle.
Does anyone have any suggestions?