Curaduría open-source · Python-first · en español

El catálogo

Nº14 · Análisis

DuckDB

La base de datos analítica que corre dentro de tu proceso, sin servidor.

Motor / BDIntroData Engineer·Data Scientistsql

¿Qué es?

DuckDB es una base de datos analítica en proceso (embedded): no levantas un servidor ni administras infraestructura — corre dentro de tu script de Python, tu notebook o tu terminal. Piensa en "SQLite, pero para análisis": un motor SQL rápido que vive junto a tu código.

¿Para qué sirve?

  • Consultar archivos Parquet y CSV directamente con SQL, sin cargarlos antes a una base de datos.
  • Análisis local rápido sobre datasets de tamaño medio-grande (GBs) en una sola máquina, sin pagar un data warehouse.
  • Convivir con pandas/Polars: lees un DataFrame con SQL y devuelves otro DataFrame, mezclando lo mejor de ambos mundos.

¿Cuándo usarla / cuándo no?

Úsala cuando quieras SQL analítico sobre archivos locales o en object storage, prototipar transformaciones, o acelerar exploración que en pandas se vuelve lenta.

Piénsalo dos veces si necesitas escrituras concurrentes de muchos usuarios, un servicio transaccional siempre encendido (ahí va PostgreSQL) o procesar petabytes distribuidos (ahí entran Spark o Trino). DuckDB brilla en single-node.

Empieza en 1 minuto

pip install duckdb
import duckdb

# Consulta un Parquet directamente, sin cargarlo a una tabla
df = duckdb.sql("""
    SELECT pais, SUM(monto) AS total
    FROM 'ventas.parquet'
    GROUP BY pais
    ORDER BY total DESC
""").df()

print(df)

Eso es todo: sin servidor, sin esquema previo, sin CREATE TABLE. DuckDB lee el archivo, ejecuta el SQL y te devuelve un DataFrame de pandas.

Trivia rápida — pon a prueba lo que acabas de leer.

¿Qué tanto sabes de DuckDB?

Documentación oficial

La fuente de verdad vive ahí. Acá orientamos; la profundidad la pones tú.

Abrir documentación oficial

Qué aprender después

Ver también

Nº14 · Actualizado 2026-06-08