Sqlite vs Postgres – Que te conviene? – #sqlite #postgres #sql

Siempre que muestro un proyecto nuevo aparece la misma pregunta: “¿Uso SQLite o Postgres?”. Y sí… la respuesta fácil es “depende”, pero quería ir más allá y medirlo en escenarios reales. En este video probé ambos con escrituras, lecturas, concurrencia y algunas consultas más pesadas para ver dónde brilla cada uno y dónde se queda corto.

Lo que medí y cómo

  • Entorno: una VPS humilde (1 vCPU/1GB RAM), lo típico para self-hosting barato.
  • SQLite 3 con WAL activado. Postgres 16 con config casi default.
  • Pruebas: inserts secuenciales (100k filas), lecturas concurrentes, 10 writers en paralelo y algunas consultas con joins e índices.

Resultados que importan

Escrituras secuenciales (una sola conexión)

  • SQLite vuela. Con WAL activado y una única conexión, el archivo único hace que todo sea muy directo.
  • Postgres es un poco más lento por el overhead del servidor y la durabilidad, pero estable.

Cuándo te conviene: si tu app escribe de a una cosa por vez (ej: app de escritorio, CLI, jobs offline), SQLite te rinde bárbaro.

Concurrencia de escritura (varios writers)

  • Postgres gana cómodo. Con 10 escritores en paralelo, mantiene buen throughput y latencias razonables.
  • SQLite aguanta bien muchas lecturas, pero con muchas escrituras simultáneas se empieza a trabar por los locks.

Cuándo te conviene: si tenés usuarios concurrentes, APIs con tráfico real o múltiples procesos escribiendo, andá con Postgres.

Lecturas concurrentes

  • Con WAL, SQLite lee en paralelo sin drama. Para “read-heavy” rinde más de lo que parece.
  • Postgres se mantiene consistente y responde parejo, incluso bajo carga mixta.

Cuándo te conviene: ambos funcionan bien, pero si además necesitás escribir mucho al mismo tiempo, Postgres sigue siendo más sólido.

Consultas complejas y planner

  • Postgres la rompe con joins grandes, CTEs, planificador más maduro, tipos, extensiones, etc.
  • SQLite cumplidor, pero está pensado para simpleza. En consultas pesadas se nota la diferencia.

Cuándo te conviene: si vas a hacer reporting, analítica, filtros complejos, búsquedas avanzadas… Postgres.

VER:  Next.js Hacks 2: Usa Discord como Logger

Operación, backups y costo mental

  • SQLite es un archivo. Cero admin, backup con copiar el archivo o VACUUM INTO, y listo. Ideal para desplegar rápido y barato.
  • Postgres requiere servicio, usuarios, roles, backups con pg_dump/pg_basebackup, autovacuum, pooling (pgbouncer) si hay muchas conexiones, etc. Más trabajo, más poder.

Features que cambian el juego

  • Postgres: extensiones (PostGIS, pgvector), Row Level Security, tipos avanzados, índices parciales, replicación, particionamiento, triggers potentes.
  • SQLite: FTS5 (full-text search) y JSON1 alcanzan para mucho, pero no al mismo nivel de Postgres. Para edge/embebido, es un golazo.

Elegí con criterio (sin casarte con ninguna)

Elegí SQLite si:

  • Tu app es monousuario o con pocas escrituras concurrentes.
  • Querés zero-admin y portabilidad (un archivo y chau).
  • Estás en edge, CLI, desktop, prototipos o microservicios livianos.
  • Buscás costos bajísimos y simplicidad extrema.

Elegí Postgres si:

  • Tenés tráfico real con múltiples clientes escribiendo a la vez.
  • Vas a hacer consultas complejas, reportes o analítica.
  • Necesitás replicación, alta disponibilidad, seguridad por filas, extensiones.
  • Tu SaaS o API va a crecer y querés base robusta desde el día uno.

Tips prácticos rápidos

Para SQLite:

  • Activá WAL: PRAGMA journal_mode=WAL;
  • Si necesitás performance y podés tolerar un poco menos de durabilidad: PRAGMA synchronous=NORMAL;
  • Backups: VACUUM INTO o .backup y listo.

Para Postgres:

  • Usá pgbouncer si tenés muchas conexiones cortas.
  • Tunear con pgtune como punto de partida.
  • Dejá autovacuum bien configurado.
  • Backups serios: pg_basebackup/WAL archiving.

Mirá el video

Cierre

Mi conclusión: en la mayoría de proyectos web multiusuario, Postgres es la apuesta segura. Pero no subestimes SQLite: para muchísimas cosas del día a día es más que suficiente y te ahorra plata, tiempo y complejidad. No es una religión; es elegir la herramienta justa.

Si querés aprender a desplegar tus bases o apps sin volverte loco ni gastar de más, te dejo este video donde te muestro cómo hacerlo paso a paso: https://www.youtube.com/watch?v=DAaXdNrcTV0

Contame en los comentarios qué estás usando y por qué. ¡Nos leemos!

Loading

Esta entrada fue publicada el youtube. Agregá a favoritos el enlace permalink.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *