PostgreSQL na Escala de 800 Milhões

Posted on: February 18, 2026 05:02 PM

Posted by: Renato

Views: 112

PostgreSQL na Escala de 800 Milhões: Como a OpenAI Sustenta o ChatGPT

O senso comum no mundo da tecnologia costuma ditar que, ao atingir uma escala "planetária", as empresas devem abandonar soluções Open Source em favor de bancos de dados proprietários caríssimos ou arquiteturas de sistemas distribuídos ultra-complexas.

A OpenAI acaba de provar que esse pensamento está obsoleto.

Em um relatório técnico recente, Bohan Zhang, membro da equipe técnica da OpenAI, revelou como o PostgreSQL — um projeto de código aberto nascido na UC Berkeley — é o coração que sustenta o ChatGPT e sua API global.

Os Números da Operação

A escala descrita é, no mínimo, impressionante:

  • Usuários: 800 milhões de pessoas.

  • Volume: Milhões de consultas por segundo (QPS).

  • Crescimento: 10x em apenas um ano.

  • Performance: Latência P99 na casa dos dois dígitos de milissegundos.

  • Disponibilidade: "Cinco noves" (99,999%).

A Arquitetura: Simplicidade Encontra a Engenharia de Elite

O que mais surpreende no case da OpenAI é a escolha por manter uma única instância primária de gravação no Azure PostgreSQL Flexible Server, complementada por cerca de 50 réplicas de leitura distribuídas globalmente.

Para evitar que essa estrutura colapsasse sob o peso de milhões de usuários, a equipe focou em cinco pilares de otimização:

1. Descarregamento Agressivo de Leitura

Para proteger o servidor primário (o único que escreve dados), a OpenAI garante que quase todo o tráfego de consulta seja direcionado para as réplicas. Mesmo leituras críticas foram movidas, garantindo que, se o servidor de escrita falhar, o serviço continue disponível para consulta (modo leitura).

2. O Dilema do MVCC e a Escrita

O PostgreSQL utiliza o Multi-Version Concurrency Control (MVCC). Embora excelente para consistência, ele gera "inchaço" (bloat) em cargas massivas de escrita, pois cada atualização cria uma nova versão da linha.

A Solução: A OpenAI migrou cargas de escrita intensiva e facilmente particionáveis para sistemas fragmentados (como Azure Cosmos DB), mantendo no Postgres o que exige alta integridade e relacionamentos complexos.

3. Pool de Conexões com PgBouncer

Gerenciar milhares de conexões diretas mataria a performance. Ao implementar o PgBouncer, a OpenAI reduziu o tempo de estabelecimento de conexão de 50ms para 5ms, além de permitir a reutilização eficiente de sessões.

4. Blindagem contra "Tempestades de Cache"

Quando um cache falha, milhares de requisições batem no banco simultaneamente. A OpenAI implementou um mecanismo de lock de cache: apenas a primeira requisição vai ao PostgreSQL buscar o dado; todas as outras aguardam o cache ser repopulado, evitando o efeito manada.


Por que empresas ainda pagam por soluções proprietárias?

O case da OpenAI levanta uma questão provocativa para CTOs e gestores de TI: Se a infraestrutura de IA mais avançada do mundo confia no Open Source, por que sua empresa ainda gasta fortunas com licenciamento de bancos proprietários?

Ao optar pelo PostgreSQL (Open Source), as empresas ganham:

  • Custo Zero de Licença: O orçamento é investido em engenharia e inovação, não em permissão de uso.

  • Sem Vendor Lock-in: Você pode rodar o mesmo banco no Azure, AWS, On-premises ou Google Cloud.

  • Ecossistema Vibrante: Milhares de desenvolvedores corrigindo bugs e criando extensões diariamente.

  • Escalabilidade Provada: O "teto" do PostgreSQL é muito mais alto do que a maioria das empresas jamais precisará atingir.

Conclusão

A lição da OpenAI é clara: Escalabilidade não é um produto que se compra com uma licença cara; é um resultado de boa arquitetura e engenharia sólida. O PostgreSQL não é apenas um "banco de dados gratuito", é uma ferramenta de alta performance capaz de sustentar o futuro da inteligência artificial.


Gostou dessa análise técnica?

o MVCC (o motor de concorrência) e o PgBouncer (o porteiro das conexões).


1. O Motor Interno: MVCC e o "Lado Sombrio" da Escrita

