Адкрыты код SQL-рухавічка BlazingSQL, які выкарыстоўвае GPU для паскарэння

Аб'яўлена аб адкрыцці зыходных тэкстаў SQL-рухавічка BlazingSQL, які выкарыстоўвае GPU для паскарэння апрацоўкі дадзеных. BlazingSQL не з'яўляецца паўнавартаснай СКБД, а пазіцыянуецца як рухавічок для аналізу і апрацоўкі вялікіх набораў дадзеных, параўнальны па сваіх задачах з Apache Spark. Код напісаны на мове Python і адкрыты пад ліцэнзіяй Apache 2.0.

BlazingSQL падыходзіць для выканання адзінкавых аналітычных запытаў над вялікімі наборамі дадзеных (дзясяткі гігабайт), якія захоўваюцца ў таблічных фарматах (напрыклад, логі, статыстыка NetFlow і да т.п.). BlazingSQL можа выконваць запыты з raw-файлаў у фарматах CSV і Apache Parquet, размешчаных у сеткавых і хмарных ФС, падобных HDSF і AWS S3, напроста перадаючы вынік у памяць GPU. Дзякуючы распаралельванню аперацый у GPU і выкарыстанню хутчэйшай відэапамяці, выкананне запытаў у BlazingSQL ажыццяўляецца да 20 раз хутчэй, чым у Apache Spark.

Адкрыты код SQL-рухавічка BlazingSQL, які выкарыстоўвае GPU для паскарэння

Для працы з GPU ужываецца які развіваецца пры ўдзеле кампаніі NVIDIA набор адкрытых бібліятэк ХУТКА, які дазваляе ствараць прыкладанні для апрацоўкі дадзеных і аналітыкі, якія выконваюцца цалкам на баку GPU (прадастаўляецца Python-інтэрфейс для выкарыстання нізкаўзроўневых прымітываў CUDA і распаралельвання вылічэнняў).

BlazingSQL дае магчымасць выкарыстання SQL замест API апрацоўкі дадзеных cuUDF (на базе Apache Arrow), які ўжываецца ў RAPIDS. BlazingSQL з'яўляецца дадатковай праслойкай, якая працуе па-над cuDF і якая выкарыстоўвае для чытання дадзеных з дыска бібліятэку cuIO. SQL-запыты транслююцца ў выклікі функцый cuUDF, якія дазваляюць загружаць дадзеныя ў GPU і выконваць над імі аперацыі зліцця, агрэгаванні і фільтраванні. Падтрымліваецца стварэнне размеркаваных канфігурацый, якія ахопліваюць тысячы GPU.

BlazingSQL істотна спрашчае працу з дадзенымі – замест сотні выклікаў функцый cuDF можна абыйсціся адным SQL-запытам. Ужыванне SQL дае магчымасць забяспечыць інтэграцыю RAPIDS з існымі сістэмамі аналітыкі, без напісання спецыфічных апрацоўшчыкаў і не звяртаючыся да прамежкавай загрузкі дадзеных у дадатковую СКБД, але
захоўваючы пры гэтым поўную сумяшчальнасць са ўсімі часткамі RAPIDS, транслюючы ў SQL наяўную функцыянальнасць і забяспечваючы прадукцыйнасць на ўзроўні cuDF. У тым ліку забяспечана падтрымка інтэграцыі з бібліятэкамі. XGBoost и cuML для рашэння задач аналітыкі і машыннага навучання.

Крыніца: opennet.ru

Дадаць каментар