September 21, 2012
Database challenges in multi-tenancy support
I predicted 2 months ago that Oracle 12c would have some kind of improved support for multi-tenancy; Larry Ellison confirmed on this week’s earnings call that it will. So maybe it’s time to think about what such support could or should mean. I’m actually still on vacation, so I’d like to keep this short, but here are a few notes.
- The goal of multi-tenancy is:
- SaaS (Software as a Service) users should get all the flexibility, performance, security, and control they would expect if their SaaS vendor hosted a software instance and database just for them.
- SaaS vendors shouldn’t have to do any more than host a single instance of the application software and a single database.
- In its purest form, that goal is a nice dream.
- Separation-of-access and related security issues are the most obvious requirement of multi-tenancy. However, the simplest ways to meet the requirement stress your SELECT statements. I alluded to that in a post about salesforce.com.
- In a clustered, multi-tenant SaaS database, you want each tenant’s individual database to be properly clustered. Perhaps you want it all on one server. Perhaps you want it striped across the cluster. In any case, your DBMS’ clustering has to be flexible and granular enough to make that possible.
- Caching should also be as good for each tenant as if that tenant had a standalone database.
- Individual tenants need to be able to administer their databases, at least in certain ways, as if they were standalone, or else the SaaS vendor needs to be able to do it for them.
- This is implicit in what I said above about users/roles/permissions, clustering, and caching.
- It really gets interesting when we take into account application customization and the resulting schema changes.
- And before we get too excited about any of this, please note that there are many SaaS vendors in the world doing just fine without explicit DBMS multi-tenancy features.
Comments
8 Responses to “Database challenges in multi-tenancy support”
Leave a Reply
Don’t forget backup/restore…
Good point, Jeff.
Backup/Restore should be granular enough that they can be done tenant-at-a-time, when needed.
Here’s a multi-tenancy DREAM: When tenants acquire other tenants, their data is combined seamlessly, automatically and instantly.
Rob,
That sounds like a 2-step process:
1. Import the data of the acquiree as a separate subsidiary.
2. Redo the org chart.
#2 seems like the harder one, but that’s functionality that’s needed for many cases other than M&A. I know the Peoplesoft/Workday folks have thought about reorgs for a long time. No doubt the salesforce people have done so too, given that sales territories are so often restructured.
*The main competition of multi tenancy is hypervisors*
Oracle is seeing generic “white box” servers getting powerful enough to support consolidating multiple legacy DBMS servers. With Oracle having limited success as a hypervisor vendor and hypervisors being awkward virtualizers of DBMS load, this becomes their new vision of how corporate DBMS will evolve.
The top tier is Exadata, serving both as the server for the largest apps and for consolidation of messy apps using RAC.
The middle and lower tiers become either white box Linux servers or Oracle branded “database appliance” where large installations standardize on strict hardware envelopes, and somewhat on configuration. These can be used for consolidation if they can maintain user trust.
This structure solves several fundamental problems for Oracle. The knock against Oracle requiring too much administration is reduced by standardization. The flow becomes straightforward within the DBMS – small is accommodated easily to keep Oracle growing, and the critical apps Oracle is judged on goes into and Oracle controlled box – and that box grows to keep attacking the glamorous few monster datawarehouses.
(BTW – Oracle already offers a rarely used feature, virtual private databases, which append filters to SQL allowing multiple apps to run in the same instance. This is different.)
[…] 5 is a mess. For one thing, it misuses the term multitenancy. Beyond that, it sounds like a minor performance optimization blown up into a […]
Thanks to my father who shared wjth me on the topic of this webpage,
this weblog is truly awesome.
Great blog here! Also your web site loads up very fast!
What host are you using? Can I get your affiliate
link to your host? I wish my site loaded up as quickly as yours lol