Escolher o banco de dados errado geralmente não causa problemas no primeiro dia, mas sim quando o sistema atinge cerca de mil usuários simultâneos, levando a engasgos e à dolorosa necessidade de refatoração em produção. A origem dos bancos de dados remonta às décadas de 1970 e 1980, quando os dados eram armazenados em arquivos sequenciais indexados (ISAM) ou CSV, e cada programa precisava saber exatamente a estrutura física do arquivo, o que gerava forte acoplamento e dificuldade de manutenção.
A virada veio com Edgar F. Codd, da IBM, que em 1970 propôs o modelo relacional, trazendo independência de dados – o programa declara o que quer, e o sistema decide como buscar. Isso revolucionou a área e deu origem aos primeiros bancos comerciais, como Oracle V2 (1979) e DB2 (1983), cujos fundamentos ainda dominam por resolverem problemas eternos: consistência, integridade e independência de dados.
Dois conceitos fundamentais são apresentados: ACID (Atomicidade, Consistência, Isolamento e Durabilidade), que garante transações confiáveis (exemplo: transferência bancária), e o Teorema CAP, que afirma que em sistemas distribuídos é possível garantir apenas duas de três propriedades: Consistência, Disponibilidade e Tolerância a Partições. Bancos relacionais tradicionais priorizam consistência; já bancos NoSQL geralmente priorizam disponibilidade e tolerância a partições, aceitando consistência eventual.
O vídeo analisa os limites reais de cada banco em instância única (sem escala horizontal). O MySQL é o queridinho da web, mas sofre com conexões simultâneas: o padrão é 151 conexões, configurável até 5 mil ou 10 mil, porém cada conexão consome cerca de 1 MB de RAM. Acima de 10 milhões de linhas por tabela, índices bem planejados deixam de ser opção e viram obrigação.
O PostgreSQL é apresentado como a evolução natural para quem já extraiu tudo do MySQL. Ele usa processos separados por conexão (e não threads), o que melhora isolamento mas exige gerenciadores de pool como PgBouncer. Oferece extensões nativas como JSONB, PostGIS (geoespacial) e PG Vector (busca semântica para IA), além de melhor implementação de MVCC (controle de concorrência multiversão), sendo usado por Apple, Instagram e Reddit.
Outros bancos são detalhados: Oracle é o tanque de guerra corporativo, com recursos como Flashback Query e RAC (cluster real), mas com licenciamento milionário por núcleo de CPU. SQL Server integra-se perfeitamente ao ecossistema Microsoft (Excel, Power BI, .NET), mas suas edições gratuitas (Express) têm severas limitações de tamanho (10 GB) e recursos. SQLite é uma biblioteca C sem servidor, ideal para apps mobile e sistemas embarcados (usado em aviões Airbus), porém trava o banco inteiro em escritas concorrentes.
Redis é banco chave-valor em memória RAM, com operações acima de 100 mil por segundo, mas não substitui um banco relacional – funciona como camada de cache à frente dele. MongoDB resolve bem o problema de esquema flexível (ex.: catálogo de produtos com campos variados), mas não tem joins nativos e sofre com relacionamentos complexos. A recomendação final é clara: bancos de dados são decisão de arquitetura, não detalhe de implementação. Entender ACID, CAP e os limites reais de cada tecnologia transforma escolha de opinião em engenharia.