Vadim and I have just published a new technical white paper. It shows how Percona Server with XtraDB can make large-scale multi-tenant databases easier to build with MySQL. Our experiences working with SaaS and shared-hosting companies influenced the features we included in Percona Server and XtraDB, and I think this is the best explanation of what levers are available and how to use them.

Percona Server with XtraDB for Software-as-a-Service Application Databases is posted on the white-paper section of our website. No registration is required; it is just a PDF, freely downloadable with no marketing follow-up. Many thanks to Mark Callaghan and Dimitri Kravtchuk, who reviewed and gave valuable suggestions that made the white paper better.

3 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Sean

Interesting writeup. Good to see clear benefits of using Percona Server and XtraDB to solve some problems from the normal MySQL/InnoDB. Also I never considered having separate DB users for each SaaS user for a little pet project. But how you highlighted the benefits of being able to track an individual’s usage for sharding planning could be very helpful.

Thank you for sharing it with us.

Eric Hauser

I’m not sure you do a good job of backing up your arguments against the EAV model. Salesforce, the larges SaaS provider, uses exactly that model (with a lot of customizations at the database level). Granted, most companies don’t have the engineering budget of Salesforce to develop that type of architecture, but the tradeoff is the number of DBAs needed to maintain the approach that you are recommending. This is one of the things Salesforce touts when talking about the database model. Of course, automating some of the maintenance is an option as well, but it is interesting to discuss the tradeoffs.