o otvaranju izvornog koda SQL motora , koji koristi GPU za ubrzanje obrade podataka. BlazingSQL nije potpuna DBMS, već se pozicionira kao motor za analizu i obradu velikih skupova podataka, usporedan po svojim zadacima s . Kod je napisan na Python jeziku i pod licencom Apache 2.0.
BlazingSQL je prikladan za izvršavanje pojedinačnih analitičkih upita na velikim skupovima podataka (desetine gigabajta), pohranjenim u tabelarnim formatima (npr. logovi, statistike NetFlow itd.). BlazingSQL može provoditi upite iz raw datoteka u CSV i Apache Parquet formatima, smještenim u mrežnim i oblačnim datotečnim sustavima, poput HDFS i AWS S3, izravno prenoseći rezultate u memoriju GPU-a. Zahvaljujući paralelizaciji operacija na GPU-u i korištenju brže video memorije, izvršavanje upita u BlazingSQL odvija se do brže nego u Apache Spark.
Za rad s GPU-om koristi se razvojni paket biblioteka , koji omogućuje kreiranje aplikacija za obradu podataka i analitiku, koje se izvršavaju isključivo na strani GPU-a (dostupan je za korištenje niskorazinskih CUDA primitiva i paralelizaciju izračuna).
BlazingSQL omogućuje korištenje SQL-a umjesto API-ja za obradu podataka (na osnovi ), primjenjivanog u RAPIDS-u. BlazingSQL predstavlja dodatni sloj koji radi iznad cuDF i koristi biblioteku cuIO za čitanje podataka s diska. SQL upiti se prevode u pozive funkcija cuUDF, omogućujući učitavanje podataka u GPU i izvršavanje operacija spajanja, agregacije i filtriranja. Podržava se kreiranje distribuiranih konfiguracija koje pokrivaju tisuće GPU-a.
BlazingSQL znatno pojednostavljuje rad s podacima — umjesto stotina poziva funkcija cuDF može se koristiti jedan SQL upit. Primjena SQL-a omogućuje integraciju RAPIDS-a s postojećim analitičkim sustavima, bez pisanja specifičnih obraditelja i ne koristeći međuslojne datoteke za učitavanje podataka u dodatne DBMS, ali
u isto vrijeme zadržavajući potpunu kompatibilnost sa svim dijelovima RAPIDS-a, prevodeći postojeću funkcionalnost u SQL i osiguravajući performanse na razini cuDF-a. Osigurana je i podrška za integraciju s bibliotekama i za rješavanje analitičkih i problema strojnog učenja.
Izvor: opennet.ru
