Bancos de dados

Sistemas que guardam, organizam e devolvem informação digital de forma eficiente e confiável.

Hard

O que é

Banco de dados é o sistema organizado pra armazenar, gerir e recuperar informação. Ele usa modelos diferentes, como relacional, documento, chave valor e grafo, e cada um é bom pra um tipo de dado e de acesso, sempre cuidando de integridade, segurança e desempenho na escala.

Para quem faz produto, o ponto não é virar engenheiro de banco, e sim entender que a escolha do modelo afeta a velocidade de construir feature, a qualidade da experiência e o custo de manutenção lá na frente. Um modelo bem desenhado acelera, ao passo que um modelo torto vira dívida técnica.

Na prática, vale saber a diferença grossa entre eles: relacional, ou SQL, pra dado consistente e consulta complexa, documento, ou NoSQL, pra estrutura flexível, chave valor pra acesso rápido e grafo pra relação entre coisas. Saber escolher é o que permite conversar com a engenharia, em vez de só pedir.

Em uma frase

Como a feature é toda baseada em conexão entre usuários, a engenharia sugeriu um banco de grafo em vez de relacional.

A pergunta que ele responde

O que eu preciso saber de banco de dados pra conversar com a engenharia sem cravar a tecnologia por ela?

Quando usar

Ajuda pra conversar com a engenharia sobre trade-off de modelo de dado quando uma feature mexe em como a informação é guardada e consultada.

Como não usar

O cuidado é não opinar sobre escolha de banco como se fosse algo simples, porque é decisão técnica com consequência de anos. O papel de produto é trazer o requisito, e não cravar a tecnologia.

Na prática

Pense num time que quer uma feature de recomendação baseada em conexões entre usuários. Em vez de forçar isso num banco relacional, a engenharia propõe um banco de grafo, que foi justamente feito pra esse tipo de relação.

Não confunda com

Vale separar banco de dados de data warehouse. O banco operacional roda a aplicação no dia a dia, enquanto o warehouse é otimizado pra análise de grandes volumes. Misturar os dois acaba levando a um sistema lento.

Em inglês

Databases

Pronúncia

déi-ta-beis

Também chamado de

banco de dados, database, DB

Origem

n/a

Fonte

Saiba mais

Martin Kleppmann, Designing Data-Intensive Applications