Skip to Content

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

To report this post you need to login first.

5 Comments

You must be Logged on to comment or reply to a post.

  1. 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?

    (0) 
    1. Alper Somuncu 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

      (0) 
  2. deepa nair

    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

    (0) 
  3. Saqlain Atif

    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

     

     

    (0) 

Leave a Reply