10 pontos por xguru 2025-07-03 | 1 comentários | Compartilhar no WhatsApp
  • Mecanismo de próxima geração especializado em acelerar consultas SQL usando o hardware GPU mais recente
  • Encaminha consultas geradas no mecanismo de CPU (DuckDB) para o ambiente de GPU (Sirius) por meio do formato de consultas Substrait
  • Separa Raw Data Cache Region e Processing Region dentro da memória da GPU para maximizar o desempenho de carregamento e processamento de dados
  • Sem modificar consultas nem alterar o sistema, registrou mais de 10x de velocidade pelo mesmo custo na escala TPC-H 100
  • Ideal para workloads de dados em grande escala como análise em tempo real, finanças e ETL
  • Ambientes suportados: Ubuntu 20.04+, GPU NVIDIA Volta(7.0+) ou superior, CUDA 11.2+, CMake 3.30.4 ou superior (recomendado 16 vCPU ou mais)
  • Formas de instalação: 3 opções — AMI da AWS (imagem pré-configurada), imagem Docker e instalação manual de dependências
    • Docker: sudo docker run --gpus all -it yifeiyang7/sirius_dependencies:latest bash
    • Manual: é necessário instalar separadamente as dependências do DuckDB, CUDA, libcudf (instalado via conda) etc.
  • Principais limitações
    • Funciona apenas dentro do tamanho da memória da GPU (suporte a particionamento/lotes, spill para disco e múltiplas GPUs previsto para depois)
    • A contagem máxima de linhas é limitada ao limite int32_t do libcudf (~2 bilhões de rows)
    • Tipos de dados: suporte a INTEGER, BIGINT, FLOAT, DOUBLE, VARCHAR, DATE e DECIMAL; tipos adicionais estão em desenvolvimento
    • Operadores: suporte a FILTER, PROJECTION, JOIN, GROUP-BY, ORDER-BY, AGGREGATION, TOP-N, LIMIT e CTE; funções WINDOW e outras estão em desenvolvimento
    • Coluna parcialmente NULL não é suportada (correção futura planejada)
    • Em caso de problema, faz fallback automático para o mecanismo de CPU do DuckDB