PgDog favicon

PgDog

PgDog: La solución definitiva para escalar PostgreSQL con pool de conexiones, balanceo de carga y sharding

Introducción:

PgDog es un proxy avanzado para PostgreSQL que permite escalar bases de datos horizontalmente mediante un pooler de conexiones de alto rendimiento, un balanceador de carga inteligente y capacidades de sharding (fragmentación) distribuido, todo sin requerir cambios en el código de la aplicación.

Añadido:

2026-07-16

Visitantes mensuales:

--K

PgDog - AI Tool Screenshot and Interface Preview

PgDog Información del producto

PgDog: La Solución Integral para Escalar PostgreSQL Horizontalmente

En el ecosistema de bases de datos actual, PgDog se posiciona como una herramienta revolucionaria diseñada específicamente para superar las limitaciones de escalabilidad de PostgreSQL. Tras haber recaudado una ronda semilla de 5.5 millones de dólares, PgDog ha demostrado ser una infraestructura crítica capaz de manejar más de 20 TB de datos fragmentados y procesar más de 2 millones de consultas por segundo en entornos de producción reales.

Este proxy de PostgreSQL funciona como un único ejecutable que puede desplegarse en cualquier lugar, actuando simultáneamente como un pooler de conexiones, un balanceador de carga y un motor de base de datos distribuida. Lo más destacado es que PgDog es una solución drop-in, lo que significa que permite escalar PostgreSQL n veces sin necesidad de realizar cambios estructurales en su aplicación.

¿Qué es PgDog?

PgDog es un proxy de alto rendimiento para PostgreSQL que simplifica la gestión de infraestructuras de bases de datos complejas. Se sitúa entre su aplicación y sus servidores de base de datos, gestionando el tráfico de manera inteligente. Al utilizar controladores estándar como asyncpg, pgx, libpq o ruby-pg, PgDog traduce las necesidades de escalabilidad en una configuración centralizada, permitiendo que las aplicaciones vean un único punto de conexión mientras detrás se orquesta una red de bases de datos distribuidas.

La versatilidad de PgDog reside en su capacidad para ofrecer tres herramientas esenciales en una sola pieza de software:

  1. Pooler de conexiones de última generación.
  2. Balanceador de carga (ALB para bases de datos).
  3. Base de datos distribuida con soporte de fragmentación (sharding).

Características Principales de PgDog

01. Pooler de Conexiones con Modo de Transacción Real

Uno de los mayores desafíos de PostgreSQL es la gestión eficiente de miles de conexiones simultáneas. PgDog resuelve esto permitiendo compartir un puñado de conexiones reales con más de 100,000 clientes sin sacrificar las funcionalidades nativas de la base de datos.

  • Estado de Sesión: Soporta comandos SET, bloqueos de asesoramiento (advisory locks) y LISTEN/NOTIFY sin necesidad de fijar la conexión (connection pinning).
  • Multihilo y Asíncrono: Capaz de procesar más de 50,000 transacciones por segundo por hilo, eliminando límites de longitud de consulta o de conexiones.
  • Sentencias Preparadas: Es compatible con todos los controladores de cliente, ofreciendo un rendimiento óptimo con cero sobrecarga técnica.

02. Balanceador de Carga Inteligente

Actuando como un Balanceador de Carga de Aplicaciones (ALB) para su base de datos, PgDog distribuye las lecturas entre réplicas de manera eficiente, detectando fallos de hardware y retrasos en la replicación de forma automática.

  • Controles de Salud (Health Checks): Bloquea automáticamente réplicas desactualizadas o dañadas para que no reciban consultas.
  • Detección de Failover: Si el nodo primario falla, PgDog mueve automáticamente el tráfico de escritura al nuevo primario sin cambios de configuración.
  • División de Lectura/Escritura (Read/Write Split): Utiliza un analizador SQL interno de PostgreSQL para dirigir las consultas SELECT a las réplicas y el resto al nodo primario, garantizando máxima compatibilidad.

03. Base de Datos Distribuida y Sharding

PgDog permite fragmentar su base de datos PostgreSQL sin que la aplicación se deba preocupar por la lógica de distribución. El proxy extrae la clave de fragmentación (sharding key) directamente de las consultas y las dirige al fragmento (shard) correspondiente.

  • OLTP Rápido: Utiliza bases de datos fragmentadas como si fuera un PostgreSQL tradicional, gracias a un coordinador escalable horizontalmente.
  • OLAP Potente: Soporta operaciones complejas como GROUP BY, COUNT(), AVG(), ORDER BY, MIN(), MAX() y COPY de forma nativa. PgDog convierte a PostgreSQL en un motor de scatter/gather.
  • Flexibilidad de Fragmentación: Puede fragmentar por cualquier criterio mediante una configuración sencilla, compatible con todos los tipos de datos estándar de PostgreSQL.

