Skip to Content
Author's profile photo Alper Somuncu

SAP HANA Multitenant Database Architecture

SAP HANA Multitenant Database structure is basically a concept that allows multiple but isolated databases in one SAP HANA.

It comes with three major advantages:

  • Lower the capital expenditure & TCO
  • Much simpler database management
  • Allows to build, deploy and run multitenant cloud applications

In order to utilize multiple container capabilities, SAP HANA system needs to be installed in multiple container mode, but it is also possible to convert single container systems to multiple container systems. From architectural point of view, SAP HANA multiple container system have one system database for central system administration and additional multitenant database containers called tenant databases.

Note that when an SAP HANA system installed in multiple container mode, it will have only one system ID (SID) and tenant databases are identified by a SID and database name.

Below figure would provide a better understanding around the overall architecture of SAP HANA Multiple Container Structure. System database provides centralized administration activities and can be used to create, drop, start, stop tenant databases and perform backup/recovery, system replication activities for all tenant databases at once.

As an SAP HANA system consists of multiple servers; name server, index server, preprocessor server, XS server etc. and the databases in a multiple-container system run different combinations of these servers. For instance, only the system database runs the name server which contains landscape information about the system, including which databases exist where. It also provides index server functionality for the system database. However, unlike the name server in a single-container system, it does not own the topology information (location of tables and table partitions in databases), and all the topology information is stored in the relevant tenant db catalog.

Tenant databases in this structure, require only an own index server. The compile server and pre-processor servers run on the system database and they can serve all tenant databases. SAP HANA XS server runs as embedded to the master index server of the tenant database by default, and it can also be added as a separate service if necessary. For now, multiple container systems are not supported by the SAP HANA XS advanced model.

From performance point of view all tenant databases in the same HANA system share the same system resources (memory and CPU Cores). It is possible the allocated system resources anytime depending on requirements from each specific tenant database. Tenant databases are self-contained and has its own database users, db catalog, repository, backups and logs. Also, this structure allows to run cross-database SELECT queries which is a great advantage when it comes to cross application reporting.

Love the article? Hate the article? Have other ideas or questions regarding HANA multitenancy concept? Please leave a comment below, I would love to help and learn from you as much as I can!


References and further reading:

SAP HANA Platform (Core)
Overview of SAP HANA Architecture
Connections for multitenant database containers

