SAP HANA – Partitioning Data Volumes
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
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).
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>'
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.