Acha bancos de dados entediantes?
Indexação → estruturas de dados + algoritmos
IA → RAG + índices aprendidos
MVCC → programação concorrente
Sharding → sistemas distribuídos
Análise sintáctica de consultas → linguagens formais
Planejamento de consultas → estatística + otimização
Replicação → sistemas distribuídos
Autenticação → segurança
WAL → tolerância a falhas
Armazenamento → sistemas de arquivos + cache
Compressão → teoria da informação
Detecção de bloqueios → teoria dos grafos
Bancos de dados abrangem muitos problemas interessantes de engenharia de software.