Technical Articles
SAP HANA – Partitioning Data Volumes
Description
Since SAP HANA 2.0 SPS03 and above versions, data volumes on the indexserver can be partitioned so that read and write operations can run in parallel with increased data throughput.
Each SAP HANA service has one data volume which by default stores its data in one single file. Administrators have the option to partition the data volume for the indexserver so that data files can be segmented and distributed over several stripes. Partitioning is a logical distribution of data pages over different partitions and striping is a physical segmentation of files; using partitioning and striping data can be read or written in parallel threads. Read more
Important Facts
Consider the following for SAP HANA data volume partitioning:
-
Data is not immediately distributed when a data volume partition is added to an existing system. Fresh I/O writes are distributed to the new data volume partition and eventually the database achieves even distribution from a size point of view.
-
If immediate even distribution of data is required, consider using SAP HANA backup and recovery (only file and backint based backup and recovery).
Syntax
To activate it, you need to first enable on systemdb, a parameter called PERSISTENCE_DATAVOLUME_PARTITION_MULTIPATH :
ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('customizable_functionalities', 'PERSISTENCE_DATAVOLUME_PARTITION_MULTIPATH') = 'true' WITH RECONFIGURE;
Later on tenant DB, you can now create the new partitions.
Add a partition for indexserver (available since SPS03 and above) :
ALTER SYSTEM ALTER DATAVOLUME ADD PARTITION
Add a partition for indexserver at specific path (available since SPS04 and above) :
ALTER SYSTEM ALTER DATAVOLUME ADD PARTITION PATH '<new path>'
Monitor Partitions
You can see the current data volume configuration from the following two views:
-
M_DATA_VOLUME_STATISTICS: This provides statistics for the data volume partitions on the indexserver including the number of partitions and size.
-
M_DATA_VOLUME_PARTITION_STATISTICS: This view provides statistics for the individual partitions, identified by PARTITION_ID, and includes the partition STATE value.
Hello Vivek,
I ahve been redirected to your blog by following Microsoft Azure docuemntation :
https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/hana-vm-operations-storage#stripe-sets-versus-sap-hana-data-volume-pa rtitioning
But threre isn't much guidance provided there I am confused at the moment ... I was wondering if you could help
Azure litterature is presenting Data Volume Partitionning as an alternative stripping volumes.
But I still do not understand how to determine how many Datavolume Partitions, I would need to create using the SQL command , based on which rules ?
Thank you for all the help you could provide
Raoul
Hello Raoul,
Kindly excuse my delayed response. As per my understanding, creating data volume partitions should be done on one by one basis and based on the performance, you can create further partitions.
For more facts please refer to this page.
Best Regards,
Vivek Sahu
Hi Vivek
Thanks a lot for the article.
Could you please tell us if the fonctionality "Partitioning Data Volumes" requires any license in order to be used ?
Best Regards
Billel Derbal
Hello Derbal,
This is a pure SAP HANA feature available since 2.0 SPS 03 and above systems, no additional license is needed.
Best Regards,
Vivek Sahu
Updated : 14th Dec 2021
Although this feature was available since SAP HANA 2.0 SPS03, but syntax for adding a partition to a specific path was introduced from Hana 2.0 SPS04.
Supporting document can be found here.