Databases as a Multitenant Provider
Persistence of data mandates a database for the guarantees
of Atomicity, Consistency, Isolation and Durability as well as for querying.
Tenants can be served their own databases in which case the database becomes a
multi-tenant data platform and the technology stack for handling the data might
vary from tenant to tenant. Groups of
database can be put into a container to manage them as a single unit. The
benefits of a multitenant database include the following:
1.
High consolidation density where containers of
database makes it easier to manage databases than the conventional single
database per tenant
2.
Rapid provisioning and cloning using SQL where
the database can be created, populated and cloned using SQL scripts.
3.
Rapid patching and upgrades where the patching
of individual databases inside a container can be accomplished by plugging out
and plugging in the database. The patching of the container is also fast.
4.
Converting and consolidating existing databases
into containers so that they can be managed as a unit.
5.
Resource management between pluggable databases
in a container
Multitenancy brings standardization which reduces the
operating expense. Cost often increases with variations in size and traffic on
databases. Customers benefit when the databases can scale out and remain
elastic. Both operational expense and capital expense reduces.
It is also possible to host distinct application backends
into the same database and this approach is called schema-based consolidation.
This reduces the number of databases and increases the consolidation density.
There are a few caveats to this approach which include 1. Name collision
hampers schema-based consolidation, 2. It brings weak security 3. Per
application backend point-in-time recovery is prohibitively difficult. 4. Resource
management between application backends is difficult, 5. Patching for a single
application backend is disallowed and 6. Cloning a single application backend
is not permitted.
The difference between dedicated database architecture and
this multitenant architecture is that the latter brings true within-database
virtualization. This is implemented by partitioning the data dictionary
horizontally. Within database virtualization removes the drawbacks of
schema-based consolidation. The physical separation between the container and
the databases brings pluggability. This unplug/plug action set brings a new
paradigm for patching. The sharing model and the background processes is the
same for conventional, pluggable databases and application backends. The container
or root is the new tenet of the multitenant architecture. Just as operating
systems orchestrate provisioning tasks, SQL statements executed against the
root implement them for pluggable databases.
In this case, multitenancy becomes a deployment choice with
neither the application backend nor the client code required to change.
Reference: Multitenancy: https://1drv.ms/w/s!Ashlm-Nw-wnWhLMfc6pdJbQZ6XiPWA?e=fBoKcN
No comments:
Post a Comment