DB2 data compression and storage optimization
The DB2 Storage Optimization feature gives you the ability to transparently compress data on disk in order to decrease disk space and storage infrastructure requirements. Since disk storage systems can often be the most expensive components of a database solution, even a small reduction in the storage subsystem can result in substantial cost savings for the entire database solution.
DB2 uses a variant of the Lempel-Ziv algorithm to apply compression to each row of a table. Log records are also compressed. Savings are extended to backup disk space, racks, cables, floor space, and other disk sub-system peripherals.
Because compressed rows are smaller, not only do you need fewer disks, but your overall system performance may be improved. By storing compressed data on disk, fewer I/O operations need to be performed to retrieve or store the same amount of data. Therefore, for disk I/O-bound workloads, the query processing time can be noticeably improved.
DB2 stores the compressed data on both disk and memory, reducing the amount of memory consumed and freeing it up for other database or system operations.
Adaptive Row Compression
DB2 further enhances classical row compression by allowing an advanced row compression technique that uses table-level and page-level compression dictionaries. DB2 can reach higher compression ratios than ever before, and maintain them over time without table reorganization. This enables more granular, adaptive and dynamic updates, enhances query performance, and improves data availability.
DB2 with BLU Acceleration introduces several patented techniques permitting DB2 to not only store data more efficiently, but also to better process it while it is still compressed. BLU Acceleration applies predicates, performs joins, and does grouping, all on the compressed values of column-organized tables. Since no secondary indexes or MQTs are needed on column-organized tables, you save storage space. This combination brings together all resources—I/O bandwidth, bufferpools, memory bandwidth, processor caches, and even machine cycles—through single-instruction, multiple data (SIMD) operations.
The verbose nature of XML implies that XML fragments and documents typically consume a lot of disk space. DB2 stores XML data in a parsed hierarchical format, replacing tag names (for example, employee) with integer shorthand. Repeated occurrences of the same tags are assigned the same shorthand. Storing text-rich tags using integer shorthand not only reduces space consumption but also assists with higher performance when querying data. Moreover, the XML tag parsing, like data row compression, is done under the covers and is completely transparent to users and applications.