2 de junho de 20265 min de leitura

Azure Cosmos DB Global Secondary Indexes já disponível: o fim das queries cross-partition caras e da duplicação manual de dados

Justine Cocchi

Azure

Banner - Azure Cosmos DB Global Secondary Indexes já disponível: o fim das queries cross-partition caras e da duplicação manual de dados

Azure Cosmos DB Global Secondary Indexes já disponível: o fim das queries cross-partition caras e da duplicação manual de dados

TL;DR: Neste artigo, analisamos a disponibilidade geral dos Global Secondary Indexes (GSIs) no Azure Cosmos DB. A funcionalidade elimina a necessidade de duplicar dados manualmente para consultas por chaves alternativas, transformando queries cross-partition caras em consultas eficientes de partição única. Para empresas brasileiras que lidam com múltiplos padrões de acesso, os GSIs reduzem custos de RU e complexidade operacional, sem exigir código de sincronização personalizado.

Se você já precisou evoluir seus padrões de leitura sem perder eficiência, sabe o drama: sua aplicação começa com um padrão de acesso — consultas por email de usuário, por exemplo — mas logo você precisa buscar pelo mesmo registro usando telefone, ID de pedido ou outro campo. Consultas que não incluem a partition key disparam um scan em todas as partições. O resultado? Mais latência, mais RUs consumidas e custos que podem ser 10x maiores que uma leitura direcionada.

O Azure Cosmos DB acaba de disponibilizar em disponibilidade geral os Global Secondary Indexes (GSIs). Trata-se de uma funcionalidade que mantém uma cópia sincronizada automaticamente dos seus dados com uma partition key diferente. Na prática, você ganha um novo container de índice — gerenciado pelo próprio serviço — que permite executar consultas por chaves alternativas como se fossem operações em partição única: rápidas, baratas e consistentes.

Antes dos GSIs, a saída era replicar manualmente os dados em um segundo container usando o change feed, escrever lógica de sincronização, tratar retentativas e provisionar compute para manter tudo funcionando. Era engenharia cara e propensa a falhas. Um cliente citado — a Woven — migrou sua arquitetura de replicação manual para os GSIs e simplificou drasticamente a aplicação.

O problema que o GSI resolve

O Cosmos DB escala distribuindo dados por partições físicas. Quando sua query inclui a partition key, o SDK roteia diretamente para a partição correta: rápido, barato e consistente. Mas aplicações reais raramente ficam simples. Um e-commerce pode particionar pedidos por customer ID, mas depois precisa consultar por order ID para logística. Um app de mensageria, como o da Woven, busca mensagens por localização ou time.

Cada query sem partition key varre todas as partições. Quanto mais dados, mais partições, mais varredura, mais RUs e mais lentidão. Em escala, o custo pode disparar. Com GSIs, essas queries cross-partition se tornam lookups de partição única, e o Azure Cosmos DB cuida da sincronização.

Quando usar GSI

  • Lookups alternativos: seu container fonte está otimizado para um padrão, mas você precisa de vários. Cada GSI dá a cada padrão sua própria partition key.
  • Aplicações de IA e agentes: agentes precisam consultar dados de sessão, histórico de conversas e usuários de formas flexíveis. GSIs permitem adicionar novos padrões sem refatorar o modelo de dados.
  • Isolamento de workload: containers GSI têm throughput e política de indexação próprios. Você pode adicionar índices vetoriais ou full-text sem impactar o workload transacional.
  • Padrões de acesso em evolução: conforme sua aplicação cresce, novos padrões surgem. GSIs permitem adicioná-los sem remodelar containers existentes.

Veja na prática

A Microsoft disponibilizou um app demo no GitHub que carrega 200.000 registros de pedidos e compara queries no container fonte versus no GSI, mostrando a diferença de RU e latência. Clone o repositório e teste você mesmo.

Como começar

Para ativar os GSIs, siga os passos na documentação: habilite backup contínuo na conta, ative a feature, e crie seu primeiro container GSI pelo Portal ou CLI. A recomendação é usar throughput em autoscale nos containers GSI para absorver picos de tráfego de sincronização sem sustos.

O que você vai construir?

GSIs tornam workloads com múltiplos padrões de acesso mais simples e baratos: sem código de sincronização customizado, sem infraestrutura extra, sem comprometer performance de query. Para empresas brasileiras que operam em cenários de alta variabilidade — marketplaces, fintechs, logística —, a redução de custos com RUs e a eliminação de engenharia de replicação são ganhos diretos.

Explore a documentação oficial, o guia de configuração e o app demo. Teste em seus ambientes de desenvolvimento e avalie o impacto real.

Perguntas Frequentes

  • O que são Global Secondary Indexes no Azure Cosmos DB?
    São cópias sincronizadas automaticamente dos dados com uma partition key diferente, permitindo consultas eficientes por padrões de acesso alternativos sem a necessidade de replicação manual via change feed.

  • Quando devo usar GSI em vez de duplicar dados em um segundo container?
    Sempre que sua aplicação precisar consultar por mais de uma chave (ex.: email e telefone do usuário). GSIs eliminam o overhead de manter código de sincronização, retentativas e infraestrutura dedicada.

  • GSIs afetam a performance das operações de escrita no container de origem?
    Não de forma significativa para a maioria dos workloads. O Azure Cosmos DB gerencia a sincronização de forma transparente. Além disso, containers GSI podem ter throughput e política de indexação independentes, isolando cargas de busca sem impactar as escritas transacionais.

  • Como configurar GSIs no Azure Cosmos DB?
    É necessário habilitar o backup contínuo na conta, ativar a funcionalidade GSI e criar um container GSI pelo Portal do Azure ou CLI. A Microsoft recomenda throughput em autoscale para lidar com picos de tráfego de sincronização.


Artigo originalmente publicado por Justine Cocchi em Azure Updates - Latest from Azure Charts.

Gostou? Compartilhe:
Precisa de ajuda?Fale com nossos especialistas 👋
Avatar Walcew - Headset