Sharding vertical
O sharding vertical move tabelas inteiras para outro banco, e o horizontal divide as linhas de uma tabela. O curso compara os dois eixos e mostra que esta aplicação Rails 8 já usa quatro papéis de banco. Ele usa chaves estrangeiras para medir o acoplamento e achar as costuras. Explica o que quebra numa costura e como configurar um banco novo no Rails. No fim, avalia a única candidata deste schema e propõe um desafio que lista as queries quebradas por uma divisão.
O que você vai aprender
- ✓A diferença entre sharding horizontal e vertical
- ✓Como o Rails 8 dá às tabelas de fila, cache e cable papéis de banco próprios
- ✓Medir o acoplamento entre tabelas com chaves estrangeiras para achar costuras
- ✓O que deixa de funcionar numa costura: joins, transações e restrições de chave estrangeira
- ✓Acrescentar um banco no Rails com connects_to e caminho de migração próprio
- ✓Avaliar se uma tabela móvel vale a pena ser movida
Dividindo tabelas, não linhas
O sharding vertical move tabelas inteiras para outro banco. O sharding horizontal divide as linhas de uma tabela, e o vertical divide o conjunto de tabelas.
Ler a aula completa grátis →Currículo
7 aulasDividindo tabelas, não linhas
Compara sharding horizontal e vertical, o que mover tabelas inteiras traz a uma carga e o que se perde.
Você já está fazendo isso
Mostra como o Rails 8 já divide esta aplicação nos papéis primary, queue, cache e cable, e por que o cache mudou.
Achando a costura
Usa a contagem de chaves estrangeiras por tabela para achar costuras e um segundo teste sobre valer a pena mover.
O que quebra na costura
Explica como joins, transações e restrições de chave estrangeira deixam de funcionar quando uma tabela vai para outro banco.
Fazendo isso no Rails
Trata do database.yml, da classe base abstrata, dos caminhos de migração, da cópia dos dados e do custo em conexões.
O candidato aqui
Aplica os dois testes às três tabelas móveis e explica por que a partner_inquiries ainda não deveria ser separada.
Juntando tudo
Resume o curso e propõe um desafio: listar, com validação, as queries que uma divisão proposta quebraria.