Quando você deve usar o Azure Cosmos DB for NoSQL

Concluído

O Azure Cosmos DB for NoSQL é um serviço de banco de dados NoSQL totalmente gerenciado para o desenvolvimento de aplicativos modernos e de IA. Ele fornece tempos de resposta garantidos de milissegundos de um dígito e disponibilidade de 99,999% e recursos de banco de dados vetorial, apoiado por SLAs com escalabilidade automática e instantânea.

Para cenários empresariais, o Azure Cosmos DB for NoSQL tem um conjunto abrangente de SLAs (contratos de nível de serviço) com suporte financeiro que abrangem taxa de transferência, consistência, disponibilidade e latência.

Casos de uso comuns do Azure Cosmos DB for NoSQL

Como um banco de dados NoSQL rápido com uma API flexível e recursos de indexação e pesquisa de vetores, o Azure Cosmos DB for NoSQL é adequado para muitos tipos e tamanhos de aplicativos. Desde a escala muito pequena até aplicativos de alto desempenho com ambição global. A velocidade e a flexibilidade tornam o Azure Cosmos DB for NoSQL ótimo para IA generativa, Web, varejo, IoT, jogos e aplicativos móveis. O Azure Cosmos DB for NoSQL é uma boa opção para aplicativos que exigem flexibilidade, baixo custo, tempos de resposta rápidos e a capacidade de dimensionar para volume ou velocidade maciços.

O que é IA generativa

Aplicativos de IA generativa podem ser diversos e imprevisíveis. Essas cargas de trabalho exigem uma plataforma de banco de dados econômica, responsiva e escalonável. Os usuários podem armazenar vetores diretamente em seus documentos com dados tradicionais sem esquema e vetores de alta dimensão como outras propriedades. Essa colocalização de dados e vetores permite processos de indexação e busca eficientes, pois os vetores são armazenados na mesma unidade lógica dos dados que representam. Manter os vetores e os dados juntos simplifica o gerenciamento de dados, as arquiteturas de aplicativos de IA e a eficiência das operações baseadas em vetores.

Diagrama de arquitetura para uma carga de trabalho de IA generativa mostrando um aplicativo do Agente de IA multilocatário para usuários finais. Dados novos ou atualizados são ingeridos com o Feed de Alterações, vetorizados e armazenados. Os usuários interagem por meio dos Agentes de IA que executam a busca em vetores e geram respostas com o histórico de chat armazenado no Azure Cosmos DB.

Neste exemplo, os clientes estão usando dados transacionais e operacionais e vetorizando-os para serem usados para busca em vetores por vários Agentes de IA que atendem clientes. O Feed de Alterações do Azure Cosmos DB é usado para lidar com a ingestão e a vetorização de dados novos ou atualizados, disponibilizando-os quase em tempo real para os usuários. Os clientes que interagem com esses agentes geram solicitações e conclusões que também são armazenadas como seu histórico de chat no Azure Comsos DB e usados para fornecer um cache semântico para melhorar o custo e o desempenho.

Varejo/marketing

O Azure Cosmos DB for NoSQL é uma ótima opção para cargas de trabalho de varejo e marketing que podem apresentar variações expressivas e inesperadas no uso a qualquer momento ao longo do ano. A escala elástica do Azure Cosmos DB for NoSQL garante que a plataforma de banco de dados possa lidar com solicitações durante o uso de pico e economizar dinheiro fora dos horários de pico.

Diagrama da arquitetura de uma carga de trabalho de varejo mostrando um navegador de usuário se conectando ao site no Serviço de Aplicativo do Azure com suporte de uma conta do Armazenamento de Blobs do Azure que contém dados de um site estático. Nos bastidores, uma conta do Azure Cosmos DB for NoSQL com um contêiner para dados de estoque e um contêiner para dados de carrinho de compras é usada pelo aplicativo Web do Serviço de Aplicativo e uma instância do Azure Search que cria um catálogo pesquisável indexando a conta do Azure Cosmos DB for NoSQL aos dados de estoque.

