Kod enjin BlazingSQL SQL terbuka, menggunakan GPU untuk pecutan

Diumumkan mengenai membuka sumber enjin SQL BlazingSQL, yang menggunakan GPU untuk mempercepatkan pemprosesan data. BlazingSQL bukanlah DBMS sepenuhnya, tetapi diletakkan sebagai enjin untuk menganalisis dan memproses set data yang besar, setanding dalam tugasnya untuk Apache Spark. Kod ini ditulis dalam Python dan ia terbuka berlesen di bawah Apache 2.0.

BlazingSQL sesuai untuk melaksanakan pertanyaan analisis tunggal pada set data besar (berpuluh-puluh gigabait) yang disimpan dalam format jadual (contohnya, log, statistik NetFlow, dll.). BlazingSQL boleh menjalankan pertanyaan daripada fail mentah dalam format CSV dan Apache Parket yang dihoskan pada rangkaian dan sistem fail awan seperti HDSF dan AWS S3, secara langsung memindahkan hasilnya ke memori GPU. Terima kasih kepada penyelarasan operasi dalam GPU dan penggunaan memori video yang lebih pantas, pertanyaan BlazingSQL dilaksanakan dalam masa kurang daripada 20 kali lebih pantas daripada Apache Spark.

Kod enjin BlazingSQL SQL terbuka, menggunakan GPU untuk pecutan

Untuk bekerja dengan GPU, satu set yang dibangunkan dengan penyertaan NVIDIA digunakan buka perpustakaan RAPID, yang membolehkan anda membuat aplikasi pemprosesan data dan analitik yang berjalan sepenuhnya pada bahagian GPU (disediakan oleh Antara muka Python untuk menggunakan primitif CUDA peringkat rendah dan menyelaraskan pengiraan).

BlazingSQL menyediakan keupayaan untuk menggunakan SQL dan bukannya API pemprosesan data cuUDF (di pangkalan Anak panah Apache) digunakan dalam RAPIDS. BlazingSQL ialah lapisan tambahan yang berjalan di atas cuDF dan menggunakan perpustakaan cuIO untuk membaca data daripada cakera. Pertanyaan SQL diterjemahkan ke dalam panggilan ke fungsi cuUDF, yang membolehkan anda memuatkan data ke dalam GPU dan melaksanakan operasi penggabungan, pengagregatan dan penapisan padanya. Penciptaan konfigurasi teragih yang merangkumi ribuan GPU disokong.

BlazingSQL sangat memudahkan kerja dengan data - bukannya ratusan panggilan ke fungsi cuDF, anda boleh menggunakan satu pertanyaan SQL. Penggunaan SQL memungkinkan untuk mengintegrasikan RAPIDS dengan sistem analitik sedia ada, tanpa menulis pemproses tertentu dan tanpa menggunakan pemuatan perantaraan data ke dalam DBMS tambahan, tetapi
sambil mengekalkan keserasian penuh dengan semua bahagian RAPIDS, menterjemah kefungsian sedia ada ke dalam SQL dan menyediakan prestasi pada tahap cuDF. Ini termasuk sokongan untuk penyepaduan dengan perpustakaan XGBoost ΠΈ cuML untuk menyelesaikan masalah analisis dan pembelajaran mesin.

Sumber: opennet.ru

Tambah komen