Pular para o conteúdo principal

Requisitos

  • Python 3.8+
  • Plataformas compatíveis: macOS e Linux (x86_64 e ARM64)

Instalação

Uso

Interface de linha de comando

Execute consultas SQL diretamente pela linha de comando:

Uso básico de Python

API baseada em conexão (recomendada)

Para melhorar o gerenciamento de recursos e o desempenho:

Métodos de ingestão de dados

Fontes de dados baseadas em arquivos

O chDB oferece suporte a mais de 70 formatos de dados para consultar arquivos diretamente:

Exemplos de formato de saída

Operações de DataFrame

API legada do DataFrame

Sessões com estado

As sessões preservam o estado da consulta ao longo de várias operações, permitindo fluxos de trabalho complexos:

Funcionalidades avançadas de sessão

Veja também: test_stateful.py.

Interface DB-API 2.0 do Python

Interface padrão de banco de dados para compatibilidade com aplicativos Python existentes:

Funções definidas pelo usuário (UDF)

Estenda o SQL com funções Python personalizadas:

Uso básico de UDF

UDF avançada com tipos de retorno personalizados

Boas práticas de UDF

  1. Funções sem estado: as UDFs devem ser funções puras, sem efeitos colaterais
  2. Importações dentro das funções: todos os módulos necessários devem ser importados dentro da UDF
  3. Entrada/saída de strings: todos os parâmetros da UDF são strings (formato TabSeparated)
  4. Tratamento de erros: inclua blocos try-catch para criar UDFs robustas
  5. Desempenho: as UDFs são chamadas para cada linha, portanto otimize o desempenho

Processamento de consultas em streaming

Processe grandes conjuntos de dados com uso de memória constante:

Engine de tabela Python

Consultar DataFrames do pandas

Fontes de dados personalizadas com o PyReader

Implemente leitores de dados personalizados para fontes de dados específicas:

Desempenho e otimização

Benchmarks

O chDB supera consistentemente outros motores embutidos:
  • Operações com DataFrame: 2–5x mais rápidas do que bibliotecas tradicionais de DataFrame em consultas analíticas
  • Processamento de Parquet: No mesmo nível dos principais motores colunares
  • Eficiência de memória: Menor uso de memória do que as alternativas
Mais detalhes sobre os resultados de benchmark

Dicas de desempenho

Repositório no GitHub

Última modificação em 2 de julho de 2026