Відкрито код 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), що застосовується в RAPIDS. BlazingSQL є додатковим прошарком, що працює поверх cuDF і використовує для читання даних з диска бібліотеку cuIO. SQL-запити транслюються у виклики функцій cuUDF, що дозволяють завантажувати дані в GPU та виконувати над ними операції злиття, агрегування та фільтрації. Підтримується створення розподілених конфігурацій, що охоплюють тисячі GPU.

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

Джерело: opennet.ru

Додати коментар або відгук