3

When it comes to managing a database, its obviously easier to manage a single database that has all customer data in it (multi-tenant).

If I was to create the application with a single client in mind, meaning that each new client means that will have their own seperate mysql database.

This means if I have 10K customers, I will have 10K mysql databases, one for each customer.

Would this be a nightmare to manage? (upgrades, etc.)

certain things will be easier, liking backing up a customers database. Also, if a client is using more resources, one could backup and move their database to a server that isn't as much utilized etc.

Comments?

Blankman
  • 2,841
  • 10
  • 38
  • 65

2 Answers2

5

Personally it's my opinion that the integrity and security of each customers data is more important than any other consideration. I would never configure 2 different clients to use the same database. If this is the business you've chosen then my opinion is that it's your responsibility and your burden to provide an environment that insures the integrity and security of each clients data. If that means you have more hardware costs and more management overhead as a result, that's the cost of doing business.

joeqwerty
  • 108,377
  • 6
  • 80
  • 171
1

I would opt in for the consolidation of using lesser databases. 10K databases would seem like a nightmare to manage however at the same time there is opportunity for better disaster recovery.

Resources are a good point to bring up and address issues when those databases are on different hardware resources.

Perhaps you can do this on a case by case basis. heavy i/o clients on single databases and group lesser intensive ones. there is probably not a standardized solution that would work here if the range can scale out as many as 10,000.

Nick O'Neil
  • 1,769
  • 11
  • 10