Um resumo dos antipadrões de projeto de esquema e como identificá-los
Lauren Schaefer, Daniel Coupal3 min read • Published Feb 12, 2022 • Updated Oct 01, 2024
Avalie esse Artigo
Chegamos à última publicação desta série sobre antipadrões de projeto de esquema do MongoDB. Agora você virou especialista, né? Esperamos que sim. Mas não se preocupe: mesmo que você caia na armadilha de implementar acidentalmente um antipadrão, o MongoDB Atlas pode ajudar você a identificá-lo.
Abaixo está uma breve descrição de todos os antipadrões de projeto de esquema que abordamos nesta série.
- Arrays enormes: armazenando arrays enormes e ilimitados em seus documentos.
- Inúmeras coleções: armazenar um grande número de coleções (principalmente se não forem usadas ou se forem desnecessárias) em seu banco de dados.
- Índices desnecessários: armazenar um índice que é desnecessário porque é (1) raramente usado, se é que é usado, ou (2) redundante porque outro índice composto o cobre.
- Documentos volumosos: armazenar grandes quantidades de dados juntos em um documento quando esses dados não são acessados juntos com frequência.
- Separar dados que são acessados juntos: separar dados em diferentes documentos e coleções que são frequentemente acessados juntos.
- Queries que não diferenciam maiúsculas de minúsculas sem índices que não diferenciam maiúsculas de minúsculas: executar frequentemente uma query que não diferencia maiúsculas de minúsculas sem ter um índice que não diferencia maiúsculas de minúsculas para abrangê-la.
Se você quiser saber mais sobre cada um dos antipadrões, confira esta playlist do YouTube.
Agora que você sabe o que não fazer, vamos falar sobre o que você deve fazer. Comece aprendendo os padrões de projeto de esquema do MongoDB. Ken Alger e David Coupal escreveram uma série de blogs fantástica que detalha cada um dos padrões do 12. Daniel também cocriou um curso gratuito da MongoDB University que orienta você sobre como modelar seus dados.
Depois de criar sua base de modelagem de dados conforme os padrões e antipadrões de projeto de esquema, reflita bem sobre seu caso de uso:
- Quais dados você precisará armazenar?
- Quais dados provavelmente serão acessados em conjunto?
- Quais queries serão executadas com mais frequência?
- Quais dados provavelmente se ampliarão a um ritmo rápido e ilimitado?
O melhor do MongoDB é que ele tem um esquema flexível. Você pode fazer alterações rapidamente em seu modelo de dados ao usar o MongoDB. Se o seu modelo de dados inicial não for tão bom ou se os requisitos do seu aplicativo mudarem, você poderá atualizar facilmente o modelo de dados. E você pode fazer essas atualizações sem nenhum tempo de inatividade! Confira o Padrão de versionamento de esquema para obter mais detalhes.
Se e quando quiser restringir parte ou todo o seu esquema, você poderá adicionar a validação de esquema. Não se preocupe, a validação de esquema também é flexível. Você pode configurá-la para emitir avisos ou erros. Você também pode escolher se a validação deve ser aplicada a todos os documento ou apenas aos documento que já seguem as regras de validação de esquema. Toda essa flexibilidade permite validar documentos com formatos diferentes na mesma coleção, ajudando você a migrar seu esquema de uma versão para outra.
Espero que você se lembre de todos os padrões e antipadrões de projeto de esquema ao planejar e modificar o esquema do banco de dados. Mas talvez seja pedir demais. Todos nós cometemos erros.
Se seu banco de dados estiver hospedado no MongoDB Atlas, você poderá obter ajuda para identificar os antipadrões. Navegue até o Performance Advisor (disponível em clusters M10 e superiores) ou o Data Explorer (disponível em todos os clusters) e procure o painel Schema Anti-Patterns. Esses painéis de antipadrões de esquema exibirão uma lista de antipadrões em suas coleções e darão dicas de como corrigir os problemas.
Para saber mais, confira a publicação no blog da Marissa Jasso, que apresenta em detalhes esse recurso prático de sugestão de esquema ou assista à demonstração dela abaixo.
Cada caso de uso é único, então cada esquema será único. Não existe nenhuma fórmula para determinar o modelo "certo" para seus dados no MongoDB.
Aprenda uma base sólida de modelagem de dados conhecendo os padrões e antipadrões de projeto de esquema do MongoDB. Em seguida, comece a modelar seus dados, considerando cuidadosamente os detalhes de seu caso de uso específico e aproveitando os princípios dos padrões e antipadrões.
Portanto, prepare-se, divirta-se e modele alguns dados!
Quando estiver pronto para criar um esquema no MongoDB, confira o MongoDB Atlas, o banco de dados como serviço totalmente gerenciado do MongoDB. O Atlas é a maneira mais fácil de começar a usar o MongoDB e tem uma camada rica e gratuita para sempre.
Confira os seguintes recursos para obter mais informações:
{Parte de uma série