Consistencia ACID y Relacionalidad a Escala

A diferencia de otras soluciones distribuidas, PgDog no sacrifica la consistencia por la velocidad. Mantiene el cumplimiento ACID estricto incluso en entornos de gran escala:

  • Transacciones entre Fragmentos (Cross-shard): Permite escribir datos en todos los fragmentos de forma atómica. Cualquier error activa un rollback automático mediante transacciones preparadas nativas y confirmación en dos fases (2PC).
  • Tablas Replicadas: Aquellas tablas que no necesitan ser fragmentadas pueden almacenarse de forma idéntica en todos los shards, facilitando uniones (joins) locales rápidas.
  • Claves Primarias Enteras: No es necesario migrar a UUIDs. PgDog genera automáticamente claves primarias monótonas de tipo big integer dentro del proxy.
  • Mutación de Claves de Fragmentación: Permite mover filas entre fragmentos utilizando simplemente sentencias UPDATE.
  • Esquema Consistente: Las operaciones DDL se aplican automáticamente en todos los fragmentos, manteniendo la compatibilidad con herramientas como Alembic o ActiveRecord.

Casos de Uso

PgDog ha sido adoptado con éxito en diversos escenarios de alta demanda:

  • Escalabilidad Extrema: Empresas como Modal ejecutan miles de pods y dependen de PgDog para escalar su infraestructura de base de datos.
  • Ingesta Masiva de Datos: Tripstack utiliza PgDog para mantener un tiempo de actividad del 100% mientras ingieren volúmenes de datos sin precedentes.
  • Optimización de Consultas Geoespaciales: Earth Genome migró una lógica de sharding compleja desde su aplicación hacia la configuración de PgDog, acelerando las consultas en una base de datos de casi 4 mil millones de filas.
  • Sustitución de RDS Proxy: Empresas como Ramp han encontrado en PgDog un paso adelante significativo respecto a RDS Proxy, eliminando cuellos de botella en la escalabilidad de conexiones.

Cómo instalar PgDog

La implementación de PgDog es sencilla y está diseñada para entornos modernos de contenedores. Puede desplegarse mediante Helm en clústeres de Kubernetes siguiendo estos comandos:

  1. Agregue el repositorio de Helm:
    helm repo add pgdogdev https://helm.pgdog.dev
    
  2. Instale PgDog en su clúster:
    helm install pgdog pgdogdev/pgdog
    

También está disponible para su despliegue mediante Docker, lo que facilita su integración en cualquier flujo de trabajo de CI/CD.

FAQ (Preguntas Frecuentes)

¿PgDog requiere cambios en el código de mi aplicación? No. PgDog actúa como un proxy transparente. Su aplicación se conecta a PgDog como si fuera una base de datos PostgreSQL estándar, sin necesidad de modificar las consultas SQL o los controladores de base de datos.

¿Cómo maneja PgDog el fallo de una base de datos primaria? PgDog incluye detección automática de failover. Si detecta que el nodo primario no está disponible, redirige automáticamente el tráfico de escritura al nuevo nodo primario designado sin intervención manual ni cambios en el archivo de configuración.

¿Es compatible PgDog con las herramientas de migración existentes? Sí. Gracias a que las operaciones DDL se distribuyen automáticamente entre todos los fragmentos, herramientas populares como Alembic, ActiveRecord y otros sistemas de migración de esquemas funcionan perfectamente de fábrica.

¿Qué tipos de datos puedo usar para el sharding? PgDog es altamente flexible y permite realizar el sharding basado en cualquier columna y es compatible con todos los tipos de datos estándar de PostgreSQL.

¿PgDog soporta transacciones atómicas distribuidas? Sí, mediante el uso de transacciones preparadas nativas de PostgreSQL y el protocolo de confirmación en dos fases, PgDog garantiza que las operaciones que involucran múltiples fragmentos sean atómicas y consistentes.

PgDog es la pieza que faltaba para llevar la potencia de PostgreSQL al siguiente nivel de escalabilidad horizontal, manteniendo la simplicidad y la potencia del modelo relacional.

Loading related products...