Multi-Tenant vs. Single Tenant: Choosing the right DBaaS Data Store from the start
|Michael Russo in Cloud Services Thursday, November 17, 2016|
It might be helpful to think of multi-tenant DBaaS like housing your data in an apartment complex. You have your own space in the building, but you share walls with other families. You enjoy cost benefits from this arrangement and, it’s usually a simple task to secure a new lease and start moving in, but sometimes your neighbor throws a party and the noise affects your quality of life. You also must agree to a series of common rules when living in an apartment complex, so you don’t have full control over your environment.
Under the right circumstances, the multi-tenant shared model can deliver lower costs plus general reliability and adequate performance. This is especially true when your operational requirements are not particularly rigid. For instance, a typical WordPress blog with low to modest load can deliver a good end user experience with database response times from milliseconds to seconds, depending on the overall utilization of the database cluster. For scenarios where slight fluctuations in response times are acceptable, multi-tenant datastores are a great way to lower your cloud expenditures. While a properly-designed shared model will likely have mechanisms to prevent any particular task from monopolizing resources such as memory, CPU, bandwidth, etc., it will still be subject to varying performance as the load from individual tenants changes.
As mentioned, housing multiple database tenants on a single cluster can introduce restrictions. Take the example of a single database engine on a shared cluster; the software instance is also shared in this case, which provides the most efficient use of resources. This approach however, may make it impossible to implement certain features, especially those that by design might monopolize certain system resources. Some configurations must be set globally across a cluster and cannot be set differently for each tenant; for example, the localization settings of the database software may be fixed for all tenants.
If multi-tenant cloud datastores are like housing your data in an apartment complex, then single-tenant cloud datastores are like buying your data a single-family home. While the power of your infrastructure may determine whether your data lives in a cozy 2-bedroom cottage or a luxurious mansion on 20 acres of land, there are certain universal benefits to single-tenant that apply in all cases. As the single inhabitant of your castle, you can expect an improved quality of life plus more control over your environment.
Single tenant DBaaS models typically do not have the limitations noted in the multi-tenant discussion. The absence of shared resources means tenants enjoy consistent performance that can’t be impacted by noisy neighbors. That’s an extremely important benefit for mission critical applications that must deliver an optimal and consistent user experience.
You’ll typically gain a number of environmental control benefits with single-tenant cloud datastores, such as the ability to lock down a cluster with client-side certificates, or use of IP whitelisting. There is less need to enforce restrictive access controls to prevent co-mingling of information. The ‘simpler’ environment of single tenant systems also translates to easier diagnosis and remediation of issues, should they occur. From an operations standpoint, there is no need for concern about how actions such as restarts or backups will affect other users.
The majority of DBaaS users find multi-tenant restrictions absolutely acceptable for their small to moderate workloads. Some use multi-tenant databases for test/dev or staging environments, opting for the more powerful single-tenant services for their production workloads. For mission critical workloads and critical applications, single-tenant datastores are almost always the better choice.
Both multi-tenant and single-tenant environments have their merits, so a simple analysis of your own requirements up-front can help you choose the optimal path forward. As with any deployments, you are urged to choose wisely as changing the deployment model after the fact is seldom painless.
Google Cloud Platform in Action teaches you to build and launch applications that scale, leveraging the many services on GCP to move faster than ever. You'll learn how to choose exactly the services that best suit your needs, and you'll be able to build applications that run on Google Cloud Platform and start more quickly, suffer fewer disasters, and require less maintenance.
Learn how easy it is to apply sophisticated statistical and machine learning methods to real-world problems when you build on top of the Google Cloud Platform (GCP). This hands-on guide shows developers entering the data science field how to implement an end-to-end data pipeline, using statistical and machine learning methods and tools on GCP. Through the course of the book, you’ll work through a sample business decision by employing a variety of data science approaches.
Are you paying more taxes than you have to as a developer or freelancer? The IRS is certainly not going to tell you about a deduction you failed to take, and your accountant is not likely to take the time to ask you about every deduction you’re entitled to. As former IRS Commissioner Mark Everson admitted, “If you don’t claim it, you don’t get it.
Get hands-on experience in performing simple to complex mobile forensics techniques Retrieve and analyze data stored not only on mobile devices but also through the cloud and other connected mediums A practical guide to leveraging the power of mobile forensics on popular mobile platforms with lots of tips, tricks, and caveats.
The Chirp GPS app is a top-ranked location sharing app available for Apple and Android that is super easy to use, and most of all, it's reliable.
Write and run code every step of the way, using Android Studio to create apps that integrate with other apps, download and display pictures from the web, play sounds, and more. Each chapter and app has been designed and tested to provide the knowledge and experience you need to get started in Android development.
This content is made possible by a guest author, or sponsor; it is not written by and does not necessarily reflect the views of App Developer Magazine's editorial staff.