Database design for multi-tenancy on the cloud

Share this post:

Cloud computing is opening markets not previously contemplated by businesses in the past. Some software companies are now thinking of delivering their software as a service instead of the usual method of developing the software and selling it to their clients using typical distribution methods. To become a software as a service (SaaS) vendor, companies need to find the right balance where resources are shared among the various tenants to reduce costs, while at the same time to ensure that customer information is kept isolated from other customers. There couldn’t be a more serious problem than being able to see private information of one tenant from the account of another tenant!  In addition to isolation of tenant information, SaaS vendors need to provide some level of customization for their customers.

In a multi-tenant environment, a SaaS company can reduce costs if it shares or reuses more of its resources. However, the more the company shares resources, the more risks it faces because an outage of a shared resource can potentially affect many customers. The more resources shared also adds to the complexity of the solution.

In this blog entry, I concentrate on the data layer, and specifically, I provide the considerations required if you are using DB2 as your database server of choice. With DB2, at least six cases are available of how you can architect your database server on the cloud for multi-tenancy:

  • Sharing tables
  • Sharing a database
  • Sharing a database and using a different schema name
  • Sharing an instance
  • Sharing a database server
  • Sharing a database server with multiple DB2 copies

These cases are listed in a certain order: from the cases where most resources are shared, to the cases where the least resources are shared.  For more details about each case, and to learn the pros and cons, read this article.

As a SaaS vendor, you will likely have to choose the methods where you share resources.  If you take the necessary precautions, such as using DB2 HADR feature, and other high availability and redundancy controls; you can reduce or prevent problems in a multi-tenant environment. Some of these data resiliency controls are built into the cloud.

More stories

Why we added new map tools to Netcool

I had the opportunity to visit a number of telecommunications clients using IBM Netcool over the last year. We frequently discussed the benefits of have a geographically mapped view of topology. Not just because it was nice “eye candy” in the Network Operations Center (NOC), but because it gives an important geographically-based view of network […]

Continue reading

How to streamline continuous delivery through better auditing

IT managers, does this sound familiar? Just when everything is running smoothly, you encounter the release management process in place for upgrading business applications in the production environment. You get an error notification in one of the workflows running the release management process. It can be especially frustrating when the error is coming from the […]

Continue reading

Want to see the latest from WebSphere Liberty? Join our webcast

We just released the latest release of WebSphere Liberty, It includes many new enhancements to its security, database management and overall performance. Interested in what’s new? Join our webcast on January 11, 2017. Why? Read on. I used to take time to reflect on the year behind me as the calendar year closed out, […]

Continue reading