كود محرك BlazingSQL SQL مفتوح، باستخدام GPU للتسريع

أعلن حول فتح مصادر محرك SQL اشتعلت فيه النيران، والذي يستخدم وحدة معالجة الرسومات لتسريع معالجة البيانات. إن BlazingSQL ليس نظامًا متكاملاً لإدارة قواعد البيانات، ولكنه تم وضعه كمحرك لتحليل ومعالجة مجموعات كبيرة من البيانات، يمكن مقارنته في مهامه بـ أباتشي سبارك. الكود مكتوب بلغة بايثون و فتح مرخص بموجب Apache 2.0.

يعد BlazingSQL مناسبًا لإجراء استعلامات تحليلية فردية على مجموعات بيانات كبيرة (عشرات الجيجابايت) مخزنة في تنسيقات جدولية (على سبيل المثال، السجلات وإحصائيات NetFlow وما إلى ذلك). يمكن لـ BlazingSQL تشغيل الاستعلامات من الملفات الأولية بتنسيقات CSV وApache Parquet المستضافة على أنظمة الملفات الشبكية والسحابية مثل HDSF وAWS S3، ونقل النتيجة مباشرةً إلى ذاكرة وحدة معالجة الرسومات. بفضل توازي العمليات في وحدة معالجة الرسومات واستخدام ذاكرة فيديو أسرع، يتم تنفيذ استعلامات BlazingSQL في أقل من 20 مرة أسرع من أباتشي سبارك.

كود محرك BlazingSQL SQL مفتوح، باستخدام GPU للتسريع

للعمل مع وحدات معالجة الرسومات، يتم استخدام مجموعة تم تطويرها بمشاركة NVIDIA فتح المكتبات رابيدز، والذي يسمح لك بإنشاء تطبيقات معالجة البيانات والتحليلات التي تعمل بالكامل على جانب وحدة معالجة الرسومات (مقدمة من واجهة بايثون لاستخدام بدائيات CUDA ذات المستوى المنخفض وموازاة الحسابات).

يوفر BlazingSQL القدرة على استخدام SQL بدلاً من واجهات برمجة التطبيقات لمعالجة البيانات cuUDF (على القاعدة اباتشي ارو) المستخدمة في RAPIDS. BlazingSQL هي طبقة إضافية يتم تشغيلها أعلى cuDF وتستخدم مكتبة cuIO لقراءة البيانات من القرص. تتم ترجمة استعلامات SQL إلى استدعاءات لوظائف cuUDF، والتي تسمح لك بتحميل البيانات إلى وحدة معالجة الرسومات وتنفيذ عمليات الدمج والتجميع والتصفية عليها. يتم دعم إنشاء التكوينات الموزعة التي تغطي آلاف وحدات معالجة الرسومات.

يعمل BlazingSQL على تبسيط العمل مع البيانات إلى حد كبير - فبدلاً من مئات الاستدعاءات لوظائف cuDF، يمكنك استخدام استعلام SQL واحد. إن استخدام SQL يجعل من الممكن دمج RAPIDS مع أنظمة التحليلات الموجودة، دون كتابة معالجات محددة ودون اللجوء إلى التحميل الوسيط للبيانات في نظام إدارة قواعد بيانات إضافي، ولكن
مع الحفاظ على التوافق الكامل مع جميع أجزاء RAPIDS، وترجمة الوظائف الحالية إلى SQL وتوفير الأداء على مستوى cuDF. يتضمن ذلك دعم التكامل مع المكتبات XGBoost и cuML لحل مشاكل التحليلات والتعلم الآلي.

المصدر: opennet.ru

إضافة تعليق