Postgres de novo: réplicas e disciplina de infra
Mudar de DB de novo: Postgres, tráfego principal e réplicas
Resposta direta
Mudar de DB de novo: Postgres, tráfego principal e réplicas. Isso é um mudança de vida por um monte de razões, da gama de performance entre PlanetScale e todos os outros na cena do Postgres, para o descanso para MySQL e Vitesse como sua solução de fim de tudo, para o fato de que agora estou tecnicamente usando Postgres de novo. Eu fiquei um pouco.
A pressão dos comentários
Quando o episódio chega em «A pressão dos comentários», o gancho útil para migrar para postgres replicas é transformar o trecho em decisão — não em resumo genérico.
Eu estava muito triste quando tive que mudar de PlanetScale porque eu precisava de um engenheiro de sincronização melhor para administrar tudo o que estava acontecendo no chat T3, então seus chats estariam no lugar certo no momento certo e eles se misturavam entre os dispositivos e todas essas outras funções complexas. Isso é um mudança de vida por um monte de razões, da gama de performance entre PlanetScale e todos os outros na cena do Postgres, para o descanso para MySQL e Vitesse como sua solução de fim de tudo, para o fato de que agora estou tecnicamente usando Postgres de novo. Há muita coisa a falar aqui, não posso esperar fazer isso, e mesmo que essas empresas me paguem, às vezes, não estão me pagando por isso e alguém tem que cobrir o bilhete, então uma palavra rápida de hoje para o nosso apoiador e então vamos direto para dentro. Agora eles têm que se preocupar com todos esses novos tipos de ataques de bot sofisticados, todos esses diferentes serviços que você tem que fazer com o auth e todas as diferentes empresas que querem provar sua E aí A menos que você use o sponsor de hoje, WorkOS.
Tanto no lado da empresa, para que as empresas possam adotar a sua coisa, mas também no lado do desenvolvedor, para que vocês, os folks do TypeScript, tenham um bom tempo integrando. Vocês provavelmente já viram o seu off flow em coisas como Cursor, OpenAI, Vercel, Plaid, Carta, BAL, Sourcegraph, Replit, e todas as outras empresas que estão nesse mundo inteiro. Eu fiquei um pouco embaraçado com quantos clientes eu tive que desligar para coisas como T3Chat porque nós não tínhamos as coisas instaladas corretamente, porque eu fiz o erro de me desligar. As pessoas que a construíram foram para o GitHub, fizeram a mesma coisa lá e eles se dão conta de que isso é um serviço, nós provavelmente deveríamos vendê-lo.
Então a razão pela qual eles escolheram MySQL é a força da Vitesse e a natureza geralmente mais composta da MySQL, onde as peças da MySQL são mais separado internamente, então é mais fácil mudar partes, trocar partes, integrar em torno disso. Esses drives de NVME locais são baseados em PCI, o que significa que eles estão efetivamente indo direto para a CPU, escapando um monte de passos, Dramatizando a latência, acelerando drasticamente as coisas. Um output from, então se você enviar uma query para o seu server, ele vai para a CPU, CPU via network conecta-se a um estudo de persistência, então algo como S3, geralmente não é S3, mas é algo como isso, onde você tem algo que é um layer de estudo resiliente. Eles realmente têm um post de blog muito divertido sobre isso, que eu tenho feito um vídeo sobre por um tempo, sobre o quão rápidos são as soluções de armazenamento, e quantos nanômetros demoram para fazer uma leitura ou uma escrita nesses diferentes dispositivos.
Feche «A pressão dos comentários» com um experimento de 30–90 minutos ligado a migrar para postgres replicas: artefato + critério binário — sem inventar número fora da fonte.
Na prática
Information gain: use só o que a fonte afirma sobre migrar para postgres replicas; scaffolding editorial não inventa número.
Postgres como padrão
«Postgres como padrão» é onde migrar para postgres replicas deixa de ser vibe e vira critério. O material empurra execução observável, não plateia.
O que se eu tivesse lhe dito que o layer de Vitesse que eles construíram aqui no topo foi construído sob as maiores condições possíveis para os servidores, para que eles pudessem construir de uma maneira que se um nodo caiu, tudo mais estava bem. Este DB foi o que encolhe o SYNC para o T3Chat, como eu mencionei muitas vezes agora, nós mudamos para o convex e eu perdi a trabalhar com esses caras muito e você pode ver o quão mágico isso é. Temos nosso principal, que é o nosso principal DB, é o que a maior parte do tráfego vai para e é atingido para que replique para duas caixas adicionais, então em qualquer momento isso pode falhar e uma das replicas vem online em vez disso. Conectando o drive do NVMe para eles e enviando os servidores para o AWS para instalar para eles nas mesmas zonas e agora você tem databases que podem escrever e ler dados com um tamanho mais rápido E se um falhar, está bem, ele só vai para o próximo.
Então, a instância de escala do planeta que eles estão nos comparando tem quatro CPUs de V, 32 GB de RAM, cerca de um terabyte de armazenamento e um I.O. Neon tem que ter oito cpus virtuais porque foi a única maneira que eles poderiam obter uma quantidade comparável de ram armazenamento auto escala e o i o não está disponível, então vamos ver como eles se alcançaram, isso é questões por segundo com 64 conexões, isso é uma grande gama, é um ganho de 50% consistente para a escala do planeta isso é bem grande, mas vamos ver o quão grande é a diferença de custo, certo? Ok, eu sei que vocês são ebs não s3, não todos sabem o que é ebs, então eu queria colocar s3 em algum os databases usam o S3 como sua backing, infelizmente, mas enfim, sim, então neon e algumas dessas espadas nesta próxima seção por milissegundos de latência, algumas questões estão tomando como um segundo, ok, esta é a sua uh, a latência para a duração do benchmark, sim, algumas vezes está atingindo como até um segundo de latência, a escala da planeta nunca quebra 400 milissegundos, só para esta pequena espada ali e mesmo então é apenas e esta é uma uma benchmark intensa, eles têm todos os detalhes para o seu site, se você for curioso. E, cara, você nunca sabe quanto tempo uma query vai demorar em neon, meio louco que pode ir até 5 e meio segundos para selecionar um 200 vezes, oh meu Deus são todos microsegundos?
Oh, é microsegundos eu pensei que era milissegundos, meu mal, ok, então não é 5 e meio segundos obrigado pela correção, galera, ainda insano, então o custo deve ser muito pior, certo? Sim, 400 dólares por mês para a instância de escala do planeta e mais de 3 mil dólares por mês para a instância de neon ah Mas Aurora é muito bom, não é? A instância de 2xLarge Supabase é 44 dólares, 94 por mês para 750GB de EBS, 216 para upgrade para 12.000 IOPS, 2.100 dólares por mês versus, novamente, 1.400 por mês. Deus, Heroku foi o último database de Postgres que eu deployei, que eu, tipo, realmente tentei usar, e é uma grande parte do porquê eu cheguei na escala do planeta.
Depois de «Postgres como padrão», anote uma métrica (tempo, taxa, retries ou conversão) para migrar para postgres replicas e rode um ciclo curto antes de escalar.
Na prática
Mudar de DB de novo: Postgres, tráfego principal e réplicas.
Réplicas e tráfego
Sob o ângulo de «Réplicas e tráfego», o que importa em migrar para postgres replicas é o próximo passo testável. Se não muda prioridade em 48h, ainda é ruído.
Um fato divertido é que, quando eu estava primeiro construindo Ping, quando ainda era chamado round.t3.gg Não é round, não é a coisa de votação de Pokémon, a aplicação de vídeo que eu construí Heroku foi o banco de dados que eu comecei com, porque é o que eu sabia e eu estava fazendo backend pela primeira vez em um tempo e não funcionou muito bem e eu tenho certeza que esses números vão confirmar o quão ruim foi, Jesus Cristo literalmente 16 a 20 vezes mais rápido 1000 QPS versus 18000 QPS espalhadas assustadoras enquanto as coisas vão por cima. Builder que eu meio que os engajei em fazer isso é um drop engraçado eles estavam antes na aurora com o meu sequel e eles fizeram o switch para o postgres em escala planetária em primeira instância, foi insano para mudar para o meu sequel para o postgres como no voo da maneira que eles fizeram, mas sim, bem louco, bem insano ver essas diferenças no mundo real também migraram a nós como eu mencionei antes e aqui é como algumas das nossas diferenças de latência parecem há coisas diferentes que mudaram diferentes quantidades e eu na verdade fui fora do meu caminho para passar um tempo no Axiom Dashboard para ver a diferença aqui. Para perguntar uma pergunta importante por que os convexos não usaram o meu sql em escala planeta eles já estavam na minha companhia sql eles já estavam usando isso com muita força eles jogaram muita coisa, mas o que foi que os fez escolher postgres a resposta é idiota, mas ouçam-me, fará mais sentido em um pouco é apenas postgres eu sei que vocês estão me olhando como o que diabos eu quero dizer sobre isso postgres é um padrão é um padrão muitas pessoas estão acostumadas a muitas pessoas usam muitas pessoas fazem coisas com MySQL e Vitesse. Esse DB pode ser replicado, como eu estava mostrando antes, onde temos esse primeiro DB replicado em outros lugares, mas eu não poderia realmente espalhar um segundo aqui, porque a linha de abstracção é muito alta.
Isso significa que se eu pagando por um servidor de um certo tamanho eu só posso usá-lo por 1 db há muitos hack e coisas que você pode fazer para alcançar os problemas que são inerentes a isso por exemplo, colocamos prefixas em todas as nossas tabelas para que nós pudéssemos usar 1 db para múltiplos projetos ou múltiplas coisas diferentes ao mesmo tempo mas há uma coisa realmente legal que você pode fazer com a maneira como eles implementaram o postgres você tem múltiplos dbs por instante você vê por que isso seria útil para uma empresa como convexo planet scale não tem uma tira gratuita planet scale carrega bastante dinheiro sua tira mais barata é como 30 dólares por mês. Porque a Planetscale dedicaria a infra, o instante, tudo isso a você, não havia realmente uma história de multitendência para você ou para seus clientes, onde você não poderia usar metal em uma categoria mais barata, porque o database não funcionava assim. Então, sim, para todo mundo que está se preocupando que eu não estou usando o Postgres ou tomando-o de forma séria, aqui você vai, estamos fazendo isso agora. Há alguns meses atrás, nós chegamos ao time do PlanetScale para explorar a ideia, e descobrimos que eles estavam trabalhando em algo novo, algo perfeito para o futuro da Cloud Convex, PlanetScale para Postgres.
Diagra é muito legal, vou salvar isso para o vídeo do Convex no futuro, porque eu preciso falar sobre todas as coisas que o Convex é bom em algum momento, porque eu, novamente, estava muito esquepitico e agora estou totalmente em. Muito grato que o time do Convex esteja escrevendo essa liga insana de rastro para garantir que o dados sejam o mais rápido e confiáveis possível, então não tenho que lidar com nenhuma dessa. E a parte 3 é a coleta de armazenamento, que é como os dados persistiram para e se organizavam no disco ou através de diferentes caixas para um DB distribuído. Então, se você quer fazer seus dados ir o mais rápido possível, você deve procurar a nova coisa da escala do planeta, e se você só quer algo que é conveniente para usar para suas apps, eu recomendo Convex, eu estou tendo um ótimo tempo com ela.
Se «Réplicas e tráfego» não caber na agenda, corte escopo de migrar para postgres replicas. Aprendizado curto publicado vence hype longo consumido.
Quando parar de trocar
A seção «Quando parar de trocar» amarra migrar para postgres replicas a trade-offs reais: o que cortar, o que medir e o que ignorar na primeira semana.
Então eu mudei de DB de novo. Eu sei, eu sei, eu preciso parar de fazer isso, mas eu vi todos os comentários. Todo mundo me está dizendo por sempre que eu preciso apenas usar Postgres. Eu finalmente decidi que nós vamos mover toda a nossa infraestrutura para Postgres.
Eu sei que isso é meio louco, vocês estão todos surpreendidos com isso. Eu não sou um grande fã de Postgres, mas eu sou um fã de uma coisa em particular na cena do database. Você provavelmente já sabe sobre isso. Eu os amo tanto, eles fazem as databases muito mais fáceis de trabalhar e eles escalam muito bem.
Essa mudança foi triste para mim porque significava que estávamos se mudando de uma coisa que eu amo, conheço e confio tanto, PlanetScale. Então eu fiz o que qualquer pessoa com muitas conexões faria, eu tentei forçar esses dois a se casarem. Eu fui para o lado para tentar empurrar o Convex e o Planetscale para começar a falar. Sim, eu não vi esse novo.
Feche «Quando parar de trocar» com um experimento de 30–90 minutos ligado a migrar para postgres replicas: artefato + critério binário — sem inventar número fora da fonte.
Sinais de que está funcionando
Em «Sinais de que está funcionando», use migrar para postgres replicas como hipótese de trabalho. Escreva a regra em uma frase que outro builder execute sem o vídeo.
Eu não sei se ninguém viu esse novo. Mas parte do anúncio, como com todos os anúncios do Planetscale, é que isso não é apenas uma coisa que estamos colocando. Isso é uma coisa que já está sendo usada. Quando o Planetscale caiu de metal anteriormente este ano, eles anunciaram isso junto com todas as pessoas que já estavam usando naquele momento.
Incluindo empresas como T3Chat, empresas como Square e muitas, muitas mais. Eles fizeram isso de novo aqui, mas a empresa com que anunciaram foi muito interessante. Eu nunca pensei que iria ver o dia, mas aqui estamos. Você pensa na era da IA que integrações como autenticação seria muito mais fácil, mas eu na verdade achei que seria o oposto.
Eu sinto que é mais frequentemente que eu vejo o sign-in do WorkOS do que eu não vejo hoje em dia. E há uma razão para isso. Eles entendem o que precisamos como devs e o que as empresas precisam integrar. Nós estamos planejando um movimento para o WorkOS por um pouco, e a razão por que é bem aparente quando você lê essas testemunhas.
Depois de «Sinais de que está funcionando», anote uma métrica (tempo, taxa, retries ou conversão) para migrar para postgres replicas e rode um ciclo curto antes de escalar.
O que evitar na primeira semana
O bloco «O que evitar na primeira semana» sobre migrar para postgres replicas ganha densidade quando você separa claim da fonte de opinião ornamental — preserve só o acionável.
Isso vem do Warp, o terminal de AI. O processo de onboarding foi excelente. Eu amo enviar os admins da IT o link para se instalarem e receber uma notificação de e-mail quando completado. É tão eficiente não ter que ir em reuniões ou ir de volta e volta via e-mail com o personal de IT.
Eu não gostaria de ter o meu pior inimigo. Então, se você quer evitar todo o assalto e sair do certo no primeiro try, veja-o hoje em soydev.link. Eu acho que o melhor lugar para começar, como fazemos com quase todo ranto sobre Postgres, é sobre o MySQL. Por que o PlanetScale betou tão duro no MySQL?
A verdade é que eles não betaram. Enquanto eles usaram o MySQL muito, e isso é o que a maioria de nós usa o PlanetScale para, MySQL não era a tecnologia que eles betaram. A tecnologia que eles betaram é uma tecnologia chamada Vitesse. O melhor que eu posso dizer é que imagine Kubernetes para sua database.
Se «O que evitar na primeira semana» não caber na agenda, corte escopo de migrar para postgres replicas. Aprendizado curto publicado vence hype longo consumido.
Na prática
Próximo passo: escolha uma métrica observável e rode um experimento de 7 dias antes de escalar o padrão.
Perguntas frequentes
Qual mecanismo de «Postgres como padrão» cabe no fluxo que você já toca?
O artigo aponta: «Postgres como padrão» é onde migrar para postgres replicas deixa de ser vibe e vira critério. O material empurra execução observável, não plateia. Ajuste ao contexto de `migrar-postgres-replicas-infra` antes de escalar.
Como extrair «Réplicas e tráfego» sem copiar o artigo inteiro?
Resposta direta do corpo: Sob o ângulo de «Réplicas e tráfego», o que importa em migrar para postgres replicas é o próximo passo testável. Se não muda prioridade em 48h, ainda é ruído.
O que «Quando parar de trocar» muda no próximo ciclo de trabalho?
Extraia só o mecanismo de «Quando parar de trocar»: A seção «Quando parar de trocar» amarra migrar para postgres replicas a trade-offs reais: o que cortar, o que medir e o que ignorar na primeira semana.
Quando «Sinais de que está funcionando» deixa de valer o esforço desta sprint — recorte `migrar-postgres-replicas-infra`?
Operação curta: Em «Sinais de que está funcionando», use migrar para postgres replicas como hipótese de trabalho. Escreva a regra em uma frase que outro builder execute sem o vídeo. Revise com evidência, não com feeling.