ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ ΠΊΠΎΠ΄ 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 Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ RAPIDS, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ, выполняСмыС Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Π½Π° сторонС 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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