Объявлено (https://blog.blazingdb.com/blazingsql-is-now-open-source-b85...) об открытии исходных текстов SQL-движка BlazingSQL (https://rapids.ai/blazingsql.html), использующего GPU для ускорения обработки данных. BlazingSQL не является полноценной СУБД, а позиционируется как движок для анализа и обработки больших наборов данных, сравнимый по своим задачам с Apache Spark (https://spark.apache.org/). Код написан на языке Python и открыт (https://github.com/blazingdb/pyBlazing/) под лицензией Apache 2.0.
BlazingSQL подходит для выполнения единичных аналитических запросов над большими наборами данных (десятки гигабайт), хранимых в табличных форматах (например, логи, статистика NetFlow и т.п.). BlazingSQL может выполнять запросы из raw-файлов в форматах CSV и Apache Parquet, размещённых в сетевых и облачных ФС, подобных HDSF и AWS S3, напрямую передавая результат в память GPU. Благодаря распараллеливанию операций в GPU и использованию более быстрой видеопамяти, выполнение запросов в BlazingSQL осуществляется до 20 раз (https://blog.blazingdb.com/blazingsql-the-gpu-sql-engine-now...) быстрее, чем в Apache Spark.
Для работы с GPU применяется развиваемый при участии компании NVIDIA набор открытых (https://github.com/rapidsai/) библиотек RAPIDS (https://rapids.ai/), позволяющий создавать приложения для обработки данных и аналитики, выполняемые целиком на стороне GPU (предоставляется Python-интерфейс (https://rapidsai.github.io/projects/cudf/en/0.8.0/api.html) для использования низкоуровневых примитивов CUDA и распараллеливания вычислений).
BlazingSQL предоставляет возможность использования SQL вместо API обработки данных cuUDF (https://github.com/rapidsai/cudf) (на базе Apache Arrow (http://arrow.apache.org/)), применяемого в RAPIDS. BlazingSQL является дополнительной прослойкой, работающей поверх cuDF и использующей для чтения данных с диска библиотеку cuIO. SQL-запросы транслируются в вызовы функций cuUDF, позволяющие загружать данные в GPU и выполнять над ними операции слияния, агрегирования и фильтрации. Поддерживается создание распределённых конфигураций, охватывающих тысячи GPU.
BlazingSQL существенно упрощает работу с данными - вместо сотни вызовов функций cuDF можно обойтись одним SQL-запросом. Применение SQL даёт возможность обеспечить интеграцию RAPIDS с существующими системами аналитики, без написания специфичных обработчиков и не прибегая к промежуточной загрузке данных в дополнительную СУБД, но
сохраняя при этом полную совместимость со всеми частями RAPIDS, транслируя в SQL имеющуюся функциональность и обеспечивая производительность на уровне cuDF. В том числе обеспечена поддержка интеграции с библиотеками XGBoost (https://xgboost.readthedocs.io/en/latest/) и cuML (https://github.com/rapidsai/cuml) для решения задач аналитики и машинного обучения.
URL: https://blog.blazingdb.com/blazingsql-is-now-open-source-b85...
Новость: https://www.opennet.ru/opennews/art.shtml?num=51222