Pular para o conteúdo
Skillpedia
Machine learning40 mil · #5075

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

https://github.com/github/awesome-copilot/blob/main/skills/cosmosdb-datamodeling/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/cosmosdb-datamodeling/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-datamodeling

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/cosmosdb-datamodeling/SKILL.md -o SKILL.md
Conteú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:

  1. Estratégias de agregação/fragmentação de dados - Registros individuais podem ser agrupados em fragmentos?
  2. 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?
  3. 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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas