Arquitetura multi-banco
O Rails 8 configura quatro bancos por padrão: primary, cache, queue e cable. O curso mostra como essa configuração funciona numa aplicação. Modelos e adapters Solid nomeiam um papel, e o database.yml resolve esse papel para um lugar. Cada banco tem arquivo de schema próprio e tarefas rake com namespace próprias. O curso também trata de como decidir que dado ganha banco próprio. Depois mostra os custos: pools de conexão que se multiplicam e a ausência de transações e joins entre bancos. Termina com um exercício de planejamento de conexões.
O que você vai aprender
- ✓Como os papéis primary, cache, queue e cable apontam para bancos no database.yml
- ✓Três jeitos de declarar connects_to para Solid Queue, Solid Cache e Solid Cable
- ✓O que os arquivos de schema separados e o version: 1 dizem sobre cada banco
- ✓Como funcionam as tarefas de banco com namespace e o db:prepare
- ✓Como decidir que dado ganha banco próprio
- ✓Como contar conexões somando pools e processos
Quatro bancos, uma aplicação
O Rails 8 vem com quatro bancos configurados por padrão, e a maioria das pessoas nunca percebe, porque o framework esconde a emenda quase por completo.
Ler a aula completa grátis →Currículo
7 aulasQuatro bancos, uma aplicação
O Rails 8 configura quatro papéis de banco por padrão, cada um com pool, schema e caminho de migração próprios.
Como um modelo acha seu banco
Modelos herdam o primary, e os adapters Solid usam connects_to para nomear um papel resolvido pelo database.yml.
Um arquivo de schema por banco
Cada banco tem seu arquivo de schema, e version: 1 marca os schemas que uma gem entrega inteiros.
O espaço de tarefas
Tarefas com namespace agem num banco, as sem namespace agem nos quatro, e o db:prepare roda na inicialização.
Decidindo o que ganha banco próprio
Duas perguntas, sobre crescimento e recuperação, explicam por que o cache ganhou banco próprio e a fila não.
O que isso custa
Os pools se multiplicam por banco e por processo, e transações e joins não atravessam a fronteira de um papel.
Juntando tudo
Uma revisão da indireção por papéis e dos graus de separação, com um exercício que calcula a folga de conexões.