Voltar ao blog
    Desempenho
    Equipe GizmoData
    22 de outubro de 2025
    8 min de leitura

    GizmoEdge encara o desafio de 1 trilhão de linhas

    O que acontece quando um mecanismo SQL distribuído recebe um conjunto de um trilhão de linhas? O GizmoEdge superou o desafio da Coiled com um cluster de 1.000 workers no Azure.

    GizmoEdge
    DuckDB
    Big Data
    Desempenho
    Computação distribuída
    GizmoEdge no desafio de um trilhão de linhas

    O que acontece quando você entrega um conjunto de um trilhão de linhas a um mecanismo SQL distribuído? Descobre do que ele é realmente capaz.

    Na semana passada, testamos o GizmoEdge, nosso mecanismo de dados distribuído e preparado para IoT, no desafio de 1 trilhão de linhas da Coiled, no Azure. O objetivo: processar e resumir um trilhão de registros do conjunto de medições o mais rápido possível.

    Configuração da infraestrutura

    Implantamos um cluster GizmoEdge com 1.000 workers, cada um usando DuckDB e orquestrado pelo Kubernetes. O cluster rodou em nós Azure Standard E64pds v6, cada um com 64 vCPUs e 504 GiB de RAM.

    Cada pod de worker GizmoEdge recebeu 3,8 vCPUs (3800 m) e 30 GiB de RAM, permitindo cerca de 16 workers por nó. Assim, o teste exigiu aproximadamente 63 nós no total.

    Resultados de desempenho

    Consulta de referência

    SELECT COUNT(*) FROM measurements;
    • Tempo de execução: < 0,5 segundo
    • Linhas contadas: 1.000.000.000.000

    Consulta de agregação do desafio

    SELECT station, MIN(measure), MAX(measure), AVG(measure)
    FROM measurements
    GROUP BY station
    ORDER BY station;
    • Tempo de execução: < 5 segundos
    • Conjunto de resultados: 412 linhas

    Cada linha agrupada representava a agregação de cerca de 2,4 bilhões de linhas, e o GizmoEdge concluiu o trabalho entre todos os workers em segundos.

    Veja o GizmoEdge concluir o desafio:

    Vídeo de demonstração do GizmoEdge

    Como o GizmoEdge funciona

    A arquitetura do GizmoEdge foi projetada para grande escala, alto desempenho e execução segura.

    Análise e planejamento SQL

    O servidor GizmoEdge recebe uma consulta SQL do cliente, analisa-a e gera duas instruções:

    • Um SQL de worker para executar em cada nó distribuído
    • Um SQL de combinação para executar no servidor e fazer a agregação final

    Distribuição dos fragmentos

    Cada worker solicita um fragmento de dados ao servidor, que responde com:

    • Um hash SHA-256 do arquivo do fragmento para verificar a integridade do download
    • Uma negociação de autenticação por token que garante a participação apenas de workers autorizados

    Os workers baixam, descompactam e materializam seus fragmentos em bancos DuckDB construídos a partir de arquivos Parquet.

    Modelo seguro de "confiar, mas verificar"

    Toda a comunicação entre worker e servidor usa WebSockets criptografados com TLS, garantindo confidencialidade e autenticidade. Cada worker:

    1. Autentica-se com um token assinado e validado pelo servidor
    2. Verifica o hash SHA-256 do fragmento após o download para confirmar que corresponde ao emitido pelo servidor
    3. Calcula seu próprio hash MD5 do fragmento e o retorna ao servidor
    4. O servidor compara os hashes e só passa a confiar nesse worker para processar consultas se eles coincidirem

    Execução paralela e agregação

    Depois da verificação, cada worker executa sua consulta local pelo DuckDB e transmite conjuntos intermediários Arrow IPC ao servidor por WebSockets seguros. O servidor combina e agrega todos os resultados em paralelo para produzir o resultado SQL final, frequentemente em segundos.

    Computação heterogênea: da nuvem à borda

    O GizmoEdge não se limita a VMs Azure. Foi projetado para computação heterogênea, executando workers simultaneamente em dispositivos IoT, notebooks, celulares ou clusters na nuvem.

    Veja o GizmoEdge distribuir consultas entre AWS, Azure, GCP e dispositivos de borda, como iPhones e pods Kubernetes: https://www.youtube.com/watch?v=gIgFKniKAdk

    Detalhes do desafio

    Quer saber mais sobre o desafio de 1 trilhão de linhas? Os detalhes completos, incluindo como acessar o conjunto público de dados, estão no repositório oficial: https://github.com/coiled/1trc

    O desafio oferece um benchmark abrangente para testar sistemas distribuídos de processamento de dados em escala, sendo uma ótima forma de avaliar seu desempenho real.

    O GizmoSQL também participou

    O GizmoEdge não foi o único produto GizmoData a enfrentar o desafio de 1 trilhão de linhas. O GizmoSQL, nosso servidor DuckDB Arrow Flight SQL de nó único, também o concluiu com resultados expressivos.

    Usando uma única instância AWS Graviton 4, o GizmoSQL processou o conjunto de um trilhão de linhas em pouco mais de 2 minutos. Leia sobre a abordagem e os resultados do GizmoSQL para comparar o desempenho em nó único com a execução distribuída.

    Próximos passos

    O GizmoEdge ainda está em pré-produção, e convidamos parceiros de desenvolvimento que queiram ampliar os limites da análise distribuída.

    Se sua organização trabalha com vários terabytes ou até petabytes de dados e quer ver como o GizmoEdge pode executar suas consultas em segundos, entre em contato.

    GizmoEdge — o mecanismo SQL distribuído para a nova fronteira dos dados.

    Pronto para experimentar o GizmoEdge?

    Participe da evolução da análise distribuída na borda do data lake

    Agende uma demonstração!Agendamento via Calendly