What's Up with SAP HANA Multi-tenancy?

  

UPDATE 9/16/2015: HANA Monitoring Multi-tenancy Environment

On June 23, 2015, I attended the SAP HANA Operations Summit at SAP Labs in Palo Alto and there was a lot of buzz around Multi-tenant Database Container (MDC) or Multi-tenancy.  Recently, we also encountered some of our SAP monitoring customers who deployed MDC, so this publication will summarize some of the highlights and findings encountered with MDC.

There is a good summary of what Multitenancy and how to convert HANA to a multi-tenant system, so I won't restate them here, but if you have ever worked on a SAP MCOD (Multiple Component on One Database) system, it is similar.  MDC is available as of the SPS09 revision, either as a new install or converted from a single database system.

Key Concepts

Here are the key concepts behind MDC:

1. A single SID (System ID)

  • This is used for connection and system identification.

2. Multiple databases 'inside' identified by name

  • A separate port is assigned to the tenant database.
  • Each tenant database is intended for use by a single application so multiple related applications such as Production ECC and BW may share a single HDB system.

3. Sharing

  • RDBMS software and revision, which means installation and patching affect all tenants.
  • Hardware, for the most part, although each tenant can be spread out across different hosts in a scale-out system
  • System database
  • Global parameters
  • HA/DR Failover and Replication affects all tenants
  • Central administration

4. Isolation

  • Data and security
  • Local parameters that can affect resource allocations such as CPU and memory limits
  • Backup/Restore can be done at a tenant level

5. Flexible Scale-out Scenarios

  • Tenant DBs can share a hardware cluster for performance and redundancy

SAPHANA_MDC_Scale-out


Key Findings

Here are the key findings from our experience working with MDC:

1. To do or Not to do

  • Whether upgrading from pre-SPS09 or new installation on SPS09 or SPS10, MDC is optional.  Most customers, even though they run MDC, only use one tenant DB, because for business or other dependencies, sharing a SID is not ideal
  • Conversion is simple, but think about the process and implications.  Management will actually be more complicated unless MDC will actually host multiple tenant DBs

2. Monitoring

  • Each tenant DB has its own catalog including SYS statistics views, make sure to monitor the correct tenant
    SAPHANA_MDC_Studio_System_Monitor
  • SAP HANA Studio requires a separate connection to each tenant DB, but there seems to be NO way to specify the port to connect to a tenant DB other than the one running on default port 30015
SAPHANA_MDC_Studio_Connection_Properties
  • SAP HANA Cockpit: connects to the XS engine, so if the system is stopped, there's no Cockpit, and port 8000 responds to the Tenant with default hdbindexserver running on 30015 (which is likely the first Tenant DB), even though the cockpit says it's SYSTEM DB.  Confusing?  Also, the Dashboard does not auto-refresh either in a browser or embedded mode, and times out often so you have to re-login, which is quite annoying!  I haven't figured out how these Fiori panels will give a drill-down breakdown of consumption by tenant.
    SAPHANA_MDC_HANA_Cockpit
  • SAP Solution Manager: Well, that's another exercise to set up and monitor a tenant DB similar to our SAP HANA Monitoring Setup using Solution Manager.  As SAP indicated, it will support the SAP Database Control Center in SPS10 (which is really a Sybase product if you ever worked with ASE monitoring).

3. Licensing

  • As of SPS10, licensing is still done at the SID level although there are plans to allow Tenant-based licensing by SAP in future releases.  In this sense, customers may benefit in sharing the system to run multiple tenant DB workloads

Summary

SAP is probably responding to industry and cloud-based multi-tenancy trends, such as Oracle's 12c Plugable Databases, but for most SAP customers a Cost-benefit analysis has to be done in order to justify MDC due to the additional layer of complexity while trying to simplify by going to HANA.  A combination of shared services would need to weigh up against non-shared isolation features to see what benefits they can each bring to the business and IT.

 

Schedule a Demo