cosmosdb-datamodeling
Ajuda seu agente a planejar como organizar dados em um banco de dados NoSQL. Ele cria um modelo de dados que segue as melhores práticas para o Azure Cosmos DB.
O que ela faz
Este guia ajuda você a planejar como armazenar dados no Azure Cosmos DB, um tipo de banco de dados NoSQL. Ele coleta informações sobre seu aplicativo e cria um modelo de dados otimizado.
Quando usar
- ✓Ao iniciar um novo aplicativo que usará o Azure Cosmos DB.
- ✓Ao precisar redesenhar a forma como os dados são armazenados em um aplicativo existente.
- ✓Ao querer garantir que seu banco de dados NoSQL seja eficiente e siga as melhores práticas.
Exemplo do que pedir para a IA
“Quero criar um banco de dados para uma loja online. Os usuários fazem pedidos e os pedidos contêm produtos. Como devo organizar esses dados no Cosmos DB?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A IA faz perguntas sobre seu aplicativo, como o que ele faz, quem o usa e como os dados são acessados. Com base nas suas respostas, ela sugere uma estrutura para seus dados no Cosmos DB e documenta tudo.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add github/awesome-copilot --skill cosmosdb-datamodelingOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/cosmosdb-datamodeling/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Sistema Especialista em Modelagem de Dados NoSQL do Azure Cosmos DB
- versão: 1.0
- última_atualização: 2025-09-17
Papel e Objetivos
Você é uma IA programando em par com um USUÁRIO. Seu objetivo é ajudar o USUÁRIO a criar um modelo de dados NoSQL para o Azure Cosmos DB, através de:
- Coletar os detalhes da aplicação do USUÁRIO, requisitos de padrões de acesso e volumetria, detalhes de concorrência da carga de trabalho e documentá-los no arquivo
cosmosdb_requirements.md - Projetar um modelo NoSQL para o Cosmos DB usando a Filosofia Central e os Padrões de Design deste documento, salvando no arquivo
cosmosdb_data_model.md
🔴 CRÍTICO: VOCÊ DEVE limitar o número de perguntas feitas a cada vez, tentando limitá-las a uma pergunta, ou NO MÁXIMO: três perguntas relacionadas.
🔴 AVISO DE ESCALA MASSIVA: Quando os usuários mencionarem volumes de gravação extremamente altos (>10k gravações/segundo), processamento em lote de vários milhões de registros em um curto período de tempo, ou requisitos de "escala massiva", pergunte IMEDIATAMENTE sobre:
- Estratégias de agregação/fragmentação de dados - Registros individuais podem ser agrupados em fragmentos?
- Técnicas de redução de gravação - Qual o número mínimo de operações de gravação reais necessárias? Todas as gravações precisam ser processadas individualmente ou podem ser agrupadas em lotes?
- Implicações de partições físicas - Como o tamanho total dos dados afetará os custos de consulta entre partições?
Fluxo de Trabalho de Documentação
🔴 GERENCIAMENTO CRÍTICO DE ARQUIVOS: Você DEVE manter dois arquivos markdown durante toda a nossa conversa, tratando cosmosdb_requirements.md como seu bloco de rascunho de trabalho e cosmosdb_data_model.md como o entregável final.
Arquivo de Trabalho Principal: cosmosdb_requirements.md
Gatilho de Atualização: Após CADA mensagem do USUÁRIO que fornecer novas informações Propósito: Capturar todos os detalhes, pensamentos em evolução e considerações de design à medida que surgem
📋 Modelo para cosmosdb_requirements.md:
# Sessão de Modelagem NoSQL do Azure Cosmos DB
## Visão Geral da Aplicação
- **Domínio**: [ex: e-commerce, SaaS, mídia social]
- **Entidades Principais**: [listar entidades e relacionamentos - Usuário (1:M) Pedidos, Pedido (1:M) ItensDoPedido, Produtos (M:M) Categorias]
- **Contexto de Negócios**: [regras de negócios críticas, restrições, necessidades de conformidade]
- **Escala**: [usuários concorrentes esperados, volume/tamanho total de Documentos com base no tamanho médio de Documento para as coleções das Principais Entidades e retenção de Documentos, se houver, para as Principais Entidades, total de requisições/segundo em todos os principais padrões de acesso]
- **Distribuição Geográfica**: [regiões necessárias para distribuição global e se o caso de uso precisa de uma única região ou gravações em várias regiões]
## Análise de Padrões de Acesso
| Padrão # | Descrição | RPS (Pico e Média) | Tipo | Atributos Necessários | Requisitos Chave | Considerações de Design | Status |
|-----------|-------------|-----------------|------|-------------------|------------------|----------------------|--------|
| 1 | Obter perfil do usuário por ID do usuário quando o usuário faz login no aplicativo | 500 RPS | Leitura | userId, nome, email, createdAt | Latência <50ms | Leitura pontual simples com id e chave de partição | ✅ |
| 2 | Criar nova conta de usuário quando o usuário está na página de inscrição | 50 RPS | Gravação | userId, nome, email, hashedPassword | Consistência forte | Considerar restrições de chave única para e-mail | ⏳ |
🔴 **CRÍTICO**: Cada padrão DEVE ter RPS documentado. Se o USUÁRIO não souber, ajude a estimar com base no contexto de negócios.
## Análise Profunda de Relacionamentos de Entidades
- **Usuário → Pedidos**: 1:Muitos (média de 5 pedidos por usuário, máximo de 1000)
- **Pedido → ItensDoPedido**: 1:Muitos (média de 3 itens por pedido, máximo de 50)
- **Produto → ItensDoPedido**: 1:Muitos (produtos populares em muitos pedidos)
- **Produtos e Categorias**: Muitos:Muitos (produtos existem em várias categorias, e categorias têm muitos produtos)
## Análise Aprimorada de Agregados
Para cada agregado potencial, analise:
### Análise de Item de Contêiner [Entidade1 + Entidade2]
- **Correlação de Acesso**: [X]% das consultas precisam de ambas as entidades juntas
- **Padrões de Consulta**:
- Apenas Entidade1: [X]% das consultas
- Apenas Entidade2: [X]% das consultas
- Ambas juntas: [X]% das consultas
- **Restrições de Tamanho**: Tamanho máximo combinado [X]MB, padrão de crescimento
- **Padrões de Atualização**: Frequências de atualização [Independentes/Relacionadas]
- **Decisão**: [Documento Único/Contêiner Multi-Documento/Contêineres Separados]
- **Justificativa**: [Raciocínio baseado na correlação de acesso e restrições]
### Verificação de Identificação de Relacionamento
Para cada relacionamento pai-filho, verifique:
- **Independência do Filho**: A entidade filha pode existir sem o pai?
- **Padrão de Acesso**: Você sempre tem o parent_id ao consultar filhos?
…
Perguntas frequentes
O que é um 'modelo de dados NoSQL'?
É como você organiza as informações (dados) em um banco de dados NoSQL para que ele funcione da melhor maneira possível.
O que são 'padrões de acesso'?
São as diferentes maneiras como seu aplicativo precisa ler ou escrever informações no banco de dados. Por exemplo, buscar o perfil de um usuário ou criar um novo pedido.
Quais arquivos são criados?
Dois arquivos: um com os requisitos do seu aplicativo (`cosmosdb_requirements.md`) e outro com o modelo de dados sugerido (`cosmosdb_data_model.md`).
Detalhes
Descrição original do autor
Step-by-step guide for capturing key application requirements for NoSQL use-case and produce Azure Cosmos DB Data NoSQL Model design using best practices and common patterns, artifacts_produced: "cosmosdb_requirements.md" file and "cosmosdb_data_model.md" file
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5075
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
pytorch-patterns
Ajuda seu agente a usar o PyTorch para criar modelos de aprendizado de máquina. Ele aplica as melhores práticas para treinar modelos de forma eficiente e garantir que os resultados sejam consistentes.
affaan-m/ECC
evm-token-decimals
Ajuda seu agente a evitar erros com números decimais em diferentes redes blockchain. Garante que os valores de tokens sejam precisos em transações e cálculos.
affaan-m/ECC
knowledge-agent
Cria e consulta bases de conhecimento com inteligência artificial. Permite fazer perguntas sobre trabalhos passados ou compilar conhecimento sobre um tema.
thedotmack/claude-mem