Inserito il: Dec 21, 2017
Amazon Redshift ora utilizza la materializzazione pigra per ridurre la quantità di dati sottoposti a scansione e migliorare le prestazioni per le query con filtri predicati.
La materializzazione pigra (filtraggio a livello di riga) riduce l'I/O per le query con i filtri mediante la creazione di batch e tenendo conto dei predicati prima di recuperare i blocchi di dati nella colonna successiva. Considera ad esempio una query con filtri su due colonne che agiscono su una tabella CUSTOMER_DETAIL che presenta un milione di righe:
SELECT FIRST_NAME, LAST_NAME, EMAIL, CITY, SALES_REP, FROM CUSTOMER_DETAIL WHERE CUSTOMER_SINCE_DATE < ’01-01-2000’ AND CUSTOMER_STATUS_LEVEL IN (’Gold’ , ’Silver’) ;
Grazie alla materializzazione pigra, Redshift recupera un batch di dati dalle colonne CUSTOMER_SINCE_DATE e CUSTOMER_STATUS_LEVEL, quindi applica i rispettivi predicati. Se solo il 10% delle righe della tabella CUSTOMER_DETAIL soddisfa i filtri dei predicati, Redshift può risparmiare potenzialmente il 90% dell'I/O per le colonne rimanenti, migliorando le prestazioni delle query. Inoltre grazie la scansione delle colonne in batch anziché una riga per volta, migliora ulteriormente le prestazioni.
Con questa release abbiamo aggiunto una nuova colonna ‘is_rlf_scan’ alla tabella STL_SCAN. Se una query utilizza la materializzazione pigra, questa colonna avrà il valore 't' o TRUE; in caso contrario, avrà il valore 'f' o FALSE.
Amazon Redshift consente la materializzazione pigra per impostazione predefinita. Viene attivata automaticamente per una query quando Redshift rileva che la query può migliorare le prestazioni. Con l'ultima versione 1.0.1583, la materializzazione pigra è disponibile in tutte le aree geografiche AWS.