sull'apertura dei codici sorgente del motore SQL , che utilizza GPU per accelerare l'elaborazione dei dati. BlazingSQL non è un vero e proprio DBMS, ma si presenta come un motore per l'analisi e l'elaborazione di grandi set di dati, paragonabile per le sue funzioni a . Il codice è scritto in Python e sotto licenza Apache 2.0.
BlazingSQL è adatto per l'esecuzione di singole query analitiche su grandi set di dati (decine di gigabyte), conservati in formati tabellari (ad esempio, registri, statistiche NetFlow, ecc.). BlazingSQL può eseguire query su file raw nei formati CSV e Apache Parquet, posizionati in sistemi di file di rete e cloud come HDFS e AWS S3, trasferendo direttamente il risultato nella memoria della GPU. Grazie alla parallelizzazione delle operazioni sulla GPU e all'utilizzo di memorie video più veloci, le query in BlazingSQL vengono eseguite fino a più velocemente rispetto ad Apache Spark.
Per lavorare con GPU si utilizza un set di open source , che consente di creare applicazioni per l'elaborazione dei dati e l'analisi, eseguite completamente sul lato GPU (è fornito un per l'utilizzo dei primitivi a basso livello di CUDA e per la parallelizzazione dei calcoli).
BlazingSQL offre la possibilità di utilizzare SQL invece delle API per l'elaborazione dei dati (basato su ), utilizzato in RAPIDS. BlazingSQL è uno strato aggiuntivo che opera sopra cuDF e utilizza la libreria cuIO per leggere i dati dal disco. Le query SQL vengono tradotte in chiamate di funzioni cuUDF, che consentono di caricare i dati nella GPU e di eseguire operazioni di join, aggregazione e filtraggio su di essi. Viene supportata la creazione di configurazioni distribuite che coprono migliaia di GPU.
BlazingSQL semplifica notevolmente il lavoro con i dati: invece di centinaia di chiamate a funzioni cuDF, è possibile utilizzare una sola query SQL. L'uso di SQL consente di integrare RAPIDS con i sistemi di analisi esistenti, senza scrivere gestori specifici e senza caricare i dati in un ulteriore DBMS, mantenendo
completa compatibilità con tutte le parti di RAPIDS, traducendo le funzionalità esistenti in SQL e garantendo prestazioni equivalenti a quelle di cuDF. È inclusa anche la supporto per l'integrazione con le librerie e per risolvere problemi di analisi e machine learning.
Fonte: opennet.ru