O PostgreSQL utiliza o Multi-Version Concurrency Control (MVCC) para permitir que leituras e escritas aconteçam simultaneamente sem que um bloqueie o outro.

Como funciona na prática:

  • Imutabilidade: Quando você faz um UPDATE em uma linha, o Postgres não apaga o dado antigo. Ele marca a linha antiga como "expirada" e cria uma nova versão da linha com os dados atualizados.

  • Visibilidade: Cada transação vê apenas as versões dos dados que eram válidas no momento em que ela começou. Isso garante isolamento total.

O Desafio da OpenAI:

Em uma escala de 800 milhões de usuários, o excesso de UPDATES gera muitas "linhas mortas" (dead tuples). Isso causa o chamado Bloat (inchaço), que aumenta o consumo de disco e torna os índices mais lentos. Por isso, a OpenAI migrou tabelas de escrita frenética para sistemas fragmentados, deixando no Postgres o que exige a robustez relacional.


2. O Porteiro: PgBouncer e o Pool de Conexões

Cada conexão direta ao PostgreSQL consome memória RAM e CPU no servidor. Se 10.000 usuários tentassem abrir conexões simultâneas, o banco travaria apenas tentando gerenciar o "aperto de mão" (handshake) de cada uma.

A Mágica do PgBouncer:

O PgBouncer atua como um proxy intermediário. Milhares de servidores de aplicação se conectam ao PgBouncer, mas ele mantém apenas um número pequeno e fixo de conexões reais com o banco de dados.

Por que a OpenAI viu um ganho de 50ms para 5ms?

  • Sem Handshake: A aplicação não precisa mais negociar uma nova conexão com o Postgres toda vez; ela pega uma conexão "quente" e já aberta no pool do PgBouncer.

  • Transaction Pooling: O PgBouncer libera a conexão para outro processo assim que uma transação termina, em vez de esperar o usuário fechar a sessão.


3. A Estratégia de "Five Nines" (99,999%)

Para manter essa disponibilidade, a OpenAI usa uma arquitetura de Alta Disponibilidade (HA) com réplicas de leitura em cascata.

Componente Função na OpenAI
Instância Primária Única fonte de verdade para escritas (Azure PostgreSQL).
Réplicas (50+) Distribuídas globalmente para atender leituras com latência mínima.
Failover Automático Se o primário cai, uma réplica assume em segundos.
Replicação em Cascata Réplicas que enviam dados para outras réplicas, tirando o peso do servidor principal.

O próximo passo para sua empresa

O case da OpenAI prova que o segredo não é o tamanho do cheque assinado para um fornecedor de software, mas a maturidade da engenharia.

Fonte
https://openai.com/pt-BR/index/scaling-postgresql/


4

Share

Donate to Site


About Author

Renato

Developer

Add a Comment
Comments 0 Comments

No comments yet! Be the first to comment

Blog Search


Categories

