Dal 2022, Databricks SQL (DBSQL) Serverless ha garantito un miglioramento delle prestazioni di 5 volte nei carichi di lavoro reali dei clienti, trasformando un dashboard da 100 secondi in uno da 20 secondi. Tale accelerazione è derivata da continui miglioramenti del motore, tutti forniti automaticamente e senza ottimizzazione delle prestazioni.

Oggi aggiungiamo ancora di più. Con il lancio di Predictive Query Execution e Photon Vectorized Shuffle, le query diventano fino al 25% più veloci rispetto ai guadagni di 5 volte esistenti, riducendo quel dashboard da 20 secondi a circa 15 secondi. Questi nuovi miglioramenti del motore vengono distribuiti automaticamente su tutti i warehouse DBSQL Serverless, a costo zero aggiuntivo.

Al momento del lancio in Apache Spark, Adaptive Query Execution (AQE) è stato un grande passo avanti. Ha permesso alle query di ri-pianificare in base alle dimensioni effettive dei dati durante l'esecuzione della query. Tuttavia, aveva una limitazione importante: poteva agire solo dopo il completamento di una fase di esecuzione della query. Questo ritardo significava che problemi come lo skew dei dati o lo spilling eccessivo spesso non venivano rilevati finché non era troppo tardi.
Predictive Query Execution (PQE) cambia questo. Introduce un ciclo di feedback continuo all'interno del motore di query:

Il risultato? Query più veloci, meno sorprese e prestazioni più prevedibili, specialmente per pipeline complesse e carichi di lavoro misti
Photon è un motore nativo C++ che elabora i dati in batch colonnari, vettorizzati per sfruttare le CPU moderne ed eseguire query SQL diverse volte più velocemente. Le operazioni di shuffle, che ristrutturano grandi set di dati tra le fasi, rimangono tra le più pesanti nell'elaborazione delle query.
Le operazioni di shuffle sono storicamente il tipo più difficile da ottimizzare perché comportano molti accessi casuali alla memoria. È anche raramente possibile ridurre il numero di accessi casuali senza riscrivere i dati. L'intuizione chiave che abbiamo avuto è stata che, invece di ridurre il numero di accessi casuali, potevamo ridurre la distanza tra ogni accesso casuale in memoria.
Questo ci ha portato a riscrivere lo shuffle di Photon da zero con uno shuffle basato su colonne per una maggiore efficienza della cache e della memoria.
Il risultato è un componente di shuffle che sposta i dati in modo efficiente, esegue meno istruzioni e considera la cache. Con lo shuffle appena ottimizzato, vediamo un throughput 1,5 volte superiore nei carichi di lavoro limitati dalla CPU come i join di grandi dimensioni.
Questo aggiornamento è in fase di distribuzione su tutti i warehouse DBSQL Serverless: non è richiesta alcuna azione.
Non hai ancora provato DBSQL Serverless? Ora è il momento perfetto. Serverless è il modo più semplice per eseguire analisi sul Lakehouse:
Crea semplicemente un warehouse DBSQL Serverless e inizia a interrogare: nessuna ottimizzazione richiesta. Se non stai già utilizzando Databricks SQL, leggi di più su abilitare i warehouse SQL serverless.
(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale
