10 Punkte von xguru 2025-07-03 | 1 Kommentare | Auf WhatsApp teilen
  • Eine Engine der nächsten Generation, spezialisiert auf die Beschleunigung von SQL-Abfragen mit aktueller GPU-Hardware
  • Über das Substrait-Abfrageformat werden in der CPU-Engine (DuckDB) erzeugte Abfragen an die GPU-Umgebung (Sirius) übergeben
  • Im GPU-Speicher werden Raw Data Cache Region und Processing Region getrennt, um Lade- und Verarbeitungsleistung der Daten zu maximieren
  • Ohne Änderungen an Abfragen oder am System wurde bei TPC-H 100 eine mehr als 10-fache Geschwindigkeit bei gleichen Kosten erreicht
  • Optimal für groß angelegte Daten-Workloads wie Echtzeitanalysen, Finanzen und ETL
  • Unterstützte Umgebungen: Ubuntu 20.04+, NVIDIA Volta(7.0+)-GPU oder höher, CUDA 11.2+, CMake 3.30.4 oder höher (16 vCPU oder mehr empfohlen)
  • Installationsmethoden: drei Optionen verfügbar – AWS AMI (vorkonfiguriertes Image), Docker-Image, manuelle Installation der Abhängigkeiten
    • Docker: sudo docker run --gpus all -it yifeiyang7/sirius_dependencies:latest bash
    • Manuell: einzelne Installation von DuckDB-Abhängigkeiten, CUDA, libcudf (per conda installiert) usw. erforderlich
  • Wichtige Einschränkungen
    • Funktioniert nur innerhalb der Größe des GPU-Speichers (Unterstützung für Partitionierung/Batching, Disk Spill und Multi-GPU ist geplant)
    • Die maximale Row Count ist durch das int32_t-Limit von libcudf (~2 Milliarden Rows) begrenzt
    • Datentypen: Unterstützung für INTEGER, BIGINT, FLOAT, DOUBLE, VARCHAR, DATE, DECIMAL; weitere Typen in Entwicklung
    • Operatoren: Unterstützung für FILTER, PROJECTION, JOIN, GROUP-BY, ORDER-BY, AGGREGATION, TOP-N, LIMIT, CTE; WINDOW-Funktionen usw. sind in Entwicklung
    • Partially NULL Column wird nicht unterstützt (Patch dafür ist geplant)
    • Bei Problemen automatischer Fallback auf die DuckDB-CPU-Engine