O sucessor do GizmoSQL, criado para o DuckDB 2.0

    Hardcharger™: DuckDB remoto, rápido e seguro

    O Hardcharger coloca o DuckDB 2.0 na rede. Os clientes se conectam via Warp SQL, um protocolo HTTP aberto que transmite Apache Arrow direto do DuckDB para a sua aplicação. O controle de acesso está integrado ao servidor, uma interface web está integrada ao binário, e todos os recursos estão incluídos: sem edições, sem chaves de licença.

    1 TB derivado do TPC-H*
    42,4 s
    1 TB derivado do TPC-H*
    custo sob demanda na AWS por execução*
    ~US$ 0,09
    custo sob demanda na AWS por execução*
    todos os recursos incluídos
    Apache-2.0
    todos os recursos incluídos
    chaves de licença
    0
    chaves de licença

    * Hardcharger 2.0.0 com DuckDB 2.0.0; método e ressalvas.

    Esta carga de trabalho é derivada do TPC-H Benchmark e não é comparável aos resultados publicados do TPC-H Benchmark, pois esta implementação não atende a todos os requisitos do TPC-H Benchmark. TPC, TPC Benchmark e TPC-H são marcas comerciais do Transaction Processing Performance Council (TPC).

    Hardcharger™: o touro em disparada e o logotipo
    GizmoData Cloud

    A melhor forma de executar o Hardcharger

    Inicie um servidor Hardcharger gerenciado com um clique na AWS, no Google Cloud ou no Azure. O GizmoData Cloud o executa para você, com armazenamento lakehouse aberto, um editor SQL no navegador, SSO e uma trilha de auditoria, em um único plano de controle. Pague por hora pelo que executar.

    Por que o Hardcharger

    Um servidor DuckDB que muitas pessoas e aplicações compartilham, por meio de drivers comuns, com o acesso de cada usuário controlado pelo servidor.

    DuckDB 2.0 por dentro

    Um servidor independente construído sobre a API C v2 do DuckDB 2.0, não uma extensão. DuckLake, httpfs e PostgreSQL vêm integrados, e as demais extensões do DuckDB são instaladas normalmente.

    Warp SQL na comunicação

    Um protocolo HTTP aberto que transmite Apache Arrow do DuckDB para a sua aplicação. Uma consulta e suas primeiras linhas voltam em uma única ida e volta; resultados grandes são transmitidos comprimidos, divididos entre várias conexões, e são retomados depois de uma conexão interrompida.

    O que é o Warp SQL?

    Segurança no protocolo

    Somente tokens bearer, nunca cookies. Cada handle de sessão, instrução e resultado fica vinculado ao usuário que o criou e é verificado a cada uso. Resultados e metadados seguem as permissões desse usuário.

    Todos os recursos incluídos

    Sem edições e sem chaves de licença. Tudo o que era do GizmoSQL Enterprise (SSO, instrumentação, métricas, fila de instruções, KILL SESSION, acesso granular) está em toda versão do Hardcharger, sob Apache-2.0.

    Uma carga de trabalho de 1 TB derivada do TPC-H, em menos de 43 segundos

    As 22 consultas derivadas do TPC-H, com fator de escala 1000, em uma única máquina Graviton5: 1,8× mais rápido que a referência anterior do GizmoSQL (DuckDB 1.5.6) no mesmo tipo de máquina, por cerca de 9 centavos de dólar de computação sob demanda na AWS por execução.

    Derivado do TPC-H: 22 consultas com fator de escala 1000 (1 TB)
    Total em segundos, quanto menor, melhor. AWS r9gd.24xlarge (Graviton5, 96 vCPUs, 742 GiB, 3 × 1,9 TB NVMe), sob demanda na AWS a US$ 7,69/h. Medido em 20 de outubro de 2026.
    1. GizmoSQL 1.42.0 · DuckDB 1.5.677,0 s · US$ 0,164
    2. Hardcharger 2.0.0 · DuckDB 2.0.042,4 s · US$ 0,090

    Custo por execução completa: os segundos da execução ao preço sob demanda da máquina na AWS; um custo de nuvem, não uma métrica de preço/desempenho do TPC. Mesmo tipo de máquina e mesmos dados para todos os servidores.

    Esta carga de trabalho é derivada do TPC-H Benchmark e não é comparável aos resultados publicados do TPC-H Benchmark, pois esta implementação não atende a todos os requisitos do TPC-H Benchmark. Desvios: apenas as 22 consultas são executadas (sem funções de atualização, sem teste de potência ou de vazão), cronometradas como a soma das médias de cada consulta em três execuções, sem auditoria. TPC, TPC Benchmark e TPC-H são marcas comerciais do Transaction Processing Performance Council (TPC).

    Concorrência: 3× as consultas por segundo, sem erros

    Na fase de concorrência do ClickBench, o Hardcharger atingiu 3× as consultas por segundo da entrada publicada do GizmoSQL no ClickBench (0,350 contra 0,117 QPS) sem nenhum erro, na mesma classe de máquina (c6a.4xlarge); na entrada do GizmoSQL, 90% das consultas concorrentes falharam. Execução preliminar do Hardcharger 2.0.0-rc.1 (20 de outubro de 2026), aguardando a execução na versão GA.

    Por que é tão incrivelmente rápido

    • Todo resultado passa por um pipeline assíncrono: o DuckDB continua produzindo enquanto os lotes anteriores são comprimidos e criptografados.
    • Compressão lz4_frame ou zstd em um pool de threads, aplicada apenas aos buffers que uma amostra mostra que vão encolher.
    • Resultados grandes divididos em partições que os clientes leem por várias conexões ao mesmo tempo, em ordem quando a consulta pede uma.
    • Uploads em partes paralelas, inseridas em todas as threads do DuckDB e confirmadas como uma única transação.

    Os resultados remotos de busca e carga contra Arrow Flight SQL e Quack, incluindo os testes em que o Hardcharger perde, estão na página do Warp SQL e nas notas completas dos benchmarks.

    Segurança no núcleo, não acoplada depois

    Login, controle de acesso e auditoria fazem parte do servidor e do protocolo, e todos eles estão na versão gratuita.

    Login do seu jeito

    Senhas e tokens, troca de tokens, SSO com qualquer provedor OpenID Connect (OIDC/JWKS) e login pelo navegador na própria porta do servidor, com filtros de e-mails autorizados.

    Certificados como identidade

    TLS mútuo em que o certificado do cliente faz o login do usuário, sem senha (e-mail SAN, URI SPIFFE ou CN do subject). Os tokens ficam vinculados ao certificado (RFC 8705), e as CRLs são verificadas para cada certificado da cadeia.

    Papéis e permissões

    CREATE USER, CREATE ROLE, GRANT e REVOKE em SQL. Cada instrução é verificada dentro do DuckDB contra o seu próprio plano, então SQL aninhado, visões e macros não conseguem contornar uma permissão. Revogações chegam às sessões abertas em cerca de um segundo.

    Políticas de linha e mascaramento

    Políticas por linha, mascaramento de colunas, tenants com administradores próprios, regras de acesso por catálogo e Open Policy Agent, tudo aplicado pelo servidor.

    Permissões que você pode consultar

    hardcharger_grants(), hardcharger_effective_privileges() e as visões de privilégios do padrão SQL respondem “quem pode ver esta tabela?” em SQL, cada uma mostrando apenas o que quem consulta pode ver.

    Proteção do sistema de arquivos

    Nenhuma instrução consegue ler, listar ou gravar os arquivos de credenciais e de sistema do host (chaves SSH e de nuvem, os segredos do DuckDB, a própria chave TLS do servidor), seja quem for que a execute. A verificação fica no sistema de arquivos do DuckDB, então ela vê cada caminho, não importa como o SQL o montou.

    Log de auditoria que evidencia adulterações

    Logins, recusas e alterações administrativas vão para um log de auditoria que mostra se um registro foi alterado ou removido.

    Observável

    Histórico de sessões e instruções em um arquivo DuckDB ou no PostgreSQL (dezenas de milhares de instruções por segundo), um endpoint /metrics do Prometheus, perfis de consulta, hardcharger_active_connections() e KILL SESSION.

    Controle de acesso em SQL simples

    Guarde usuários, papéis e permissões no PostgreSQL, o armazenamento que todas as réplicas de um cluster compartilham, ou em um arquivo DuckDB para desenvolvimento e configurações de servidor único. Uma visão lê com os direitos do seu dono, então publicar uma visão selecionada é um único GRANT.

    CREATE ROLE analyst;
    GRANT SELECT ON SCHEMA analytics TO analyst;              -- every table, now and later
    GRANT SELECT (email, signup_ts) ON crm.users TO analyst;  -- two columns only
    CREATE USER joe WITH PASSWORD '…';                        -- signs in with it
    GRANT analyst TO joe;
    REVOKE analyst FROM joe;                                  -- reaches joe's open sessions too

    Uma interface web no binário do servidor

    Ative-a com --web-ui e abra /ui na própria porta e no próprio certificado do servidor. Nada mais para instalar, e nada é carregado de outra origem.

    localhost:31337/ui
    Interface web do Hardcharger: o editor SQL com uma consulta derivada do TPC-H, sua grade de resultados e o navegador de esquemas
    localhost:31337/ui
    Interface web do Hardcharger: o autocompletar sugerindo colunas e tabelas no editor SQL
    localhost:31337/ui
    Interface web do Hardcharger: a janela Upload data com a prévia das colunas e dos tipos de uma pasta de trabalho do Excel
    localhost:31337/ui
    Interface web do Hardcharger: a página Sessions, que lista as sessões abertas e o que elas executam
    localhost:31337/ui
    Interface web do Hardcharger: a página API, a API Warp SQL do servidor no Swagger UI
    localhost:31337/ui
    Interface web do Hardcharger: a página de login
    localhost:31337/ui
    Interface web do Hardcharger: a janela About com o touro do Hardcharger
    • Editor SQL com até 20 abas, cada uma com sua própria sessão: execute a instrução no cursor, uma seleção ou o script inteiro
    • Grade de resultados de até um milhão de linhas: ordenar, filtrar, seleção como em planilha e uma cópia que se cola no Excel ou no Google Sheets
    • Navegador de esquemas e autocompletar que mostram a cada usuário apenas o que os papéis dele permitem
    • Upload data: CSV, TSV, Excel, Parquet, JSON ou Arrow para uma tabela nova ou existente, com prévia e tipos de coluna que você pode alterar
    • Downloads em CSV, TSV, JSON ou Excel, ou o resultado completo com tipos em Parquet ou Arrow
    • Consultas salvas em pastas, Run as com um dos seus papéis e transações com Commit e Rollback
    • Página API: a própria API Warp SQL do servidor no Swagger UI, com o seu login
    • Login com o seu provedor de identidade ou com o seu certificado de cliente sob TLS mútuo
    Os arquivos são lidos e convertidos para Arrow no seu navegador e enviados pela ingestão em massa do Warp SQL em uma única transação: um upload que falha deixa a tabela como estava.

    Hardcharger vs. GizmoSQL vs. DuckDB Quack

    O Quack é o protocolo remoto da própria DuckDB Labs: se todo cliente é um DuckDB em que você confia, é a escolha fácil. O Hardcharger foi feito para um servidor compartilhado acessado por meio de drivers. Veja o que cada um oferece hoje.

    Hardcharger, GizmoSQL e DuckDB Quack comparados
    Hardcharger™GizmoSQL 1.xDuckDB Quack
    Protocolo
    Warp SQL 1.0: uma especificação aberta e versionada (Apache-2.0), com uma descrição OpenAPI 3.1 e uma suíte de conformidade com 282 testes
    Apache Arrow Flight SQL
    Quack, o protocolo de uma extensão do DuckDB (versão 3 no DuckDB 2.0); a documentação do DuckDB diz que ele ainda pode mudar
    Transporte
    HTTP/1.1 simples + TLS; resultados, parâmetros e uploads como streams Arrow IPC
    gRPC sobre HTTP/2, com record batches do Arrow
    HTTP; resultados no formato próprio do DuckDB, não em Arrow
    Mecanismo
    DuckDB 2.0, em um servidor independente sobre a API C v2 do DuckDB
    DuckDB 1.5 (stable), 1.4 (LTS) ou uma versão de pré-lançamento do DuckDB 2.0 (edge); ou SQLite
    Qualquer processo DuckDB que execute CALL quack_serve(...)
    Clientes e drivers
    ADBC (Python, Go; C/C++, R, Rust por meio de um gerenciador de drivers), JDBC, JavaScript e qualquer cliente HTTP, como o curl
    Clientes ADBC, JDBC, ODBC e Flight SQL
    ParcialO próprio DuckDB: a CLI ou uma biblioteca DuckDB com a extensão carregada
    Navegadores
    fetch simples, com o cliente @gizmodata/hardcharger (origens permitidas via --cors-origins)
    Por meio do DuckDB-Wasm
    Login e segurança do transporte
    Senhas e tokens, SSO (OIDC/JWKS) com login pelo navegador, TLS e mTLS com o certificado do cliente como identidade; tokens bearer, nunca cookies
    TLS / mTLS e autenticação JWT; SSO / OAuth no Enterprise
    ParcialUm token compartilhado por padrão, ou a sua própria função SQL; TLS; sem certificados de cliente
    Controle de acesso
    Usuários, papéis e permissões verificados contra o plano de cada instrução; políticas de linha, mascaramento de colunas, tenants, Open Policy Agent
    ParcialLeitura / escrita / nenhum por catálogo, por usuário (Enterprise)
    ParcialUm hook que vê o texto de cada instrução; o DuckDB não tem papéis nem permissões
    Auditoria
    Log de auditoria que evidencia adulterações; permissões consultáveis como visões SQL
    Instrumentação de sessões e auditoria (Enterprise)
    Interface web
    Integrada ao servidor (--web-ui): editor SQL, grade de resultados, navegador de esquemas, sessões, página de API
    GizmoSQL UI, um cliente SQL separado que roda no navegador
    Upload de arquivos
    Pela interface web: CSV, TSV, Excel, Parquet, JSON ou Arrow, com prévia e tipos definidos no navegador
    Parâmetros de bind
    Posicionais e nomeados, enviados ao servidor como valores
    Instruções parametrizadas
    Somente texto SQL
    Ingestão em massa
    Arrow em streaming, dividido entre conexões paralelas, lz4 ou zstd, confirmado tudo ou nada
    Ingestão em massa via ADBC (Flight SQL DoPut)
    Por meio de um banco de dados anexado
    Retomada de resultados
    Um download interrompido retoma do lote em que parou; os resultados são mantidos por uma hora por padrão
    Resultados particionados
    Um resultado grande é lido por várias conexões ao mesmo tempo, em ordem quando a consulta tem uma
    Instrumentação
    Histórico de sessões e instruções no DuckDB ou no PostgreSQL, /metrics do Prometheus, perfis de consulta, funções de sessões ao vivo
    Instrumentação de sessões, perfis de consulta e métricas do Prometheus (Enterprise)
    ParcialO log do DuckDB e quack_active_connections(); sem endpoint de métricas
    Licença
    Apache-2.0, todos os recursos incluídos, sem chaves de licença
    Core Apache-2.0; recursos Enterprise licenciados por vCPU
    MIT
    Desempenho (medições nossas)
    Uma carga de trabalho de 1 TB derivada do TPC-H em 42,4 s em uma única máquina (2.0.0). Mais rápido que o Quack em 5 de 9 testes remotos de busca e carga, 3,9× numa busca por WAN de 46 ms
    A mesma carga de trabalho derivada do TPC-H em 77,0 s (1.42.0, DuckDB 1.5.6) no mesmo tipo de máquina
    Mais rápido que o Hardcharger em 4 de 9 testes remotos (buscas e cargas grandes em LAN), de 1% a 16%

    Os dados do Quack foram verificados em servidores em execução com o Quack e7a9be3f8c (o commit que o DuckDB 2.0 fixa) e na documentação do Quack do DuckDB; o Quack é uma extensão experimental e pode mudar. Os dados do GizmoSQL vêm das páginas dele neste site. Um traço significa que não temos fonte verificada para aquela célula. As linhas de desempenho são medições nossas; veja desempenho e os benchmarks do Warp SQL.

    Conecte-se de qualquer cliente

    Drivers nativos para Python, Go, Java e JavaScript, um cliente de linha de comando e HTTP simples. Uma URI hardcharger://host é HTTPS na porta 31337; ?tls=false é HTTP simples, para desenvolvimento local.

    1# pip install adbc-driver-hardcharger
    2from adbc_driver_hardcharger import dbapi as hardcharger
    3
    4with hardcharger.connect(uri="hardcharger://localhost?tls=false", username="hardcharger", password="change-me") as conn:
    5    with conn.cursor() as cur:
    6        cur.execute(operation="SELECT 42 AS answer, ? AS greeting", parameters=["hello"])
    7        print(cur.fetch_arrow_table())

    Funcionando em um minuto

    Instale com uma linha, inicie o servidor com a interface web e conecte-se.

    macOS e Linux
    curl https://install.hardcharger.gizmodata.com | sh
    Windows (PowerShell)
    irm https://install.hardcharger.gizmodata.com/install.ps1 | iex
    Depois
    HARDCHARGER_ADMIN_PASSWORD='change-me' hardcharger-server --web-ui --database demo.duckdb
    # open http://localhost:31337/ui and sign in as hardcharger / change-me
    
    HARDCHARGER_PASSWORD='change-me' hardcharger --host localhost --tls=false --username hardcharger \
      --command "SELECT 42 AS answer"

    Instalador de uma linha

    macOS, Linux e Windows, com versões lado a lado, fixação de versão (versões candidatas também) e verificação de checksums.

    Instalar o Hardcharger

    Assinado e notarizado

    Os binários para macOS são assinados com o Developer ID da GizmoData e notarizados pela Apple; os executáveis e MSIs do Windows têm assinatura de código EV (Authenticode). Toda versão inclui SHA256SUMS.

    Imagens Docker

    Imagens multiarquitetura (amd64, arm64) no GitHub Container Registry e no Docker Hub.

    Python também

    pip install hardcharger executa um servidor de verdade a partir do Python (para testes e notebooks); adbc-driver-hardcharger é o cliente.

    Docker

    docker run --rm -p 31337:31337 -p 31338:31338 \
      -e HARDCHARGER_ADMIN_PASSWORD='change-me' \
      ghcr.io/gizmodata/hardcharger:latest

    Vindo do GizmoSQL

    O Hardcharger é o GizmoSQL reconstruído do zero para o DuckDB 2.0, e passa na bateria de testes do GizmoSQL usando apenas o Warp SQL. O GizmoSQL 1.x agora está em manutenção. O Hardcharger usa apenas nomes próprios (variáveis HARDCHARGER_*, funções SQL hardcharger_*), e o guia de migração mapeia cada opção, variável, função e flag de cliente do GizmoSQL para o novo nome.

    Código aberto, tudo

    O Hardcharger, a especificação do Warp SQL e sua suíte de conformidade, e os drivers são Apache-2.0. Todo binário inclui THIRD_PARTY_NOTICES.md, a licença de cada componente que ele incorpora, e hardcharger-server --licenses o exibe. Converse com a equipe no Slack da comunidade GizmoData e relate problemas no GitHub.

    Hardcharger para iPhone e iPad

    O Hardcharger para iPhone e iPad executa o servidor Hardcharger no próprio aparelho, com a sua interface web e um console SQL nativo, e se conecta a servidores Hardcharger em qualquer outro lugar.

    Em breve Em breve na App Store
    O que é o Hardcharger?

    O Hardcharger é o servidor de análise de dados de código aberto da GizmoData: o DuckDB 2.0 na rede. Os clientes se conectam via Warp SQL, um protocolo HTTP aberto que transmite resultados em Apache Arrow, por ADBC (Python, Go), JDBC, JavaScript ou HTTP simples. Ele é o sucessor do GizmoSQL, reconstruído do zero para o DuckDB 2.0, e todos os recursos estão incluídos sob Apache-2.0, sem chaves de licença.

    Qual é a diferença entre o Hardcharger e o GizmoSQL?

    O GizmoSQL é um servidor DuckDB sobre Apache Arrow Flight SQL (gRPC), com uma edição Core gratuita e uma edição Enterprise paga. O Hardcharger é um novo servidor para o DuckDB 2.0 sobre Warp SQL (HTTP simples e Arrow), com controle de acesso baseado em papéis, políticas de linha, mascaramento de colunas, interface web integrada, upload de arquivos e todos os antigos recursos Enterprise incluídos gratuitamente. O GizmoSQL 1.x agora está em manutenção, e o guia de migração em docs.hardcharger.gizmodata.com(abre em uma nova aba) mapeia cada nome do GizmoSQL para o nome no Hardcharger.

    Qual é a diferença entre o Hardcharger e a extensão Quack do DuckDB?

    O Quack, da DuckDB Labs, permite que um DuckDB sirva seus bancos de dados e que outro DuckDB os anexe via HTTP. Se todo cliente é um DuckDB em que você confia, é a escolha fácil. O Hardcharger foi feito para um servidor que muitas pessoas e aplicações compartilham por meio de drivers (ADBC, JDBC, JavaScript, HTTP), com o acesso de cada usuário controlado pelo servidor: usuários, papéis, permissões, políticas de linha, mascaramento, identidade por mTLS, um log de auditoria, uma interface web e parâmetros de bind enviados ao servidor.

    Qual é a melhor forma de executar o Hardcharger?

    O GizmoData Cloud: inicie um servidor Hardcharger gerenciado com um clique na AWS, no Google Cloud ou no Azure, com login, armazenamento e monitoramento cuidados para você. Para executá-lo por conta própria, use o instalador de uma linha, a imagem Docker ou os binários para macOS, Linux e Windows.

    O Hardcharger é gratuito e de código aberto?

    Sim. O Hardcharger é licenciado sob Apache-2.0 e não tem edições nem chaves de licença: controle de acesso baseado em papéis, SSO, instrumentação, métricas e a interface web estão em toda versão. Os binários listam cada componente de terceiros e sua licença em THIRD_PARTY_NOTICES.md.

    Quão rápido é o Hardcharger?

    Em uma AWS r9gd.24xlarge (Graviton5), o Hardcharger 2.0.0 executou uma carga de trabalho de 1 TB derivada do TPC-H (suas 22 consultas com fator de escala 1000) em 42,4 segundos, cerca de 9 centavos de dólar de computação sob demanda na AWS por execução (um custo de nuvem, não uma métrica de preço/desempenho do TPC), contra 77,0 segundos do GizmoSQL 1.42.0 no mesmo tipo de máquina. Esta carga de trabalho é derivada do TPC-H Benchmark e não é comparável aos resultados publicados do TPC-H Benchmark, pois esta implementação não atende a todos os requisitos do TPC-H Benchmark. Pela rede, os drivers Warp SQL dele buscaram uma tabela de 6 milhões de linhas 11,8 vezes mais rápido que o GizmoSQL via Arrow Flight SQL numa LAN.

    Quais clientes e ferramentas podem se conectar?

    Python (adbc-driver-hardcharger), Go e qualquer gerenciador de drivers ADBC (C/C++, R, Rust), Java e ferramentas JDBC como o DBeaver (hardcharger-jdbc), JavaScript no Node, em navegadores, no Deno, no Bun e no Cloudflare Workers (@gizmodata/hardcharger), o cliente de linha de comando hardcharger, dbt, SQLFrame, um servidor MCP para o Claude e qualquer coisa que fale HTTP. Veja gizmodata.com/hardcharger/integrations.

    Como passo do GizmoSQL para o Hardcharger?

    Instale o Hardcharger ao lado do GizmoSQL, aponte-o para o seu banco de dados DuckDB e troque os clientes para os drivers do Hardcharger (URIs hardcharger://, porta 31337 como antes). O guia de migração em docs.hardcharger.gizmodata.com(abre em uma nova aba) mapeia cada opção, variável de ambiente, função SQL e flag de cliente do GizmoSQL para o nome no Hardcharger.

    Hardcharger™: o touro em disparada e o logotipo

    Experimente o Hardcharger

    Instale em um minuto, ou deixe o GizmoData Cloud executá-lo para você na AWS, no Google Cloud ou no Azure.

    Hardcharger™ e GizmoData™ são marcas comerciais da GizmoData LLC. DuckDB é uma marca comercial da DuckDB Foundation.

    Agende uma demonstração!Agendamento via Calendly