10 points par xguru 2025-07-03 | 1 commentaires | Partager sur WhatsApp
  • Moteur de nouvelle génération spécialisé dans l’accélération des requêtes SQL en exploitant le matériel GPU le plus récent
  • Transmission vers l’environnement GPU (Sirius) des requêtes générées par le moteur CPU (DuckDB) via le format de requête Substrait
  • Séparation dans la mémoire GPU de la Raw Data Cache Region et de la Processing Region afin de maximiser les performances de chargement et de traitement des données
  • Plus de 10x de vitesse à coût égal sur un jeu TPC-H de taille 100, sans modification des requêtes ni changement du système
  • Optimisé pour les workloads de données à grande échelle comme l’analyse en temps réel, la finance et l’ETL
  • Environnements pris en charge : Ubuntu 20.04+, GPU NVIDIA Volta (7.0+) ou supérieur, CUDA 11.2+, CMake 3.30.4+ (16 vCPU ou plus recommandés)
  • Méthodes d’installation : trois options disponibles — AWS AMI (image préconfigurée), image Docker et installation manuelle des dépendances
    • Docker: sudo docker run --gpus all -it yifeiyang7/sirius_dependencies:latest bash
    • Manuel : installation séparée requise pour les dépendances DuckDB, CUDA, libcudf (via conda), etc.
  • Principales limitations
    • Fonctionne uniquement dans les limites de la mémoire GPU (prise en charge future prévue pour le partitionnement/le batch, le disk spill et le multi-GPU)
    • Le nombre maximal de lignes est limité par la borne int32_t de libcudf (~2 milliards de lignes)
    • Types de données pris en charge : INTEGER, BIGINT, FLOAT, DOUBLE, VARCHAR, DATE, DECIMAL ; types supplémentaires en cours de développement
    • Opérateurs pris en charge : FILTER, PROJECTION, JOIN, GROUP-BY, ORDER-BY, AGGREGATION, TOP-N, LIMIT, CTE ; les fonctions WINDOW, entre autres, sont en cours de développement
    • Les colonnes partiellement NULL ne sont pas prises en charge (correctif prévu ultérieurement)
    • En cas de problème, bascule automatique vers le moteur CPU DuckDB