PgDog
PgDog es una solución todo-en-uno para escalar PostgreSQL horizontalmente sin modificar tu aplicación. Combina pool de conexiones, balanceador de carga y base de datos distribuida en un único ejecutivo ligero, ya probado en producción con más de 20 TB de datos fragmentados y 2 millones de consultas por segundo.
Características principales
- Pool de conexiones avanzado: Comparte pocas conexiones de Postgres entre más de 100,000 clientes, manteniendo estados de sesión, bloqueos asesorios y LISTEN/NOTIFY sin necesidad de fijar conexiones.
- Balanceador de carga inteligente: Distribuye lecturas entre réplicas con detección automática de retraso en replicación, fallos de hardware y cambios de primario, utilizando un único endpoint para todas las consultas.
- Fragmentación transparente: Extrae automáticamente la clave de fragmentación de las consultas SQL y las enruta al shard correcto, ejecutando consultas sin clave en paralelo entre todas las bases de datos.
- Transacciones ACID entre shards: Mantiene la consistencia relacional a escala con transacciones preparadas nativas, commit de dos fases y rollback automático ante errores.
- Compatibilidad total: Funciona con migraciones de Alembic, ActiveRecord y otras herramientas; soporta claves primarias enteras monotónicas, tablas replicadas y mutación de claves de fragmentación vía UPDATE.
Casos de uso
- Alta concurrencia web: Maneja 50,000+ transacciones por segundo por hilo, eliminando cuellos de botella de conexiones en aplicaciones con miles de pods.
- Análisis de datos distribuido: Ejecuta operaciones OLAP como GROUP BY, COUNT, AVG, ORDER BY, MIN, MAX y COPY de forma paralela con arquitectura scatter/gather.
- Fragmentación geoespacial: Simplifica la lógica de sharding compleja moviéndola de la aplicación a configuración declarativa, acelerando consultas sobre miles de millones de filas.
- Migración desde RDS Proxy: Mejora drásticamente la escalabilidad de conexiones con una infraestructura silenciosa que reduce la intervención operativa.
Audiencia objetivo
PgDog está diseñado para equipos de ingeniería que operan bases de datos PostgreSQL a gran escala y necesitan escalabilidad horizontal sin rediseñar sus aplicaciones, desde startups en crecimiento hasta empresas que gestionan terabytes de datos transaccionales.