
PgDog es un pooler de conexiones, balanceador de carga y proxy de fragmentación de código abierto para PostgreSQL. Es compatible con Postgres, rápido, seguro y construido de forma abierta por una comunidad de ingenieros de bases de datos.
PgDog es un pooler de conexiones, balanceador de carga y proxy de fragmentación (sharding) de código abierto para PostgreSQL. Es un único ejecutable que reemplaza múltiples herramientas de infraestructura de bases de datos, permitiéndote escalar Postgres horizontalmente sin cambiar el código de tu aplicación. Construido de forma abierta por una comunidad de ingenieros de bases de datos, PgDog maneja desde la agrupación de miles de conexiones hasta la distribución de consultas entre bases de datos fragmentadas.
PgDog comparte un pequeño pool de conexiones Postgres entre más de 100.000 clientes sin romper el estado de sesión, bloqueos de asesoramiento (advisory locks) ni LISTEN/NOTIFY. Es multihilo y asíncrono, manejando más de 50.000 transacciones por segundo por hilo sin límites de longitud de consulta ni de conexiones.
El balanceador de carga distribuye lecturas entre réplicas, detecta retrasos de replicación y fallos de hardware, y mueve automáticamente el tráfico de escritura a un nuevo primario durante una conmutación por error. Un analizador SQL de Postgres integrado permite la separación de lectura/escritura sin cambios en el lado del cliente.
PgDog extrae la clave de fragmentación directamente de las consultas y las enruta al fragmento correcto. Las consultas sin clave de fragmentación se ejecutan en paralelo en todas las bases de datos, soportando operaciones GROUP BY, COUNT, AVG, ORDER BY, MIN, MAX y COPY de forma nativa.
Las transacciones entre fragmentos utilizan transacciones preparadas nativas de Postgres y confirmación en dos fases (two-phase commit) para escrituras atómicas entre fragmentos. Las tablas replicadas permiten uniones rápidas locales al fragmento, y las claves primarias enteras se generan automáticamente en el proxy. El DDL se aplica automáticamente en todos los fragmentos, por lo que herramientas de migración como Alembic y ActiveRecord funcionan sin modificaciones.
"PgDog no sacrifica velocidad por consistencia. Mantiene el cumplimiento ACID a escala."
La mayoría de las soluciones de fragmentación te obligan a elegir entre rendimiento e integridad de datos. PgDog preserva todas las garantías ACID incluso cuando las transacciones abarcan múltiples fragmentos, utilizando la confirmación en dos fases propia de Postgres. Esto significa que puedes escalar horizontalmente manteniendo la misma semántica transaccional que esperarías de una única instancia de Postgres.
Estás ejecutando Postgres en producción y necesitas manejar más conexiones, distribuir tráfico de lectura o fragmentar tu base de datos sin reescribir tu aplicación. PgDog es especialmente valioso si quieres un único proxy de código abierto que reemplace poolers de conexiones, balanceadores de carga y middleware de fragmentación separados, manteniéndose compatible con tus herramientas y controladores cliente existentes de Postgres.
Otras herramientas que podrías considerar
Loading comments…
Creador
kettle_dev
Visitar sitio web
pgdog.dev
Información del proyecto
Palabras clave del producto
Comparar con
Logro