Laravel (227) PHP (151) linux (124) Variados (110) Dicas (58) ubuntu (58) developer (48) postgresql (45) database (44) sql (42) Docker (32) front-end (31) mysql (31) devops (26) webdev (24) programming (23) aws (19) tecnologia (19) eloquent (19) dba (18) OUTROS (17) backend (16) laravelphp (16) debian (12) dev (12) reactjs (10) 100DaysOfCode (10) git (10) react (10) nginx (9) inteligencia-artificial (9) PHP Swoole (9) node (9) javascript (9) linux-tools (8) Architecture (8) vue (7) github (7) ciencia (7) nodejs (6) api (6) vscode (6) webservice (6) jwt (6) vim (6) windows (6) arquitetura (6) authentication (5) ia (5) reactnative (5) rest (5) DevSecOps (5) servers (5) apache (5) macox (5) s3 (5) Kubernetes (4) gitlab (4) opensource (4) mariadb (4) jenkins (4) shell (4) mongodb (4) angular (4) autenticacao (4) wsl (4) Swoole (4) lets-encrypt (4) query (4) Raspberry (4) angularjs (4) inteligenciadedados (4) Padrao de design (4) artigo (4) google (4) npm (4) openai (4) js (3) mysqli (3) Black Hat (3) RabbitMQ (3) educacao (3) intel (3) CMS (2) sail (3) script (3) performance (3) json (3) authorization (3) phpswoole (3) ddd (3) blade (3) terminal (3) log (3) mac (3) fedora (3) containers (3) ssh (3) bash (3) hardware (3) tests (3) macos (3) web (2) jobs (3) websocket (3) db (3) politica (3) Curisidades (2) Solid (2) zsh (2) Go (2) BigLinux (2) POO (2) LazyVim (2) gource (2) Python (2) Oauth2 (2) android (2) unix (2) magento (2) iot (2) ffmpeg (2) combustivel (2) webhook (2) microservices (2) bancodedados (2) tailwind (2) homeOffice (2) html (2) openswoole (2) artificialintelligence (2) security (2) auth (2) cron (2) phpunit (2) kube (2) multiple_authen (2) policia (2) neovim (2) golang (2) noticias (2) livros (2) Transcribe (2) ElonMusk (2) redis (2) claude (2) ArchLinux (2) java (2) saude (1) seguranca (2) phpfpm (2) autorizacao (2) monitoring (2) laptop (2) gnome (2) powerbi (2) telefonia (2) nvm (2) imagick (2) maps (2) colors (2) Passport (2) JQuery (2) front (1) wine (1) covid19 (0) services (1) phpjasper (1) models (1) kali-linux (1) geojson (1) yarn (1) picpay (1) Monolith (1) banco (1) PNPM (1) Desenvolvedor (1) Structurizr (1) symfony (1) presenter (1) lider (1) guard (1) tensorflow (1) bootstrap (1) nuance (1) historia (1) dropbox (1) traefik (1) bug (1) akitando (1) llm (1) htm (1) transformers (1) cavalotroia (1) odd (1) m1 (1) Error (1) cinnamon (1) repmgr (1) federal (1) ruby (1) AppSec (1) orm (1) ArquiteturaDeSoftware (1) Passwordless (1) memcached (1) flow (1) compression (1) athena (1) Migration (1) workflow (1) cqrs (1) kitematic (1) geospacial (1) yeshua (1) data (1) sonarqube (1) Axios (1) pipelines (1) Mozilla (1) kvm (1) GitOps (1) sqlite (1) podcast (1) n8n (1) LaravelFilament (1) God (1) DesenvolvimentoProfissional (1) sw (1) bigtech (1) postgres (1) NoCookies (1) LeetCode (1) governancadedados (1) prf (1) nosql (1) Lideranca (1) Hackers (1) Bots (1) pytorch (1) nuxt (1) liquid (1) ec2 (1) transaction (1) c4 (1) rancher (1) algoritimo (1) Observability (1) Elasticsearch (1) translate (1) certbot (1) Oh My Zsh (1) ibm (1) escopos (1) usb (1) ckeditor (1) API_KEY_GOOGLE_MAPS (1) Manjaro (1) vicuna (1) coding (1) rust (1) markdown (1) JasperReports (1) Fibonacci (1) community (1) Samurai (1) payment (1) messaging (1) Jesus (1) flutter (1) militar (1) fullsta (1) smartphones (1) automacao (1) Monitor (1) zend (1) spaceship (1) PKCE (1) l2tp (1) Glacier (1) laraveloctane (1) Deus (1) binaural (1) gpt (1) bolsonaro (1) privacidade (1) linkedin (1) documentation (1) brain (1) adb (1) nvidia (1) host (1) ecommerce (1) c4-models (1) altadisponibilidade (1) octane (1) lucena (1) http (1) TypeScript (1) chatgpt (1) idiomas (1) eventdrive (1) uuid (1) restfull (1) aplicativo (1) optimization (1) mapas (1) Fetch (1) collections (1) RustLang (1) matematica (1) Filament (1) compactar (1) paypal (1) microg (1) forcas armadas (1) cor (1) auth (1) modelagemdedados (1) k8s (1) gasolina (1) wsl2 (1) csv (1) soap (1) piada (1) KubeCon (1) zorin-os (1) spring-boot (1) backup (1) playwright (1) Deepin (1) storage (1) benchmark (1) networking (1) Swoole (1) biologia (1) node-red (1) LETSENCRYPT (1) Grunt (1) Diagramas (1) boot (1) haru (1) dracula (1) TrabalhoEmEquipe (1) Brasil (1) queue (1) agi (1) llama (1) hotfix (1) economia (1) transcription (1) cache (1) Amazon (1) October (1) lumen (1) Hyperf (1) replication (1) faceapp (1) vala (1) cloudstack (1) rpi (1) apple (1) oracle (1) iode (1) ffaa (1) vpn (1) MeioAmbiente (1) firefox (1) composer (1) scheduling (1) Asahi (1) pendrive (1) microservice (1) front (1) OOD (0) controllers (0)

New Articles



Get Latest Updates by Email