Quando você deve usar o Azure Cosmos DB para NoSQL

Concluído

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

Para cenários empresariais, o Azure Cosmos DB para 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 para o Azure Cosmos DB para NoSQL

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

IA generativa

As aplicações generativas de IA podem ser diversas e imprevisíveis. Essas cargas de trabalho exigem uma plataforma de banco de dados que seja econômica, responsiva e escalá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. Esta colocalização de dados e vetores permite uma indexação e pesquisa eficientes, uma vez que os vetores são armazenados na mesma unidade lógica que os dados que representam. Manter vetores e 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 de agente de IA multilocatário para usuários finais. Dados novos ou atualizados são ingeridos com o Change Feed, vetorizados e armazenados. Os usuários interagem por meio dos Agentes de IA, que realizam pesquisa vetorial e geram respostas com o histórico de bate-papo armazenado no Azure Cosmos DB.

Neste exemplo, os clientes estão pegando dados transacionais e operacionais e vetorizando-os para serem usados para pesquisa vetorial por vários agentes de IA que atendem os clientes. O Feed de Alterações do Azure Cosmos DB é usado para manipular a ingestão e 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 prompts e conclusão, que também são armazenados como seu histórico de bate-papo no Banco de Dados Comsos do Azure e usados para fornecer um cache semântico para melhorar o custo e o desempenho.

Retalho/marketing

O Azure Cosmos DB para NoSQL é uma ótima opção para cargas de trabalho de varejo e marketing que podem experimentar oscilações dramáticas e inesperadas no uso a qualquer momento ao longo do ano. A escala elástica do Azure Cosmos DB para 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 de arquitetura para uma carga de trabalho de varejo mostrando um navegador de usuário se conectando ao site no Serviço de Aplicativo do Azure suportado por uma conta de Armazenamento de Blob do Azure contendo dados estáticos do site. Nos bastidores, uma conta do Azure Cosmos DB para NoSQL com um contêiner para dados de inventário 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 para NoSQL com dados de inventário.

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

Web/telemóvel

Muitos aplicativos sociais modernos geram uma infinidade de conteúdo gerado pelo usuário que é diverso em quantidade, forma e volume. O Azure Cosmos DB para NoSQL é um ótimo candidato para essa carga de trabalho, pois essa API pode armazenar dados de esquemas variados. Considere a API NoSQL para dados que podem ter esquemas que mudam ou evoluem ao longo do tempo à medida que as iniciativas da empresa se expandem para novas áreas.

Diagrama de arquitetura para uma carga de trabalho da Web mostrando um navegador de 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 para 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 para qual ponto de extremidade do Serviço de Aplicativo do Azure redirecionar o usuário. Como o Azure Cosmos DB para NoSQL é capaz de distribuição global, você só precisa de uma conta replicada em várias regiões.

Cenário do módulo

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

Suponha que você trabalhe como desenvolvedor líder em uma empresa de varejo. Sua equipe está construindo sua vitrine on-line com suporte para agentes de IA para fornecer uma experiência rica 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 um aumento na demanda quando a vitrine for publicada e várias vendas de "grande abertura" começarem.

Uma parte fundamental do sucesso da sua loja é a capacidade da empresa de notificar os usuários sobre atualizações de envio, independentemente do dispositivo em que eles fazem o pedido ou estão usando no momento. Sua equipe trabalhou duro em um sistema sofisticado para gerenciar o rastreamento detalhado do status do pedido. A integração total 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 para NoSQL para enviar notificações para os dispositivos móveis do seu usuário. As notificações alertam-nos quando a sua encomenda é enviada ou está fora para entrega.

Diagrama de arquitetura para uma carga de trabalho de varejo mostrando um número crescente de usuários solicitando produtos e uma coleção de recursos de computação lidando com solicitações das instâncias de vitrine. Por trás dos recursos de computação, o Azure Cosmos DB armazena dados de compra. Em seguida, o Azure Synapse Link conecta o Azure Cosmos DB ao Azure Synapse Analytics para análises mais profundas. Por fim, o Azure Functions, acionado fora do feed de alterações, processa eventos de dados que, em seguida, acionam um fluxo de trabalho dos Aplicativos Lógicos do Azure para executar operações de negócios, como notificar o usuário em seu dispositivo móvel sobre novos eventos.

Este exemplo é semelhante ao exemplo da introdução deste módulo. Para aproveitar o primeiro exemplo, sua equipe decidiu apresentar o Azure Cosmos DB para NoSQL como o banco de dados de escolha. Agora, sua equipe pode usar o Azure Synapse Link para preparar e agregar dados para análises mais profundas 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.