Compressione colonnare ibrida - AWS Guida prescrittiva

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Compressione colonnare ibrida

Oracle Hybrid Columnar Compression (HCC) in Exadata consente il rapporto di compressione più elevato tra le opzioni di compressione disponibili per i database Oracle. Utilizza sia le funzionalità di database che quelle di storage Exadata per ottenere un rapporto di compressione elevato che porta a una riduzione dei costi di storage e a migliori prestazioni per determinati carichi di lavoro grazie alla riduzione degli I/O. Esistono due opzioni HCC: Warehouse Compression e Archive Compression. Warehouse Compression riduce i costi di storage e offre prestazioni migliori quando si utilizzano le query Smart Scan per decomprimere le unità di compressione HCC nelle celle di archiviazione. Archive Compression è una soluzione ILM (Information Lifecycle Management) che offre un rapporto di compressione più elevato a scapito del sovraccarico prestazionale ed è pensata per i dati a cui si accede raramente.

È possibile utilizzare la seguente query per identificare le tabelle con compressione abilitata:

select table_name, compression, compress_for from dba_tables where compression = 'ENABLED';

Per le tabelle abilitate per HCC, la compress_for colonna mostra uno dei seguenti valori a seconda della configurazione:

QUERY LOW,QUERY HIGH,ARCHIVE LOW,ARCHIVE HIGH

Inoltre, è possibile utilizzare la DBMS_COMPRESSION.GET_COMPRESSION_TYPE funzione per comprendere la configurazione HCC di un segmento e la dbms_compression.get_compression_ratio procedura per analizzare il rapporto di compressione di un segmento abilitato all'uso di HCC.

Nell'esempio seguente, TEST_HCC c'è una tabella con una dimensione di circa 30 MB. È abilitata a HCC tramite l'uso dell'opzione. ARCHIVE HIGH L'output di dbms_compression.get_compression_ratio mostra che la tabella ottiene un rapporto di compressione di 19,4.

Senza HCC, la dimensione di questa tabella aumenterà fino a circa 580 MB.

SET SERVEROUTPUT ON DECLARE l_blkcnt_cmp PLS_INTEGER; l_blkcnt_uncmp PLS_INTEGER; l_row_cmp PLS_INTEGER; l_row_uncmp PLS_INTEGER; l_cmp_ratio NUMBER; l_comptype_str VARCHAR2(32767); BEGIN DBMS_COMPRESSION.get_compression_ratio ( scratchtbsname => 'USERS', ownname => upper('TEST_USER'), objname => upper('TEST_HCC'), subobjname => NULL, comptype => DBMS_COMPRESSION.COMP_ARCHIVE_HIGH, blkcnt_cmp => l_blkcnt_cmp, blkcnt_uncmp => l_blkcnt_uncmp, row_cmp => l_row_cmp, row_uncmp => l_row_uncmp, cmp_ratio => l_cmp_ratio, comptype_str => l_comptype_str, subset_numrows => DBMS_COMPRESSION.comp_ratio_allrows, objtype SQL> => DBMS_COMPRESSION.objtype_table ); DBMS_OUTPUT.put_line('Number of blocks used (compressed) : ' || l_blkcnt_cmp); DBMS_OUTPUT.put_line('Number of blocks used (uncompressed) : ' || l_blkcnt_uncmp); DBMS_OUTPUT.put_line('Number of rows in a block (compressed) : ' || l_row_cmp); DBMS_OUTPUT.put_line('Number of rows in a block (uncompressed) : ' || l_row_uncmp); DBMS_OUTPUT.put_line('Compression ratio : ' || l_cmp_ratio); DBMS_OUTPUT.put_line('Compression type : ' || l_comptype_str); END; / Compression Advisor self-check validation successful. select count(*) on both Uncompressed and EHCC Compressed format = 3851900 rows Number of blocks used (compressed) : 3816 Number of blocks used (uncompressed) : 74263 Number of rows in a block (compressed) : 1009 Number of rows in a block (uncompressed) : 51 Compression ratio : 19.4 Compression type : "Compress Archive High" PL/SQL procedure successfully completed.

Migrazione a AWS

Poiché HCC è una tecnologia di compressione proprietaria e dipendente dall'hardware, i segmenti abilitati per HCC devono essere decompressi durante la migrazione alla piattaforma di destinazione su. AWSÈ pratica comune archiviare i dati archiviati insieme ai dati a cui si accede meno frequentemente in Exadata a causa dell'elevato rapporto di compressione offerto dalla funzionalità Exadata HCC. Per affrontare la sfida della gestione di set di dati di grandi dimensioni AWS senza HCC, prendi in considerazione la possibilità di spostare parti inattive del set di dati dal database principale e di archiviarle in altre soluzioni di storage economiche ed efficienti come Amazon S3 Intelligent-Tiering. Ciò potrebbe richiedere modifiche alla logica dell'applicazione o al flusso di lavoro, a seconda del modo in cui l'applicazione accede ai dati inattivi. Per ulteriori informazioni, consulta la sezione Gestione del ciclo di vita dei dati di questa guida.

Per i carichi di lavoro che dipendono da Oracle Database, i segmenti compatibili con HCC possono anche essere convertiti per utilizzare le funzionalità di compressione di base o avanzate offerte da Oracle Database. La compressione di base e avanzata è supportata solo in Oracle Database EE. La compressione avanzata richiede licenze aggiuntive. Amazon EC2 e Amazon RDS supportano entrambe queste opzioni di compressione.