Thursday 10 February 2022

Reduce SAP HANA Memory Footprint and TCO of SAP HANA with NSE

Efficient Data Management strategy is important for SAP HANA customers to achieve low TCO (Total cost of ownership) and maintain memory footprint.

SAP HANA Data growth comes with its associated challenges and leave customers in Dilemma about the actionable to manage the growth, TCO and performance as depicted in below graph

SAP HANA Exam Prep, SAP HANA Career, SAP HANA Learning, SAP HANA Prep, SAP HANA Preparation, SAP HANA Guides

SAP HANA offers different solutions to manage TCO with growing data size. NSE (Native Storage Extension) is one of the solution provided by SAP HANA  which helps in reducing the overall memory footprint and TCO without adding additional infrastructure, explained in this article.

Prerequisite to implement NSE is to understand your dataset and categorize it in Multi-Temperature Data Management format as below

Hot Store 


Used to store mission-critical data for real-time processing and real-time analytics. Data is retained in-memory of the SAP HANA database.

Warm Store


Used to store data with reduced performance SLAs, which is less frequently accessed.  Data is stored on a lower cost storage tier, managed as a unified part of the SAP HANA database.

NSE is an evolution of “paged attributes”. Data which is less frequently accessed i.e warm store can be marked as “page loadable” in SAP HANA.

“Page loadable” data is loaded into memory in granular units of pages as required for query processing. NSE will reduce memory footprint for “page loadable” data. Data is partly in memory, and partly on disk.

Data in Hot store  marked as “column loadable” and resides completely in memory.

Below image shows difference between page and column loadable data.

SAP HANA Exam Prep, SAP HANA Career, SAP HANA Learning, SAP HANA Prep, SAP HANA Preparation, SAP HANA Guides

NSE supports column store tables, which support page-loadable columns and designate a column, partition, or an entire table as either page loadable or column loadable. Use the ALTER TABLE and CREATE TABLE commands to specify the <load_unit> preferences for column, table, or partition. Setting <load_unit> to PAGE enables the columns to load its structures in a pagewise manner into main memory. Specifying the <load_unit> as COLUMN loads the entire database object into the memory (the load unit designation only defines the behavior of the column load; it does not perform the load itself).

The buffer cache works with the existing SAP HANA memory manager to implement a page management policy. The buffer cache provides page memory from the dynamically managed memory pools. SAP HANA supports multiple page sizes, ranging from 4 KB to 16 MB. The buffer cache divides its memory into multiple buffer pools, with each pool for one supported page size.

By default, the buffer cache is enabled for SAP HANA NSE column store tables. You can use the configuration parameter enabled under buffer_cache_cs to disable or re-enable the buffer cache.

The default size of the buffer cache is 10% of the HANA memory

Native Storage Extension Sizing Information


- In general, NSE disk store should be no larger than 10TB for first release of NSE

- You May add as much warm storage as desired – up to 1:4 ratio of HANA hot data in memory to warm data on disk

- Divide volume of warm data by 8 – this is size of memory buffer cache required to manage warm data on disk

No comments:

Post a Comment