Uma extensão do PostgreSQL para análises em tempo real e de alto desempenho de séries temporais e dados de eventos.
pg-sharding/spqr
Um roteador de consultas sem estado que divide o PostgreSQL horizontalmente, permitindo que um único banco de dados lógico abranja várias instâncias de backend.
- Estrelas
- 1,481
- Forks
- 100
- Issues abertas
- 102
- Último commit
- há 2 horas
O que é?
O SPQR é um roteador de consultas sem estado que fica entre as aplicações e o PostgreSQL e distribui dados por vários shards de banco de dados. Ele é voltado a bancos de dados que cresceram até terabytes de dados e taxas muito altas de consultas, situações em que fica difícil gerenciar uma única instância do PostgreSQL.
O projeto é escrito em Go e funciona por meio de um processo de roteador iniciado com spqr-router e configurado por um arquivo YAML. O objetivo declarado é oferecer uma transição mais simples de um banco de dados monolítico para uma configuração com sharding do que muitas soluções existentes, que têm como foco principal cargas de trabalho analíticas e híbridas.
A documentação, a lista de recursos e um exemplo rápido baseado em Docker estão disponíveis no site do projeto. Os testes unitários, de regressão e ponta a ponta são executados pelo Docker Compose e por alvos do make.
Recursos principais
- 01Encaminha consultas dos clientes por vários shards PostgreSQL usando um único endpoint.
- 02É executado como um processo de roteador sem estado, configurado por um arquivo YAML.
- 03Oferece um início rápido baseado em Docker com make run.
- 04Inclui conjuntos de testes unitários, de regressão e ponta a ponta.
Casos de uso
- Escalar um único banco de dados PostgreSQL que cresceu até terabytes e um alto volume de consultas.
- Migrar uma implantação monolítica do PostgreSQL para uma arquitetura com sharding.
- Executar cargas de trabalho no estilo OLTP que precisam de particionamento horizontal entre instâncias.
Início rápido
- 1
Execute um exemplo rápido usando Docker
make run - 2
Compile o projeto a partir do código-fonte
make build - 3
Execute o router com seu arquivo de configuração
spqr-router run --config path-to-router-config.yaml
Antes de usar
- Não foi possível detectar a licença automaticamente, então é necessário conferi-la no repositório; o README informa que é a PostgreSQL Global Development Group License.
- O desenvolvimento local requer a versão mais recente do Go.
Em coleções
Tópicos
Perguntas frequentes
- O que é spqr?
- Um roteador de consultas sem estado que divide o PostgreSQL horizontalmente, permitindo que um único banco de dados lógico abranja várias instâncias de backend. O SPQR é um roteador de consultas sem estado que fica entre as aplicações e o PostgreSQL e distribui dados por vários shards de banco de dados. Ele é voltado a bancos de dados que cresceram até terabytes de dados e taxas muito altas de consultas, situações em que fica difícil gerenciar uma única instância do PostgreSQL.
- spqr é gratuito? Qual é a licença?
- spqr é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
- spqr ainda é mantido?
- Manutenção ativa. O último commit de spqr foi em 22 de out. de 2026.
- Para que posso usar spqr?
- Escalar um único banco de dados PostgreSQL que cresceu até terabytes e um alto volume de consultas. Migrar uma implantação monolítica do PostgreSQL para uma arquitetura com sharding. Executar cargas de trabalho no estilo OLTP que precisam de particionamento horizontal entre instâncias.
- Como instalar spqr?
- Execute um exemplo rápido usando Docker: make run Compile o projeto a partir do código-fonte: make build Execute o router com seu arquivo de configuração: spqr-router run --config path-to-router-config.yaml
- Onde consigo spqr?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pg-sharding/spqr
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma lista organizada e mantida pela comunidade de softwares, bibliotecas, ferramentas, extensões e materiais de aprendizado para PostgreSQL.
MongoDB é um servidor de banco de dados de documentos com código-fonte disponível (mongod) e o roteador de sharding mongos, escrito em C++.
Plataforma distribuída de agendamento de tarefas com console web, suporte a gatilhos Cron e por intervalo fixo, jobs de broadcast particionados, failover e novas tentativas.
Plataforma de desenvolvimento Postgres que oferece um banco Postgres hospedado com autenticação, APIs geradas automaticamente, armazenamento e recursos em tempo real como alternativa ao Firebase.
Banco de dados SQL em processo, escrito em Rust e compatível com o dialeto, o formato de arquivo e a C API do SQLite, com um frontend experimental para Postgres.