
PgDog é um pooler de conexões, balanceador de carga e proxy de sharding de código aberto para PostgreSQL. É compatível com o Postgres, rápido, seguro e construído de forma aberta por uma comunidade de engenheiros de banco de dados.
PgDog é um pooler de conexões, balanceador de carga e proxy de sharding de código aberto para PostgreSQL. É um único executável que substitui várias ferramentas de infraestrutura de banco de dados, permitindo escalar o Postgres horizontalmente sem alterar o código da sua aplicação. Construído de forma aberta por uma comunidade de engenheiros de banco de dados, o PgDog lida com tudo, desde o pooling de milhares de conexões até a distribuição de consultas entre bancos de dados fragmentados.
PgDog compartilha um pequeno pool de conexões Postgres entre mais de 100.000 clientes sem quebrar o estado da sessão, locks de consulta ou LISTEN/NOTIFY. É multi-thread e assíncrono, lidando com mais de 50.000 transações por segundo por thread, sem limites de comprimento de consulta ou conexão.
O balanceador de carga distribui leituras entre réplicas, detecta lag de replicação e falhas de hardware, e move automaticamente o tráfego de escrita para um novo primário durante o failover. Um analisador SQL Postgres integrado permite divisão de leitura/escrita sem alterações no lado do cliente.
PgDog extrai a chave de fragmentação diretamente das consultas e as roteia para o fragmento correto. Consultas sem uma chave de fragmentação são executadas em todos os bancos de dados em paralelo, suportando operações GROUP BY, COUNT, AVG, ORDER BY, MIN, MAX e COPY prontas para uso.
Transações entre fragmentos usam transações preparadas nativas do Postgres e commit em duas fases para escritas atômicas entre fragmentos. Tabelas replicadas permitem joins rápidos e locais ao fragmento, e chaves primárias inteiras são geradas automaticamente no proxy. DDL é aplicado automaticamente em todos os fragmentos, para que ferramentas de migração como Alembic e ActiveRecord funcionem sem modificação.
"PgDog não troca velocidade por consistência. Ele mantém a conformidade ACID, em escala."
A maioria das soluções de fragmentação força você a escolher entre desempenho e integridade dos dados. PgDog preserva todas as garantias ACID mesmo quando as transações abrangem vários fragmentos, usando o próprio commit em duas fases do Postgres. Isso significa que você pode escalar horizontalmente mantendo a mesma semântica transacional que esperaria de uma única instância Postgres.
Você está executando Postgres em produção e precisa lidar com mais conexões, distribuir tráfego de leitura ou fragmentar seu banco de dados sem reescrever sua aplicação. PgDog é especialmente valioso se você deseja um único proxy de código aberto que substitua poolers de conexão, balanceadores de carga e middlewares de fragmentação separados — tudo isso permanecendo compatível com suas ferramentas e drivers de cliente Postgres existentes.
Outras ferramentas que você pode considerar
Loading comments…
Criador
kettle_dev
Visitar site
pgdog.dev
Informações do projeto
Palavras-chave do produto
Comparar com
Conquista