Neste exemplo, um aplicativo Web JavaScript criado com base no conteúdo armazenado no Armazenamento de Blobs do Azure usa p Azure Cosmos DB for NoSQL como banco de dados de backup. Várias contas são usadas para gerenciar facetas diferentes da solução, como o carrinho de compras, o inventário ou o catálogo. Em seguida, a solução usa o Azure Search para indexar os dados do Azure Cosmos DB for NoSQL, fornecendo uma experiência de pesquisa avançada para os usuários finais.

Web/móvel

Muitos aplicativos sociais modernos geram uma infinidade de conteúdo gerado pelos usuários que é diversificado em termos de quantidade, forma e volume. O Azure Cosmos DB for NoSQL é um excelente candidato para essa carga de trabalho, uma vez que essa API é capaz de armazenar dados de esquemas variados. Considere a API de NoSQL para dados que podem ter esquemas que mudam ou evoluem ao longo do tempo conforme as iniciativas da empresa se expandem para novas áreas.

Diagrama da arquitetura de uma carga de trabalho da Web mostrando um navegador do usuário se conectando a uma URL conectada ao Gerenciador de Tráfego do Azure para determinar o destino de redirecionamento correto. Em seguida, três instâncias do Serviço de Aplicativo do Azure em três regiões do Azure (Norte da Europa, Oeste dos EUA, Leste dos EUA) são conectadas a uma conta do Azure Cosmos DB for NoSQL distribuída globalmente.

Neste exemplo, um usuário está usando uma URL para acessar um site em seu navegador. A URL aponta para o Gerenciador de Tráfego do Azure, que usa um algoritmo interno para determinar a qual ponto de extremidade do Serviço de Aplicativo do Azure redirecionar o usuário. Como o Azure Cosmos DB for NoSQL tem capacidade para distribuição global, você só precisa de uma conta que seja replicada em várias regiões.

Cenário do módulo

Considere o cenário do início deste módulo:

Digamos que você trabalha como desenvolvedor líder em uma empresa de varejo. Sua equipe está criando uma vitrine Web com suporte de agentes de IA para fornecer uma experiência avançada para os usuários. Você está projetando a nova vitrine para ser acessível em vários dispositivos, incluindo dispositivos móveis. A equipe espera que ocorra um pico na demanda quando a vitrine for publicada e várias liquidações de "inauguração" começarem.

Uma parte fundamental do sucesso da sua loja é a capacidade da empresa de notificar os usuários sobre as atualizações de envio, independentemente do dispositivo em que eles fazem o pedido ou que estão usando no momento. Sua equipe trabalhou muito em um sistema sofisticado para gerenciar o acompanhamento detalhado do status de pedidos. A forte integração do Azure Cosmos DB com outros serviços do Azure permite que você considere a criação de soluções que usam dados de pedidos no Azure Cosmos DB for NoSQL para enviar notificações aos dispositivos móveis do usuário. As notificações alertam os usuários quando o pacote é enviado ou quando saiu para entrega.

Diagrama da arquitetura de uma carga de trabalho de varejo mostrando um número cada vez maior de usuários pedindo produtos e uma coleção de recursos de computação que lidam com essas solicitações das instâncias da vitrine. Por trás dos recursos de computação, o Azure Cosmos DB armazena os dados de compra. Em seguida, o Link do Azure Synapse conecta o Azure Cosmos DB ao Azure Synapse Analytics para análise mais profunda. Por fim, o Azure Functions, disparado pelo feed de alterações, processa os eventos de dados que disparam um fluxo de trabalho dos Aplicativos Lógicos do Azure para executar operações de negócios, como notificar o usuário sobre novos eventos no dispositivo móvel dele.

Este exemplo é semelhante ao da introdução deste módulo. Para dar continuidade ao primeiro exemplo, sua equipe decidiu introduzir o Azure Cosmos DB for NoSQL como o banco de dados de sua escolha. Agora, a equipe pode usar o Link do Azure Synapse para preparar e agregar dados para análise mais profunda usando o Azure Synapse Analytics. Sua equipe também pode usar serviços como o Azure Functions para reagir a eventos de dados com o Azure Cosmos DB e, em seguida, acionar um fluxo de trabalho de Aplicativos Lógicos do Azure que envia notificações para dispositivos móveis.