10 puntos por xguru 2025-07-03 | 1 comentarios | Compartir por WhatsApp
  • Motor de nueva generación especializado en acelerar consultas SQL aprovechando el hardware GPU más reciente
  • Transfiere consultas generadas en el motor CPU (DuckDB) al entorno GPU (Sirius) mediante el formato de consultas Substrait
  • Dentro de la memoria GPU, separa Raw Data Cache Region y Processing Region para maximizar el rendimiento de carga y procesamiento de datos
  • Sin modificar consultas ni cambiar el sistema, registró más de 10 veces la velocidad al mismo costo a escala TPC-H 100
  • Óptimo para cargas de trabajo de datos a gran escala como analítica en tiempo real, finanzas y ETL
  • Entornos compatibles: Ubuntu 20.04+, GPU NVIDIA Volta (7.0+) o superior, CUDA 11.2+, CMake 3.30.4 o superior (se recomiendan 16 vCPU o más)
  • Métodos de instalación: ofrece 3 opciones: AWS AMI (imagen preconfigurada), imagen Docker e instalación manual de dependencias
    • Docker: sudo docker run --gpus all -it yifeiyang7/sirius_dependencies:latest bash
    • Manual: requiere instalar por separado dependencias de DuckDB, CUDA, libcudf (instalado con conda), etc.
  • Principales limitaciones
    • Solo funciona dentro del tamaño de la memoria GPU (más adelante se planea soporte para particionado/lotes, spill a disco y múltiples GPU)
    • El máximo row count está limitado por el tope de int32_t de libcudf (~2 mil millones de rows)
    • Tipos de datos: soporta INTEGER, BIGINT, FLOAT, DOUBLE, VARCHAR, DATE y DECIMAL; hay más tipos en desarrollo
    • Operadores: soporta FILTER, PROJECTION, JOIN, GROUP-BY, ORDER-BY, AGGREGATION, TOP-N, LIMIT y CTE; funciones WINDOW y otras están en desarrollo
    • No soporta Partially NULL Column (se planea un parche más adelante)
    • Si ocurre un problema, hace fallback automático al motor CPU de DuckDB