Una extensión de PostgreSQL para realizar análisis en tiempo real y de alto rendimiento de datos de series temporales y eventos.
pg-sharding/spqr
Un router de consultas sin estado que divide PostgreSQL horizontalmente y permite que una base de datos lógica abarque varias instancias de backend.
- Estrellas
- 1,481
- Forks
- 100
- Issues abiertos
- 102
- Último commit
- hace 2 horas
¿Qué es?
SPQR es un router de consultas sin estado que se sitúa entre las aplicaciones y PostgreSQL, y distribuye los datos entre varios shards de base de datos. Está pensado para bases de datos únicas que han crecido hasta alcanzar terabytes de datos y tasas de consultas muy altas, cuando una sola instancia de PostgreSQL se vuelve difícil de administrar.
El proyecto está escrito en Go y se basa en un proceso de router que se inicia con spqr-router y se configura mediante un archivo YAML. Su objetivo declarado es ofrecer una transición más sencilla de una base de datos monolítica a una arquitectura sharded que muchas soluciones de sharding existentes, que se centran principalmente en cargas de trabajo analíticas e híbridas.
En el sitio del proyecto están disponibles la documentación, la lista de funciones y un ejemplo rápido basado en Docker. Las pruebas unitarias, de regresión y de extremo a extremo se ejecutan mediante Docker Compose y objetivos de make.
Funciones clave
- 01Enruta las consultas de los clientes a través de varios shards de PostgreSQL desde un único endpoint.
- 02Se ejecuta como un proceso de router sin estado que se configura mediante un archivo YAML.
- 03Ofrece un inicio rápido basado en Docker con make run.
- 04Incluye suites de pruebas unitarias, de regresión y de extremo a extremo.
Casos de uso
- Escalar una única base de datos PostgreSQL que ha crecido hasta alcanzar terabytes de datos y un alto volumen de consultas.
- Migrar una implementación monolítica de PostgreSQL hacia una arquitectura sharded.
- Ejecutar cargas de trabajo de tipo OLTP que requieren particionamiento horizontal entre instancias.
Inicio rápido
- 1
Ejecuta un ejemplo rápido con Docker
make run - 2
Compila el proyecto desde el código fuente
make build - 3
Ejecuta el router con tu archivo de configuración
spqr-router run --config path-to-router-config.yaml
Antes de usarlo
- No se pudo detectar la licencia automáticamente, así que debes comprobarla en el repositorio; el README indica que es la PostgreSQL Global Development Group License.
- El desarrollo local requiere la versión más reciente de Go.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es spqr?
- Un router de consultas sin estado que divide PostgreSQL horizontalmente y permite que una base de datos lógica abarque varias instancias de backend. SPQR es un router de consultas sin estado que se sitúa entre las aplicaciones y PostgreSQL, y distribuye los datos entre varios shards de base de datos. Está pensado para bases de datos únicas que han crecido hasta alcanzar terabytes de datos y tasas de consultas muy altas, cuando una sola instancia de PostgreSQL se vuelve difícil de administrar.
- ¿spqr es gratuito? ¿Qué licencia tiene?
- spqr es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿spqr sigue mantenido?
- Mantenimiento activo. El último commit de spqr fue el 22 oct 2026.
- ¿Para qué puedo usar spqr?
- Escalar una única base de datos PostgreSQL que ha crecido hasta alcanzar terabytes de datos y un alto volumen de consultas. Migrar una implementación monolítica de PostgreSQL hacia una arquitectura sharded. Ejecutar cargas de trabajo de tipo OLTP que requieren particionamiento horizontal entre instancias.
- ¿Cómo se instala spqr?
- Ejecuta un ejemplo rápido con Docker: make run Compila el proyecto desde el código fuente: make build Ejecuta el router con tu archivo de configuración: spqr-router run --config path-to-router-config.yaml
- ¿Dónde consigo spqr?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/pg-sharding/spqr
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Lista seleccionada y mantenida por la comunidad de software, bibliotecas, herramientas, extensiones y recursos de aprendizaje para PostgreSQL.
MongoDB, servidor de base de datos documental con código fuente disponible (mongod) y router de sharding mongos, escrito en C++.
Plataforma distribuida de planificación de tareas con consola web, compatible con Cron y activadores de intervalo fijo, trabajos de difusión fragmentados, conmutación por error y reintentos.
La plataforma de desarrollo basada en Postgres ofrece una base de datos Postgres alojada con autenticación, APIs autogeneradas, almacenamiento y funciones en tiempo real, como alternativa a Firebase.
Una base de datos SQL en proceso, escrita en Rust y compatible con el dialecto, el formato de archivo y la API de C de SQLite, con un frontend experimental para Postgres.