Voltar ao blog
    Desempenho
    Philip Moore
    4 de setembro de 2026
    10 min de leitura

    TPC-H de 1 TB em 80 segundos: GizmoSQL no AWS Graviton5 versus Graviton4 e Azure Cobalt 100

    Executamos nosso benchmark TPC-H de 1 TB e 22 consultas em uma das primeiras instâncias AWS Graviton5, uma r9gd.24xlarge: 80,5 segundos por US$ 0,17 de computação. Na mesma tarde, com o mesmo DuckDB, uma Graviton4 r8gd.24xlarge levou 89,8 segundos e uma Azure Cobalt 100 E96pds_v6 levou 106,8. O Graviton5 foi 10% mais rápido que o Graviton4 e 25% mais rápido que o Cobalt 100, vencendo nas 22 consultas. Veja a metodologia completa e os tempos de cada consulta nas três execuções.

    Benchmark
    TPC-H
    AWS Graviton5
    Graviton4
    Graviton
    Arm
    GizmoSQL
    DuckDB
    Desempenho
    O GizmoSQL executa o benchmark TPC-H de 1 TB com 22 consultas em 80,5 segundos em uma AWS Graviton5 r9gd.24xlarge, contra 89,8 segundos em uma Graviton4 r8gd.24xlarge e 106,8 segundos em uma Azure Cobalt 100 E96pds_v6

    A AWS disponibilizou suas instâncias R9g e R9gd com Graviton5 ao público em 31 de agosto de 2026. Quatro dias depois, executei nosso benchmark padrão TPC-H de 1 TB em uma delas. O GizmoSQL executou as 22 consultas em um total de 80,475 segundos em uma única r9gd.24xlarge. A US$ 7,69 por hora sob demanda, isso representa US$ 0,17 de computação para a execução inteira.

    Para medir quanto desse resultado vem do novo chip, executei o mesmo benchmark na mesma tarde, com a mesma versão do GizmoSQL e do DuckDB, em outras duas máquinas Arm de 96 vCPUs: a equivalente Graviton4, uma r8gd.24xlarge na mesma região AWS, e a configuração Azure Cobalt 100 de onde veio nosso resultado anterior, uma Standard_E96pds_v6. O Graviton4 levou 89,831 segundos. O Cobalt 100 levou 106,806 segundos. Nessa carga de trabalho, o Graviton5 é 10% mais rápido que o Graviton4 e 25% mais rápido que o Cobalt 100, com o mesmo número de núcleos, e vence a máquina Azure em todas as 22 consultas. Como a execução é mais curta, seu custo por execução também não é maior, apesar do maior preço por hora entre as três.

    Este artigo explica exatamente como o benchmark é executado, compara as três máquinas lado a lado, apresenta os tempos de cada consulta nas três execuções e discute o que isso diz sobre Arm na nuvem.

    Os principais números

    AWS Graviton5AWS Graviton4Azure Cobalt 100
    Instânciar9gd.24xlarger8gd.24xlargeStandard_E96pds_v6
    vCPUs969696
    Memória768 GiB768 GiB672 GiB
    NVMe local3 × 1.900 GB3 × 1.900 GB6 × 880 GiB
    Regiãous-east-2 (Ohio)us-east-2 (Ohio)East US
    Mecanismo DuckDBv1.5.5v1.5.5v1.5.5
    Preço sob demandaUS$ 7,69 / horaUS$ 7,05 / horaUS$ 5,62 / hora
    TPC-H de 1 TB, 22 consultas80,475 s89,831 s106,806 s
    Custo de computação por execuçãoUS$ 0,172US$ 0,176US$ 0,167

    As três máquinas têm 96 vCPUs, são configurações otimizadas para memória com NVMe local e usam Arm. As três execuções ocorreram em um intervalo de cerca de uma hora em 4 de setembro de 2026, com a mesma versão do GizmoSQL, o mesmo DuckDB v1.5.5, os mesmos dados e o mesmo operador. É o máximo de controle possível em um benchmark entre nuvens. Para referência, nosso resultado Azure publicado anteriormente era de 108,88 segundos; os 106,806 de hoje na mesma configuração mostram uma melhora de cerca de 2% no DuckDB nesse intervalo, portanto a diferença para o Graviton5 vem quase toda do hardware.

    Metodologia

    Executo o teste da mesma forma em todas as nuvens, para que os números sejam comparáveis entre provedores e ao longo do tempo. Nada aqui é ajustado por consulta.

    1. Provisione uma VM com NVMe local

    Escolho a família de instâncias com discos NVMe locais na nuvem de destino, porque análises nessa escala dependem tanto da largura de banda de armazenamento quanto da CPU. Na AWS, isso corresponde ao sufixo d (r9gd, r8gd); no Azure, ao d de E96pds_v6. O armazenamento em bloco pela rede acrescentaria uma variável indesejada à medição.

    Também paro deliberadamente em 96 vCPUs. As três configurações têm um único nó NUMA: cada núcleo acessa todos os bytes de memória com a mesma latência. Os tamanhos 48xlarge de 192 vCPUs têm dois nós NUMA (dois soquetes no Graviton4; duas regiões de memória no único chip de 192 núcleos do Graviton5), e um processo DuckDB que precisa buscar tabelas hash através dessa fronteira não escala de forma próxima à linear. Mais detalhes adiante.

    2. Combine os discos NVMe em um volume RAID 0

    Os discos chegam como dispositivos brutos separados. Eu os combino em um único arranjo RAID 0, para que o DuckDB veja um volume rápido com a taxa de transferência agregada de todos os discos. O RAID 0 não tem redundância, o que é aceitável aqui: os dados do benchmark são reproduzíveis e o volume é efêmero por definição.

    # Three NVMe drives on the r9gd/r8gd 24xlarge; the Azure VM had six
    sudo mdadm --create /dev/md0 --level=0 --raid-devices=3 \
      /dev/nvme1n1 /dev/nvme2n1 /dev/nvme3n1
    sudo mkfs.ext4 -F /dev/md0
    sudo mkdir -p /data && sudo mount /dev/md0 /data

    3. Copie os dados Parquet TPC-H de fator de escala 1.000 para o volume

    O conjunto é o TPC-H com fator de escala 1.000, aproximadamente 1 TB sem compressão, armazenado em Parquet com um diretório por tabela. Eu o gero com nosso utilitário de código aberto tpch-datagen, que usa DuckDB e multiprocessamento para produzir as tabelas em paralelo, e o preparo em armazenamento de objetos para que toda execução comece com bytes idênticos. A cópia para o volume RAID 0 não faz parte do tempo medido.

    4. Carregue os arquivos Parquet em tabelas GizmoSQL

    Com o GizmoSQL apontando para um novo arquivo de banco DuckDB no volume NVMe, carrego cada tabela com um CREATE TABLE ... AS SELECT sobre um padrão glob do diretório Parquet correspondente. Oito tabelas, oito instruções:

    CREATE TABLE lineitem AS SELECT * FROM read_parquet('/data/tpch/sf1000/lineitem/*.parquet');
    CREATE TABLE orders   AS SELECT * FROM read_parquet('/data/tpch/sf1000/orders/*.parquet');
    CREATE TABLE customer AS SELECT * FROM read_parquet('/data/tpch/sf1000/customer/*.parquet');
    CREATE TABLE part     AS SELECT * FROM read_parquet('/data/tpch/sf1000/part/*.parquet');
    CREATE TABLE partsupp AS SELECT * FROM read_parquet('/data/tpch/sf1000/partsupp/*.parquet');
    CREATE TABLE supplier AS SELECT * FROM read_parquet('/data/tpch/sf1000/supplier/*.parquet');
    CREATE TABLE nation   AS SELECT * FROM read_parquet('/data/tpch/sf1000/nation/*.parquet');
    CREATE TABLE region   AS SELECT * FROM read_parquet('/data/tpch/sf1000/region/*.parquet');

    O tempo de ingestão também não faz parte do resultado. O objetivo do benchmark é medir o desempenho das consultas no armazenamento nativo do DuckDB, que é como o GizmoSQL roda em produção.

    5. Execute as 22 consultas em ordem, três vezes cada

    A execução usa nossa ferramenta de código aberto benchmark-flight-sql. Ela se conecta ao servidor GizmoSQL pelo Apache Arrow Flight SQL, como um cliente real, e executa as 22 consultas padrão do TPC-H em ordem. Cada consulta é executada três vezes seguidas antes da próxima. O tempo decorrido e a contagem de linhas de cada execução são gravados em um arquivo JSON.

    benchmark-flight-sql \
      --hostname ec2-XX-XX-XX-XX.us-east-2.compute.amazonaws.com \
      --port 443 \
      --username scott \
      --password '...' \
      --num-query-runs 3

    6. Calcule a média de cada consulta e some as médias

    Para cada consulta, calculo a média das três execuções. O resultado do benchmark é a soma dessas 22 médias: os 80,475 segundos. Deliberadamente, não uso o "melhor de três": a primeira execução de cada consulta costuma ser a mais lenta porque o cache de páginas do sistema operacional está frio, e ela entra na conta.

    As três máquinas, consulta por consulta

    Média de três execuções por consulta, em segundos; quanto menor, melhor. O Graviton5 tem a barra mais curta nos 22 grupos. O rótulo à direita mostra quanto tempo a menos ele levou em relação ao Cobalt 100 naquela consulta. Passe o cursor sobre uma barra para ver o valor exato.

    Tempo médio por consulta do TPC-H de 1 TB no Graviton5, Graviton4 e Cobalt 100Barras horizontais agrupadas para as 22 consultas TPC-H. O Graviton5 tem a menor barra em cada grupo; o rótulo à direita indica quanto tempo a menos ele levou em relação ao Cobalt 100.0s3s6s9s12s15sQ1Q1 · Graviton5 r9gd.24xlarge: 2,905 s (média de 3 execuções)Q1 · Graviton4 r8gd.24xlarge: 3,913 s (média de 3 execuções)Q1 · Cobalt 100 E96pds_v6: 4,738 s (média de 3 execuções)−39%Graviton5Graviton4Cobalt 100Q2Q2 · Graviton5 r9gd.24xlarge: 0,624 s (média de 3 execuções)Q2 · Graviton4 r8gd.24xlarge: 0,700 s (média de 3 execuções)Q2 · Cobalt 100 E96pds_v6: 0,851 s (média de 3 execuções)−27%Q3Q3 · Graviton5 r9gd.24xlarge: 2,561 s (média de 3 execuções)Q3 · Graviton4 r8gd.24xlarge: 2,709 s (média de 3 execuções)Q3 · Cobalt 100 E96pds_v6: 3,323 s (média de 3 execuções)−23%Q4Q4 · Graviton5 r9gd.24xlarge: 2,563 s (média de 3 execuções)Q4 · Graviton4 r8gd.24xlarge: 3,184 s (média de 3 execuções)Q4 · Cobalt 100 E96pds_v6: 3,718 s (média de 3 execuções)−31%Q5Q5 · Graviton5 r9gd.24xlarge: 2,237 s (média de 3 execuções)Q5 · Graviton4 r8gd.24xlarge: 2,593 s (média de 3 execuções)Q5 · Cobalt 100 E96pds_v6: 3,273 s (média de 3 execuções)−32%Q6Q6 · Graviton5 r9gd.24xlarge: 0,599 s (média de 3 execuções)Q6 · Graviton4 r8gd.24xlarge: 0,732 s (média de 3 execuções)Q6 · Cobalt 100 E96pds_v6: 0,793 s (média de 3 execuções)−24%Q7Q7 · Graviton5 r9gd.24xlarge: 2,042 s (média de 3 execuções)Q7 · Graviton4 r8gd.24xlarge: 2,272 s (média de 3 execuções)Q7 · Cobalt 100 E96pds_v6: 2,816 s (média de 3 execuções)−27%Q8Q8 · Graviton5 r9gd.24xlarge: 2,115 s (média de 3 execuções)Q8 · Graviton4 r8gd.24xlarge: 2,491 s (média de 3 execuções)Q8 · Cobalt 100 E96pds_v6: 3,381 s (média de 3 execuções)−37%Q9Q9 · Graviton5 r9gd.24xlarge: 13,865 s (média de 3 execuções)Q9 · Graviton4 r8gd.24xlarge: 14,744 s (média de 3 execuções)Q9 · Cobalt 100 E96pds_v6: 17,420 s (média de 3 execuções)−20%Q10Q10 · Graviton5 r9gd.24xlarge: 4,947 s (média de 3 execuções)Q10 · Graviton4 r8gd.24xlarge: 5,874 s (média de 3 execuções)Q10 · Cobalt 100 E96pds_v6: 5,909 s (média de 3 execuções)−16%Q11Q11 · Graviton5 r9gd.24xlarge: 0,847 s (média de 3 execuções)Q11 · Graviton4 r8gd.24xlarge: 0,905 s (média de 3 execuções)Q11 · Cobalt 100 E96pds_v6: 1,070 s (média de 3 execuções)−21%Q12Q12 · Graviton5 r9gd.24xlarge: 1,537 s (média de 3 execuções)Q12 · Graviton4 r8gd.24xlarge: 1,695 s (média de 3 execuções)Q12 · Cobalt 100 E96pds_v6: 2,122 s (média de 3 execuções)−28%Q13Q13 · Graviton5 r9gd.24xlarge: 8,360 s (média de 3 execuções)Q13 · Graviton4 r8gd.24xlarge: 8,926 s (média de 3 execuções)Q13 · Cobalt 100 E96pds_v6: 9,660 s (média de 3 execuções)−13%Q14Q14 · Graviton5 r9gd.24xlarge: 2,487 s (média de 3 execuções)Q14 · Graviton4 r8gd.24xlarge: 2,407 s (média de 3 execuções)Q14 · Cobalt 100 E96pds_v6: 3,182 s (média de 3 execuções)−22%Q15Q15 · Graviton5 r9gd.24xlarge: 1,173 s (média de 3 execuções)Q15 · Graviton4 r8gd.24xlarge: 1,217 s (média de 3 execuções)Q15 · Cobalt 100 E96pds_v6: 1,568 s (média de 3 execuções)−25%Q16Q16 · Graviton5 r9gd.24xlarge: 2,199 s (média de 3 execuções)Q16 · Graviton4 r8gd.24xlarge: 2,207 s (média de 3 execuções)Q16 · Cobalt 100 E96pds_v6: 3,792 s (média de 3 execuções)−42%Q17Q17 · Graviton5 r9gd.24xlarge: 2,446 s (média de 3 execuções)Q17 · Graviton4 r8gd.24xlarge: 2,819 s (média de 3 execuções)Q17 · Cobalt 100 E96pds_v6: 3,719 s (média de 3 execuções)−34%Q18Q18 · Graviton5 r9gd.24xlarge: 10,075 s (média de 3 execuções)Q18 · Graviton4 r8gd.24xlarge: 10,811 s (média de 3 execuções)Q18 · Cobalt 100 E96pds_v6: 11,462 s (média de 3 execuções)−12%Q19Q19 · Graviton5 r9gd.24xlarge: 2,530 s (média de 3 execuções)Q19 · Graviton4 r8gd.24xlarge: 3,074 s (média de 3 execuções)Q19 · Cobalt 100 E96pds_v6: 3,498 s (média de 3 execuções)−28%Q20Q20 · Graviton5 r9gd.24xlarge: 2,611 s (média de 3 execuções)Q20 · Graviton4 r8gd.24xlarge: 3,089 s (média de 3 execuções)Q20 · Cobalt 100 E96pds_v6: 3,961 s (média de 3 execuções)−34%Q21Q21 · Graviton5 r9gd.24xlarge: 9,686 s (média de 3 execuções)Q21 · Graviton4 r8gd.24xlarge: 11,318 s (média de 3 execuções)Q21 · Cobalt 100 E96pds_v6: 13,783 s (média de 3 execuções)−30%Q22Q22 · Graviton5 r9gd.24xlarge: 2,066 s (média de 3 execuções)Q22 · Graviton4 r8gd.24xlarge: 2,151 s (média de 3 execuções)Q22 · Cobalt 100 E96pds_v6: 2,767 s (média de 3 execuções)−25%G5 versus Cobalt
    TPC-H de 1 TB, média de 3 execuções por consulta. Totais: Graviton5 80,475 s · Graviton4 89,831 s · Cobalt 100 106,806 s. Todos com GizmoSQL e DuckDB v1.5.5, em 4 de setembro de 2026.
    Mostrar os números brutos (as três execuções por consulta)

    Dados diretamente dos arquivos de saída da ferramenta; as 66 execuções foram bem-sucedidas em todas as máquinas. As duas colunas de razão dividem a média do Graviton5 pelas médias do Graviton4 e do Cobalt 100; assim, 0,74 significa que o Graviton5 levou 74% do tempo.

    ConsultaG5 execução 1G5 execução 2G5 execução 3G5 média (s)G4 média (s)Cobalt média (s)G5 / G4G5 / Cobalt
    Q15,351,691,682,9053,9134,7380,740,61
    Q20,850,470,550,6240,7000,8510,890,73
    Q32,692,502,502,5612,7093,3230,950,77
    Q43,092,232,372,5633,1843,7180,810,69
    Q52,312,062,342,2372,5933,2730,860,68
    Q60,600,620,580,5990,7320,7930,820,76
    Q71,822,002,312,0422,2722,8160,900,73
    Q82,021,822,502,1152,4913,3810,850,63
    Q914,1613,5713,8613,86514,74417,4200,940,80
    Q106,054,304,484,9475,8745,9090,840,84
    Q111,200,840,500,8470,9051,0700,940,79
    Q121,391,581,641,5371,6952,1220,910,72
    Q137,558,728,818,3608,9269,6600,940,87
    Q143,232,152,072,4872,4073,1821,030,78
    Q151,370,971,181,1731,2171,5680,960,75
    Q162,532,121,952,1992,2073,7921,000,58
    Q172,522,052,772,4462,8193,7190,870,66
    Q189,7310,2710,2210,07510,81111,4620,930,88
    Q192,532,722,342,5303,0743,4980,820,72
    Q202,682,532,622,6113,0893,9610,850,66
    Q218,1712,038,859,68611,31813,7830,860,70
    Q222,461,781,962,0662,1512,7670,960,75
    Total84.2979.0478.1080.47589.831106.8060.900.75

    Alguns pontos que merecem atenção:

    • O Graviton5 vence o Graviton4 em 20 das 22 consultas e o Cobalt 100 em todas as 22. Contra o Graviton4, Q14 e Q16 ficam empatadas (dentro da variação entre execuções), e as demais são de 4% a 26% mais rápidas. Contra o Cobalt 100, o menor ganho é de 12% (Q18) e o maior, de 42% (Q16), seguido de perto pela Q1, com 39%.
    • As consultas com varredura intensa tiveram os maiores ganhos. A Q1 (uma passagem completa pela tabela lineitem de seis bilhões de linhas) caiu 26%, e Q4, Q6, Q19, Q10 e Q20 caíram de 15% a 19%. Essas consultas percorrem colunas pela CPU tão rápido quanto a memória consegue alimentá-la, exatamente onde a memória DDR5-8800 mais rápida do Graviton5 deve fazer diferença.
    • As grandes junções ganharam menos. Q9, Q13 e Q18, as três junções múltiplas mais pesadas, melhoraram de 6% a 7%. Elas ainda concentram o tempo: essas três, mais a Q21, respondem por cerca de 42 dos 80 segundos no Graviton5.
    • A passagem com cache frio é onde a máquina Azure mais sofre. A primeira passagem totaliza 84,3 s no Graviton5, 96,1 s no Graviton4 e 117,9 s no Cobalt 100; só a primeira execução da Q1 leva 5,4 s, 7,5 s e 10,0 s, respectivamente. Se reportássemos apenas execuções com cache quente, o resultado do Graviton5 seria de 78 segundos. Não fazemos isso.
    • Doze das 22 consultas terminam em menos de 2,5 segundos sobre um terabyte de dados, pela rede, por meio de um cliente Flight SQL. Essa é a parte que ainda me parece inacreditável.

    Por que o Graviton5 cumpre o que promete

    Dez por cento sobre o Graviton4 pode não parecer uma manchete, então vale contextualizar. É uma única geração, em uma carga limitada pela largura de banda da memória e pela taxa de transferência do NVMe, não pela aritmética de cada núcleo, medida sem nenhuma mudança de software: não recompilei, reajustei nem alterei uma configuração entre as três execuções. O mesmo binário simplesmente rodou 10% mais rápido que no Graviton4 e 25% mais rápido que no Cobalt 100. A execução no Graviton5 custou 2% menos que no Graviton4, embora a instância custe 9% mais por hora. É desempenho gratuito, que se acumula a cada versão do DuckDB.

    As informações da própria AWS sobre o chip explicam de onde vem o ganho:

    • Até 25% mais desempenho de computação por vCPU em relação ao Graviton4. Observamos 10% em uma carga analítica intensa em E/S e memória; cargas limitadas por computação devem ganhar mais.
    • Memória DDR5-8800, contra DDR5-5600 no Graviton4. SQL analítico nessa escala transmite colunas pela CPU, e a largura de banda da memória é o limite. Isso é coerente com os maiores ganhos nas consultas de varredura intensa.
    • Cinco vezes o cache L3 do Graviton4. Junções hash e agregações sobre centenas de milhões de grupos dependem das taxas de acerto do cache, e Q9, Q18 e Q21 são exatamente esse tipo de consulta.
    • Até 192 vCPUs nos maiores tamanhos. Usei a 24xlarge, com 96, para manter o mesmo número de núcleos das outras duas execuções. Há uma 48xlarge com o dobro de núcleos e memória esperando a próxima rodada.

    As ressalvas: cada máquina recebeu uma execução do benchmark, em uma tarde de quinta-feira, portanto um ou dois pontos percentuais da diferença podem ser ruído. A máquina Azure tem 672 GiB de memória contra 768 GiB na AWS, além de NVMe diferente (seis discos de 880 GiB contra três de 1.900 GB); a comparação entre nuvens inclui a plataforma, não apenas a CPU. Além disso, Cobalt 100 é o chip Arm de primeira geração da Microsoft; Graviton5 é o de quinta geração da Amazon. Graviton5 contra Graviton4 é a comparação mais controlada, e a que eu citaria: mesma nuvem, mesma região, mesma configuração de instância, uma geração de diferença e 10% mais velocidade. A 48xlarge é a próxima da lista.

    Quanto custa

    A conta é simples: segundos divididos por 3.600, multiplicados pelo preço por hora sob demanda.

    Graviton5   80.475 s ÷ 3,600 × $7.689/hr = $0.172
    Graviton4   89.831 s ÷ 3,600 × $7.054/hr = $0.176
    Cobalt 100 106.806 s ÷ 3,600 × $5.616/hr = $0.167

    Os três valores arredondam para US$ 0,17 por execução completa do TPC-H de 1 TB, o número que já publicamos há algum tempo. Isso significa que nossa comparação com os data warehouses na nuvem não muda em custo: nessa carga, o custo por execução do GizmoSQL continua sendo aproximadamente 1/16 do Snowflake, 1/31 do Databricks SQL e 1/138 do BigQuery. O que muda é a velocidade. Com 80,5 segundos, o GizmoSQL agora é mais rápido que todos eles, inclusive os 103,4 segundos do Snowflake, que antes nos superava ligeiramente no tempo, mas custava 16 vezes mais.

    E esses são preços sob demanda. O preço spot das instâncias Graviton costuma ser uma fração desse valor; para uma tarefa de análise em lote que termina em 80 segundos, spot é uma opção perfeitamente razoável.

    O que importa é a competição

    Esta é a parte que considero mais importante do que qualquer número isolado. O GizmoSQL é um processo executado em uma máquina, construído sobre o DuckDB, que é compilado para Arm e fica mais rápido a cada versão. Assim, sempre que um provedor de nuvem lança uma CPU melhor, todos os usuários do GizmoSQL recebem a melhoria no mesmo dia, gratuitamente, alterando uma string no script de inicialização. Sem trocar de plataforma, mudar de faixa de preço ou esperar que um fornecedor "passe a dar suporte" ao novo tipo de instância. Hoje, essa string foi r9gd.24xlarge.

    E a competição está longe de acabar:

    • Azure Cobalt 200 é a resposta da Microsoft exatamente a esse resultado. É um chip de 132 núcleos com Arm Neoverse V3 e fabricação TSMC de 3 nm, e a Microsoft afirma que ele oferece mais de 50% de ganho de desempenho sobre o Cobalt 100 em cargas reais. Se metade disso aparecer no TPC-H, o Cobalt 200 ultrapassará o Graviton4 e ficará perto do Graviton5. A Microsoft informa que a disponibilidade geral chegará mais adiante em 2026. Executaremos este mesmo benchmark na semana em que ele estiver disponível.
    • Google Cloud Axion é o terceiro concorrente Arm. A família C4A usa Neoverse V2, a mesma geração de núcleos do Graviton4, e suas configurações -lssd incluem até 6 TiB de SSD Titanium local, exatamente o que este benchmark precisa. A C4A chega a 72 vCPUs, portanto não permite uma comparação equivalente de 96 núcleos, mas o GizmoData Cloud já provisiona GizmoSQL em C4A, e um resultado do Axion merece entrar nesta tabela. Ele virá.
    • Os tamanhos 48xlarge e o NUMA. Dobrar para 192 vCPUs em qualquer geração também significa passar de um nó NUMA para dois. Na minha experiência, é aí que a escalabilidade linear de um único processo DuckDB deixa de funcionar: junções hash e agregações que cabem com folga na memória de um soquete passam a gastar tempo transferindo dados pela interconexão. A 48xlarge do Graviton4 tem dois soquetes de 96 núcleos. A do Graviton5 tem um chip de 192 núcleos com duas regiões NUMA, e a AWS afirma que a latência entre núcleos é cerca de um terço menor. Ela pode ser a primeira 48xlarge em que o segundo nó se paga nessa carga. Medir isso, e verificar se dois processos GizmoSQL fixados em nós NUMA superam um único processo grande, merece um artigo próprio.

    Amazon, Microsoft e Google investem bilhões para que seus chips Arm superem os outros dois. Clientes de Snowflake, Databricks e BigQuery recebem esses ganhos na medida em que o fornecedor decide repassá-los — se decidir. Clientes GizmoSQL recebem o ganho inteiro, pelo preço por hora da VM. Essa é a vantagem estrutural de um mecanismo de nó único em hardware comum de nuvem, e ela aumenta a cada geração.

    Reproduza o teste

    Tudo aqui é de código aberto, e as etapas são as descritas acima. O gerador de dados é o gizmodata/tpch-datagen, o executor de consultas é o gizmodata/benchmark-flight-sql, e o GizmoSQL Core é gratuito, licenciado sob Apache-2.0 e instalado com um comando. Se obtiver um resultado diferente na mesma configuração, quero saber.

    Se sua equipe paga um data warehouse por crédito, DBU ou byte varrido para responder a perguntas como essas, veja o que uma VM Arm bem dimensionada faz por US$ 0,17. Ajudamos você a migrar a carga de trabalho e garantimos a redução da conta pela metade.

    Pronto para experimentar o GizmoSQL?

    Experimente análises de dados ultrarrápidas com nosso mecanismo SQL de código aberto

    Agende uma demonstração!Agendamento via Calendly