Netezza Performance Server



Improved Backups on Netezza Performance Server

By MICHAEL DEROY posted Tue November 03, 2020 12:00 PM

We heard your feedback. You wanted faster backups and we've delivered. For years, NPS has used the zlib library to compress your backups, but since NPS (as a tech preview) we've added support for a modern compression library called zstd. Zstd was open sourced in 2015, and is now included in various file-systems, databases, and even the Linux kernel itself. Using zstd, you can expect improved backup speeds (up to 40%), Reduced SPU CPU Utilization (Up To 25%) and even better compression (Up to 10%). This functionality is currently limited to backup and restore from systems of the same size, but a future release will enable it to work between systems of all sizes. We plan on continuing to support the zlib compression format in the future to maintain compatibility with older backups. 
Lets take the new zstd backup functionality for a spin with a simple test. In this example I'll be backing up a single table with just one backup thread. Since, you can now specify the compression library for performing backups by passing the '-compressionLib <zlib, zstd>' flag to the nzbackup command. Lets run a backup for both zlib and zstd libraries and compare the results.
ZLIB ZSTD Improvement
Backup Time 13.3s 8.3s 40%
Backup Size 292M 277M 5%
Backup time was reduced by 40% and the backup was 5% smaller in size! ZSTD produces better compression, faster, and with less CPU utilization during the backup (check _vt_system_util during both backups to observe the reduced spu CPU utilization).

A bonus feature of using zstd is that we allow you to specify the level of compression you want when performing a backup by passing the optional argument '-compressionLvl <lvl>'. When running a zstd backup with a compression level of 5, the backup was slightly slower than our default compression level but produced a smaller backup. Be careful though; A compression level of 10 may result in a 20% smaller backup but be 24% slower than even our old zlib compression.
Backup Time 13.3s 8.3s 9s 17s
Backup Size 292M 277M 259M 240M
Our default zstd compression level performs backups faster than zlib, with a smaller backup and uses less CPU in the process. Give ZSTD compression a spin and let us know your feedback.
Relevant Documentation:
*Note that the improvements mentioned in this blog are based on an exercise in a controlled environment in our lab, and compression ratios and rates will vary depending on the data.