Assigned Tags

      13 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Mike Doyle
      Mike Doyle

      Thanks Alper for a very informative blog.  How does this structure relate to a HANA system on HANA Cloud Platform (HCP)?  Does each customer get their own HANA system with scope for multiple containers?

      Or is there just one HANA system for all customers at a given datacentre?

      I suspect that HCP might have been a big driver for the development of the multitenant architecture.

      I noticed that you wrote: 'For now, multiple container systems are not supported by the SAP HANA XS advanced model'.  Does that mean I can't use XSA with an HCP HANA stack?

      Author's profile photo Alper Somuncu
      Alper Somuncu
      Blog Post Author

      Hi Mike,
      Thanks for the message. As you know, SAP HANA Cloud Platform is a PaaS that provides in-memory database and application services. Multiple Database Container should be considered more like a different database architecture than classical approach where we used to deploy one HANA database to one HANA appliance.

      With MDC, there can be only one HANA appliance hosting multiple HANA tenant databasese (hence multiple SAP systems) OR multiple HANA appliances that can host multiple HANA databases spanned across each other. You can also configure one HANA appliance in standby mode, so in case any of the remaining HANA hosts shuts down for any reason, the standby will take over its role automatically, which is called Host Auto Failover. So basically when you configure MDC, there is one system database per host and there can be one or multiple tenant databases located in that host. Because there is also a physical server partitioning, I can't say HANA host exactly means 1 HANA database, but if you ignore server partitioning configure you can think one HANA appliance as a HANA database. There is an image in the article I wrote yesterday about HANA database architecture which you can find here (it should be somewhere around SAP community blogs as well): Choosing the right HANA Database Architecture

      This might provide a better understanding in terms of the architecture.

      You receive a database reserved for you that resides in a multiple-container system (MDC, tenant database). Hosting of multiple SAP HANA databases on a single SAP HANA database system is possible when the support for multitenant database container is enabled for the SAP HANA databases (currently a beta feature). All tenant databases in the same system share the same system resources (memory and CPU cores) but each tenant database is fully isolated with its own database users, catalog, repository, persistence (data files and log files) and services. More details regarding this can be found here.

      You are right, even though multitenant architecture was a well known technology for years, HCP is the driver when it comes to SAP landscapes.

      SAP HANA XS is available in a multitenant database containers architecture but as far as I know XSA is not available in HCP.Cheers,
      Alper

      Author's profile photo Former Member
      Former Member

      Hi Mike,

      Multi-Tenant, as defined by SAP Note 1826100 – Multiple applications SAP Business Suite powered by SAP HANA, or MDC or in some instances MCOD is dependent on the ‘White List’ and is evolving. It also creates limitations in the ability to patch and potential performance impacts across products as the pool of resources is consumed by one product starving others for resources.
      Although multi-tenancy or even multiple databases on a single ‘device’ as referenced in SAP Note 2096000 – SAP HANA multi tenant database containers is usually selected as a way to economically manage more on less resources. In the cloud ecosystem it is far better to have each HANA instance sized for its single intended purpose. When utilizing a device based infrastructure MDC makes more sense and the limitations are outweighed by cost savings .In a cloud world we can size and resize to a larger image very quickly without stranding resources or over allocating because of growth.

      Your thoughts

      deepa nair

      check this out https://velocitycloud.com/expertise/sap-hana-services/sap-hana-implementation

      Author's profile photo Former Member
      Former Member

      Hello Alper

      I would like to know whether if HANA MDA Technology is for SAP HANA Cloud or it can be used on SAP HANA on Premises

       

      Best Regards,

      Atif Saqlain

       

       

      Author's profile photo Alper Somuncu
      Alper Somuncu
      Blog Post Author

      Hi Saqlain,

      Multitenancy is available in SAP Cloud applications, for more details have a look: https://help.hana.ondemand.com/help/frameset.htm?b92140a0c6b942e1a0f72e9fd1133fd9.html

      Kind regards,

      Alper

      Author's profile photo Former Member
      Former Member

      Hi Alper,

      Is it possible, once a SAP HANA SPS12 is mounted on a SUSE Linux 11, to install SAP Business One PL08 on a multi tenant database?

      How do you focus the installation to indicate its database?

      Author's profile photo Alper Somuncu
      Alper Somuncu
      Blog Post Author

      Hi Alberto,

      Sorry for the delayed response, I usually am more active on LinkedIn.

      Yes you can install it on a multi tenant database, it is no different from a single container database.

      Kind regards,

      Alper Somuncu

       

       

      Author's profile photo Former Member
      Former Member

      During the installation of B1 on SAP HANA Multitenant, at the time of selecting the SLD directory, it gives me a bug and says it can not find it. Instead, when you are installing on a Single Tenant if you leave and there is no error. This is what you can do?

      Kind regards,

      Alberto.

      Author's profile photo Alper Somuncu
      Alper Somuncu
      Blog Post Author

      Hi Alberto,

      Apologies, I am more active on LinkedIn. Leave it and then register your system to SLD later.

      Kind regards,

      Alper Somuncu

      Author's profile photo Former Member
      Former Member

      Hi Does Multi tenant support different timezones

       

      Author's profile photo Alper Somuncu
      Alper Somuncu
      Blog Post Author

      Hi Bharath,

      Time zone data stored in the TZ* tables have a look at the following post: https://blogs.sap.com/2014/02/19/you-got-the-time/

      Kind regards,

      Alper Somuncu

      Author's profile photo M. Adriaansen
      M. Adriaansen

      dear Alper,

      I have same issue as Alberto above, SAPB1 v9.3.00:

      the Studio shows no errors, services are fine, indexserver listens on port 30040 . (=first tenant)

      but SLD does not want to accept it.

       

      =>can you please confirm that SAPB1 SLD can be successfully installed on HANA systems with native MDC?

      thank you very much

      Author's profile photo Alper Somuncu
      Alper Somuncu
      Blog Post Author

      Hi Marc,

      Apologies, I am more active on LinkedIn. Can you double check if there are no other characters in Port field? Let me know how it goes.

      Kind regards,

      Alper Somuncu