Introduction
In the ever-evolving landscape of enterprise resource planning (ERP), SAP S/4 HANA stands tall as a game-changer, promising unparalleled efficiency, and innovation. One of the key features that contribute to its prowess is Data Aging. In this blog post, we delve into the intricacies of Data Aging in S/4 HANA, understanding its significance and exploring how it can shape the data management strategy of modern businesses.
Understanding Data Aging:
Data Aging is a Suite-tailored data management concept for reducing the SAP HANA memory footprint, based on a Data Aging Framework provided by SAP NetWeaver ABAP. Data Aging is available for SAP Business Suite on HANA and SAP S/4HANA applications and offers the option of moving large amounts of data within SAP HANA to gain more working memory. Data Aging differentiates between operationally relevant data (Hot/Current), and data that is no longer accessed during normal operation (Cold/Historical). The data temperature can be used to horizontally partition the tables (taking part in Data Aging) for optimizing resource consumption and performance - moving data between the different partitions (i.e., from hot to cold partitions). Hot data resides within SAP HANA main memory, whereas cold data stays primarily stored on disk, but remains accessible via SQL on request.
Benefits
The goal of aging is to both reduce the main memory footprint and speed up database queries by only keeping operationally relevant (hot) data in main memory. In contrast to this, cold data is placed primarily on (less expensive but usually slower) secondary storage and accessible via SQL on request.
Data Archiving and Data Aging in S/4 HANA.
In SAP HANA, Data Aging is different than Archiving in the sense that cold data is still kept within the SAP HANA Database and remains accessible via SQL in the very same table as the hot data (yet in another partition). Whereas archived data - strictly read-only - is written to an archive file and deleted from the database and needs additional access paths (address information or archive indexes) to be read. Aging targets the main memory footprint reduction whereas archiving is the basis for ILM, covering the full life cycle up to the destruction of information.
Data Aging offers you the option of moving operationally less relevant data within a database so as to gain more working memory. You use the relevant SAP applications, particularly data aging objects to move data from the current area to the historical area. The move influences the visibility when data is accessed. This means that you can perform queries of large amounts of data in current area in a shorter time. This also means that careful testing is required to ensure that the change of visibility is in line with the business processes requirements.
To be able to apply Data Aging to your data, you need to fulfil certain requirements regarding the database and the application.
Data Archiving is used to remove data from the database and store it outside in a consistent and secure manner. The archived data is stored in a file system and from there can be moved to other, more cost-efficient, and long-term storage system via the ArchiveLink interface or the ILM interface.
Hot and Cold Data (Buzzwords…)
Hot data : Current data is the data relevant to the operations of application objects, needed in day-to day-business transactions. The application logic determines when current data turns historical by using its knowledge about the object’s life cycle. The application logic validates the conditions at the object level from a business point of view, based on the status, execution of existence checks, and verification of cross-object dependencies. Current data is stored in the current area.
Examples of current data: Open FI items, items cleared only a few months ago, undelivered purchase orders, sales documents of sales cycle that is still in progress, documents for an ongoing project, and IDocs that need to be processed.
Cold data: Historical data is data that is not used for day-to day-business transactions. By default, historical data is not visible to ABAP applications. It is no longer updated from a business point of view. The application logic determines when current data turns historical by using its knowledge about the object’s lifecycle. The application logic validates the conditions at object level from a business point of view, based on the status, executing existence checks, and verifying cross object dependencies. Historical data is stored in historical area.
Examples of historical data: Cleared FI items posted two years prior to the current fiscal year, material documents one period older than the current closed period, processed IDocs, and application logs after X number of days.
Data Aging Technical Process in S/4 HANA
The data aging mechanism for ABAP applications is based on a data aging framework provided by SAP NetWeaver ABAP. ABAP developers use this framework to specify the data aging objects that are aged as one unit, to identify the involved tables, and to implement the logic for determining the data temperature. The data temperature is set via an additional data temperature column '_DATAAGING' (type DATA_TEMPERATURE with ABAP date format “YYYYMMDD”), which is added to all participating tables.
The data temperature can be used to horizontally partition the application data with time selection partitioning (a.k.a. "aging") on the column '_DATAAGING' for optimizing resource consumption and performance. Only one partition contains the hot data (represented by the value “00000000”) and the other partition(s) contain cold data with different data temperature ranges.
By default, only hot data is accessed. As the hot data is located in a separate partition, SAP HANA should only load that partition into memory during normal operation. If required, ABAP developers can set the data temperature context to switch between accessing only hot data, all data, and all data above a specified data temperature.
The SAP HANA-specific database shared library (DBSL) in the ABAP server adds a corresponding clause to the SQL statements that are sent to SAP HANA. By adding the clause WITH RANGE RESTRICTION ('CURRENT') to a SQL statement, SAP HANA restricts the operation to the hot data partition only. Instead of 'CURRENT' also a concrete value can be specified. This restricts the operation to all partitions with data temperatures above the specified value. The clause WITH RANGE RESTRICTION ('20100101'), for example, tells SAP HANA to search the hot partition and all cold partitions that contain values greater or equal than '20100101'. Range restriction can be applied to SELECT, UPDATE, UPSERT, DELETE statements and to procedure calls.
All other clients that want to access these Data Aging tables with proper filtering, the same generic syntax extension may be used.
The application knows which business objects are closed and may hence be moved to cold partitions. Therefore, the application actively sets values in this column to a date to indicate that the object is closed and the row shall be moved to the Cold partition(s) during an Aging Run. Since the table is partitioned by the temperature column, the rows are automatically moved then to a cold partition. The move influences the visibility of the data and its accessibility. Several configuration steps/prerequisites need to be administered to be able to execute a Data Aging Run.
When does the data move from the hot partition to cold partition?
The application logic determines when current data turns historical by using its knowledge about the object’s life cycle. The application logic validates the conditions at the object level from a business point of view, based on the status, execution of existence checks, and verification of cross-object dependencies.
The data will be moved during a Data Aging Run. To set up an Aging Run several tasks need to be fulfilled upfront:
For scheduling Data Aging Runs go to transaction DAGRUN and select a Data Aging Group, Maximum Runtime and Start Date/Time to schedule the run. The same transaction can be used to monitor Data Aging Runs as the initial screen shows a list of runs with the details, such as, the Data Aging Groups, Start date/time, Duration, and Job name.
Guidance, Technical Considerations and TCOs
Data Aging in SAP S/4HANA can be used to actively remove part of the data that is stored within the SAP HANA database from HANA’s main memory. This is different from the “column unload” functionality in SAP HANA. Aged data remains technically addressable within the database; within the ABAP system, visibility of aged data is per default restricted. The technology to store and process aged data is designed for sporadic transactional (OLTP) access. Access must be limited to that part of data for which longer response times caused by hard-disk access are acceptable.
To utilize Data Aging in each application component, a corresponding data aging object must exist. Available Data Aging Objects - Available Data Aging Objects
Technical Considerations:
Data Aging does not reduce the size of data in the SAP HANA database. It can reduce the amount of memory required to store and operate on parts of the data in the database. In consequence, Data Aging is not a technology to fulfil expectations such as:
To reach those goals, the following methodologies and technologies are most relevant:
Technically, aged data is accessible in the SAP HANA database and the SAP S/4HANA system. There are no additional authorizations to control access to aged data or other means to block access to aged data. Therefore, Data Aging does not play a role when designing system aspects related to data protection and privacy (DPP). The use of archiving with ILM is one important means to achieve DPP blocking.
If use of Data Aging and archiving is combined for the same objects, the archiving runs will need to process aged data. This impacts the runtime of archiving processes.
TCO Considerations
To understand potential impact of Data Aging on TCO, consider,
Other Considerations:
Data Aging in SAP S/4HANA can be used to actively remove part of the data that is stored within the SAP HANA database from HANA’s main memory. This is different from the “column unload” functionality in SAP HANA. Aged data remains technically addressable within the database; within the ABAP system, visibility of aged data is per default restricted. The technology to store and process aged data is designed for sporadic transactional (OLTP) access. Access must be limited to that part of data for which longer response times caused by hard-disk access are acceptable.
Because of technology advances, use of SAP HANA NSE without Data Aging is preferrable in the case of technical/logging data. As a simpler alternative to Data Aging, memory footprint reduction for technical and logging data can be achieved by using SAP HANA native storage extension (NSE) directly without using Data Aging.
Benefits of using NSE directly are:
Conclusion
For technical and logging data, direct use of NSE is recommended.
For application data, if you are using Data Archiving - use of Data Aging can normally not be recommended.
Data Archiving (with or without ILM) remains the most important means to manage information lifecycle.
To implement Data Aging, ( Pre-requisites , Procedure etc ) refer to the SAP Documentation, Data Aging | SAP Help Portal
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
10 | |
8 | |
7 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 | |
3 |