Tömörítés becslése - Compression Advisor
- by lsarecz
Az Oracle Database 11g verziójától már OLTP adatbázisok is hatékonyan tömöríthetok az Advanced Compression funkcióval. Nem csak a tárolandó adatok mennyisége csökken ezáltal felére, vagy akár negyedére, de az adatbázis teljesítménye is javulhat, amennyiben I/O korlátos a rendszer (és általában az). Hogy pontosan mekkora tömörítés várható az Advanced Compression bevezetésével, az kiválóan becsülheto a Compression Advisor eszközzel. Ez nem csak az OLTP tömörítés mértékét, de 11gR2 verziótól kezdve a HCC tömörítés arányát is becsülni tudja, amely Exadata Database Machine, Pillar Axiom illetve ZFS Storage alkalmazásával érheto el. A HCC tömörítés becsléséhez csak 11gR2 adatbázisra van szükség, nem kell hozzá a speciális célhardver (Exadata, Pillar, ZFS).
A Compression Advisor valójában a DBMS_COMPRESSION package használatával érheto el. A package-hez tartozik 6 konstans, amellyel a kívánt tömörítési szintek választhatók ki:
Constant
Type
Value
Description
COMP_NOCOMPRESS
NUMBER
1
No compression
COMP_FOR_OLTP
NUMBER
2
OLTP compression
COMP_FOR_QUERY_HIGH
NUMBER
4
High compression level for query operations
COMP_FOR_QUERY_LOW
NUMBER
8
Low compression level for query operations
COMP_FOR_ARCHIVE_HIGH
NUMBER
16
High compression level for archive operations
COMP_FOR_ARCHIVE_LOW
NUMBER
32
Low compression level for archive
operations
A GET_COMPRESSION_RATIO tárolt eljárás elemzi a tömöríteni kívánt táblát. Mindig csak egy táblát, vagy opcionálisan annak egy partícióját tudja elemezni úgy, hogy a tábláról készít egy másolatot egy külön erre a célra kijelölt/létrehozott táblatérre. Amennyiben az elemzést egyszerre több tömörítési szintre futtatjuk, úgy a tábláról annyi másolatot készít. A jó közelítésu becslés (+-5%) feltétele, hogy táblánként/partíciónként minimum 1 millió sor legyen.
11gR1 esetében még a DBMS_COMP_ADVISOR csomag GET_RATIO eljárása volt használatos, de ez még nem támogatta a HCC becslést.
Érdemes még megnézni és kipróbálni a Tyler Muth blogjában publikált formázó eszközt, amivel a compression advisor kimenete alakítható jól értelmezheto formátumúvá.
Végül összegezném mit is tartalmaz az Advanced Compression opció, mivel gyakran nem világos a felhasználóknak miért kell fizetni:
Data Guard Network Compression
Data Pump Compression (COMPRESSION=METADATA_ONLY
does not require the Advanced Compression option)
Multiple RMAN Compression Levels (RMAN DEFAULT COMPRESS does not require the Advanced
Compression option)
OLTP Table Compression
SecureFiles Compression and Deduplication
Ez alapján RMAN esetében például a default compression (BZIP2) szint ingyen
használható, viszont az új ZLIB Advanced Compression opciót igényel.
A ZLIB hatékonyabban használja a CPU-t, azaz jóval gyorsabb, viszont
kisebb tömörítési arány érheto el vele.