Saltar al contenido principal

Requisitos

  • Python 3.8+
  • Plataformas compatibles: macOS y Linux (x86_64 y ARM64)

Instalación

Uso

Interfaz de línea de comandos

Ejecute consultas SQL directamente desde la línea de comandos:

Uso básico de Python

API basada en conexiones (recomendada)

Para mejorar la gestión de recursos y el rendimiento:

Métodos de ingestión de datos

Fuentes de datos basadas en archivos

chDB admite más de 70 formatos de datos para consultar archivos directamente:

Ejemplos de formato de salida

Operaciones con DataFrame

API heredada de DataFrame

Sesiones con estado

Las sesiones conservan el estado de la consulta a lo largo de múltiples operaciones, lo que permite flujos de trabajo complejos:

Funciones avanzadas de la sesión

Véase también: test_stateful.py.

Interfaz de Python DB-API 2.0

Interfaz estándar de base de datos para garantizar la compatibilidad con aplicaciones de Python existentes:

Funciones definidas por el usuario (UDF)

Amplíe SQL con funciones personalizadas en Python:

Uso básico de UDF

UDF avanzadas con tipos de retorno personalizados

Buenas prácticas para las UDF

  1. Funciones sin estado: las UDF deben ser funciones puras, sin efectos secundarios
  2. Importaciones dentro de las funciones: todos los módulos necesarios deben importarse dentro de la UDF
  3. Entrada/salida de cadenas: todos los parámetros de las UDF son cadenas (formato TabSeparated)
  4. Manejo de errores: incluya bloques try-catch para que las UDF sean robustas
  5. Rendimiento: las UDF se invocan para cada fila, así que optimícelas para obtener el mejor rendimiento

Procesamiento de consultas en streaming

Procese grandes volúmenes de datos con un uso de memoria constante:

Motor de tabla de Python

Consultar DataFrames de Pandas

Fuentes de datos personalizadas con PyReader

Implemente lectores personalizados para fuentes de datos especializadas:

Rendimiento y optimización

Benchmarks

chDB supera de forma sistemática a otros motores embebidos:
  • Operaciones de DataFrame: entre 2 y 5 veces más rápidas que las bibliotecas de DataFrame tradicionales para consultas analíticas
  • Procesamiento de Parquet: competitivo frente a los principales motores columnares
  • Eficiencia de memoria: menor uso de memoria que las alternativas
Más detalles sobre los resultados del benchmark

Consejos de rendimiento

Repositorio de GitHub

Última modificación el 25 de junio de 2026