In this blog, we are going to see the different data tiering options available with the release of SAP BW/4HANA 1.0 SP04 and their advantages.
Need for Data Tiering
- Maintaining large volumes of data in in-memory impacts system performance
- Data growth proportionately affects hardware and storage costs.
With the release of BW/4HANA 1.0 SP04, SAP is providing functionality to classify the data in your datastore object as hot, warm and cold based on the data type, operational usefulness, performance requirements, frequency of access and security requirements of data.
Hot (SAP HANA Standard Nodes)
This tier is used to store data that is frequently accessed and is of high importance. Since data is being stored in-memory of SAP HANA database, data retrieval and query performance is higher.
Warm (SAP HANA Extension Nodes)
This tier is used to store data that is less frequently accessed. Data is stored in a dedicated SAP HANA extension node (available with SAP BW 7.4 with HANA 1.0 SP12), which will be reserved entirely for warm data storage and processing.
When the database is queried, it automatically retrieves data from the appropriate node. However, extension node provides more storage capacity when compared to worker nodes by extensively leveraging the disk to load and unload data whenever necessary into memory. While this provides an added advantage rather than storing everything in-memory, the access to warm data is however slower than hot data due to the fact that data sets need to be loaded into memory for processing.
For the minimal setup, we need to have one master node to store hot data and one extension node to store warm data.
Cold (External Cold Store)
This tier is used to store data for sporadic or very limited access. The data is stored externally in SAP IQ, Hadoop or SAP Vora that are managed separately from SAP HANA database but still accessible at any time.
In the General Tab of ADSO, under Data Tiering Properties, you can choose to whether store your data in the standard layer (hot), extension layer (warm) or the external layer (cold). Based on the selected temperature, you can go ahead and choose the method by which the data needs to be moved to the specified storage layer i.e. either by partition level or by object level. To store data in the external layer, partitions must be defined.
- If you have chosen “On Partition Level”, you must create partitions based on characteristics such as time characteristics (0CALDAY, 0CALMONTH etc) to divide the entire dataset of datastore object into several small independent units.
- If you have chosen “On Object Level”, it refers to the entire dataset of the datastore object.
To create a partition,
1. Go to the Settings tab of ADSO and browse for the relevant characteristic by which we are going to split (0CALYEAR e.g.) and provide a lower limit and upper limit for the partition.
2. Once created, you can choose to split the partition either by simple split, which will split the partition into two or by equidistant split, which will split the partition based on days, months, years etc.
3. Finally, you can maintain temperature setting for each individual partition by clicking on “Maintain Temperatures” which will take us to tcode RSOADSODTOS. Below we have created partition based on 0CALYEAR and we have defined warm storage for data below the year 2014 and hot storage for recent years.
Automation of Data Movement across different tiers
SAP has provided a new process chain type Adjust Data Tiering, which can be used to schedule the DTO job.
It has also provided a set of API’s that can be used in changing and scheduling temperature changes. This makes it possible to automate temperature changes and movements.
|RSO_ADSO_DTO_API_GET_INFO||Reads the partition temperatures of a specific Data Store object (advanced)|
|RSO_ADSO_DTO_API_SET_TEMPS||Changes the partition temperatures|
|RSO_ADSO_DTO_API_EXECUTE||Executes the DTO job|