Aprenda a Escalar Bancos de Dados Usando SHARDING | System Design & Arquitetura de Software

Renato Augusto2025-11-2043 minutosAvançado
System DesignArquitetura de SoftwareShardingBancos de DadosEscalabilidadeSistemas DistribuídosBackendProgramação

Sobre este curso

Renato Augusto mostra como funciona a escalabilidade horizontal dos bancos de dados usando a poderosa técnica conhecida como sharding, uma das técnicas mais importantes do System Design e da Arquitetura de Sistemas Distribuídos.

Sobre o Curso

Este vídeo, apresentado por Renato Augusto, explora a técnica de sharding, crucial para a escalabilidade horizontal de bancos de dados em arquiteturas de sistemas distribuídos. Você aprenderá como o sharding funciona, suas aplicações e desafios.

O que você vai aprender

  • O que é sharding e por que ele é essencial para escalar bancos de dados horizontalmente
  • Como escolher a shard key ideal e evitar hotspots
  • Por que IDs sequenciais criam problemas e como resolver com hash
  • Como bancos distribuídos implementam sharding internamente
  • Como sharding aparece em entrevistas de system design e arquitetura de software
  • Como lidar com joins, transações, migrations e re-sharding
  • Quando usar sharding na vida real — e quando NÃO usar
  • Como pensar como um arquiteto de software na hora de escalar o banco da sua aplicação
  • As fortes ligações da técnica de sharding com microsserviços e domain driven design

Pré-requisitos

  • Bom conhecimento de programação e desenvolvimento backend
  • Conceitos básicos de bancos de dados (relacionais e não-relacionais)
  • Familiaridade com conceitos de arquitetura de software e sistemas distribuídos

Para quem é este curso

  • Programadores backend e fullstack que querem dominar System Design
  • Estudantes de tecnologia que querem entender como funcionam os bancos de dados
  • Arquitetos de software e tech leads que tomam decisões técnicas em projetos complexos