über die Veröffentlichung des Quelltexts des SQL-Engines , das GPU zur Beschleunigung der Datenverarbeitung nutzt. BlazingSQL ist keine vollständige Datenbank, sondern positioniert sich als Engine für die Analyse und Verarbeitung großer Datensätze, vergleichbar mit . Der Code ist in Python geschrieben und unter der Apache 2.0 Lizenz.
BlazingSQL eignet sich zur Ausführung einzelner analytischer Abfragen über große Datensätze (Dutzende Gigabyte), die in tabellarischen Formaten gespeichert sind (z. B. Protokolle, NetFlow-Statistiken usw.). BlazingSQL kann Abfragen aus Rohdateien in den Formaten CSV und Apache Parquet ausführen, die in Netzwerk- und Cloud-Dateisystemen wie HDFS und AWS S3 abgelegt sind, und überträgt die Ergebnisse direkt in den GPU-Speicher. Dank der Parallelisierung von Operationen in der GPU und der Nutzung von schnellerem Videospeicher erfolgt die Ausführung von Abfragen in BlazingSQL bis zu schneller als in Apache Spark.
Für die Arbeit mit GPUs wird ein von NVIDIA unterstütztes Set von Bibliotheken , das die Erstellung von Anwendungen zur Datenverarbeitung und Analyse ermöglicht, die vollständig auf der GPU-Seite ausgeführt werden (es wird zur Verwendung von Low-Level-CUDA-Primitiven und zur Parallelisierung von Berechnungen bereitgestellt).
BlazingSQL ermöglicht die Verwendung von SQL anstelle der Datenverarbeitungs-API (basierend auf ), die in RAPIDS verwendet wird. BlazingSQL ist eine zusätzliche Schicht, die über cuDF arbeitet und zur Datenlesung von der Festplatte die Bibliothek cuIO nutzt. SQL-Abfragen werden in Aufrufe der Funktionen cuUDF übersetzt, die es ermöglichen, Daten in die GPU zu laden und darauf Merging-, Aggregations- und Filteroperationen auszuführen. Die Unterstützung von verteilten Konfigurationen, die Tausende von GPUs abdecken, ist gegeben.
BlazingSQL vereinfacht den Umgang mit Daten erheblich – anstelle von hunderten Aufrufen der Funktionen cuDF kann man mit einer einzigen SQL-Abfrage auskommen. Die Verwendung von SQL ermöglicht die Integration von RAPIDS mit bestehenden Analysesystemen, ohne spezifische Handler zu schreiben und ohne auf die Zwischenablage von Daten in eine zusätzliche Datenbank zurückzugreifen, wobei
gleichzeitig die volle Kompatibilität mit allen Komponenten von RAPIDS gewährleistet wird, indem die vorhandene Funktionalität in SQL übersetzt wird und die Leistung auf dem Niveau von cuDF bereitgestellt wird. Auch die Unterstützung zur Integration mit den Bibliotheken und für analytische und maschinelle Lernaufgaben wird gewährleistet.
Quelle: opennet.ru
