Новый проект с открытым исходным кодом хочет вывести аналитику на новый уровень, и люди, стоящие за ним BlazingSQL недавно объявила, что выпустила исходный код для своего движка SQL, который используется в графических процессорах для ускорения обработки данных. BlazingSQL не является полноценной СУБД, но позиционируется как движок для анализа и обработки больших наборов данных, сравнимый по своим задачам с Apache Spark.
Тем, кто не знаком с BlazingSQL, следует знать, что это ядро SQL с ускорением на GPU, построенное на экосистеме RAPIDS который представляет собой набор программных библиотек с открытым исходным кодом для запуска конвейеров сквозной аналитики и обработки данных на графических процессорах.
По словам команды, BlazingSQL был создан для решения проблемы затрат, сложности и медленных темпов, с которыми пользователи сталкиваются при работе с большими сборками. данных. BlazingSQL подходит для выполнения индивидуальных аналитических запросов к большим наборам данных (десятки гигабайт), хранящимся в табличных форматах (например, журналы, статистика NetFlow и т. Д.).
Для работы с GPU используется набор библиотек RAPIDS abНекоторые из них были разработаны с участием NVIDIA, что позволяет создавать приложения для обработки и анализа данных, которые полностью работают на стороне графического процессора (предоставляется интерфейс Python для использования низкоуровневых примитивов CUDA и параллельных вычислений).
BlazingSQL предоставляет возможность использовать SQL вместо API Обработка данных cuUDF (на основе Apache Arrow), используемая RAPIDS. BlazingSQL - это дополнительный уровень, который работает поверх cuDF и использует библиотеку cuIO для чтения данных с диска.
SQL-запросы переводить в вызовы функций cuUDF, которые позволяют загружать данные в графический процессор и выполнять с ними операции слияния, агрегирования и фильтрации. Поддерживает создание распределенных конфигураций, охватывающих тысячи графических процессоров.
Использование El SQL позволяет интегрировать RAPIDS с существующими аналитическими системами без написания процессоров не прибегая к промежуточной загрузке данных в дополнительную СУБД, сохраняя при этом полную совместимость со всеми частями RAPIDS, переводя существующую функциональность в SQL и обеспечивая производительность на уровне cuDF. Включает поддержку интеграции с библиотеками XGBoost и cuML для решения задач анализа и машинного обучения.
БлазингSQL может выполнять запросы из плоских файлов в форматах CSV и Apache Parquet размещается в сетевых и облачных системах, таких как HDSF и AWS S3, напрямую передавая результат в память графического процессора.
Благодаря операциям распараллеливания на графическом процессоре и использованию более быстрой видеопамяти выполнение запросов в BlazingSQL происходит до 20 раз быстрее, чем в Apache Spark.
BlazingSQL значительно упрощает работу с данными - вместо сотен вызовов функций cuDF вы можете делать это с помощью одного SQL-запроса.
«BlazingSQL решает эти проблемы клиентов не только с помощью невероятно быстрого распределенного механизма SQL GPU, но и с упором на простоту», - написал в следующем блоге Родриго Арамбуру, генеральный директор BlazingSQL. «С помощью всего нескольких строк кода BlazingSQL может запрашивать ваши необработанные данные, где бы они ни находились, и взаимодействовать с вашим существующим RAPIDS и стеком аналитики».
BlazingSQL позволяет пользователям запрашивать наборы данных озера данных предприятия непосредственно в памяти графического процессора в виде графического кадра данных (GDF). GDF - это проект, который предлагает поддержку взаимодействия между приложениями GPU. Он также определяет общий уровень данных памяти GPU.
«За счет использования Apache Arrow на графических процессорах и интеграции с Dask, BlazingSQL расширит функциональность с открытым исходным кодом и обеспечит новую волну взаимодействия в быстро меняющейся экосистеме науки о данных».
Тем, кому интересно, следует знать, что код написан на C ++ с интерфейсом python для пользователей а открытый исходный код находится под лицензией Apache 2.0.