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. Ele oferece tempos de resposta garantidos de um dígito em milissegundos e 99,999% de disponibilidade, 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, o Azure Cosmos DB para NoSQL é adequado para aplicativos de alto desempenho com ambição global. A velocidade e a flexibilidade tornam o Azure Cosmos DB para NoSQL excelente para aplicações Web, de retalho, IoT, jogos e móveis. O Azure Cosmos DB para NoSQL é uma boa opção para aplicativos que exigem flexibilidade, baixo tempo de resposta e transações em grande volume ou velocidade.

IoT/telemetria

As cargas de trabalho dos sensores IoT podem ser diversas e imprevisíveis. Essas cargas de trabalho exigem uma plataforma de banco de dados que seja responsiva e capaz de escala elástica para atender às necessidades de tantos ou poucos dispositivos de coleta de dados implantados a qualquer momento. Em muitos casos, as cargas de trabalho de IoT também podem gravar grandes volumes de dados e se beneficiariam de uma plataforma de banco de dados otimizada para gravação. O Azure Cosmos DB para NoSQL é otimizado para cargas de trabalho pesadas de gravação. As operações em um único documento são atômicas com velocidades de gravação indexadas rápidas e previsíveis. O Azure Cosmos DB para NoSQL também é distribuído globalmente e elástico para atender às necessidades de várias cargas de trabalho de IoT.

Architectural diagram for an IoT workload showing increasing numbers of IoT device sensors sending data to an Azure IoT Hub. Azure Databricks then ingests and aggregates the real-time data in JSON format for storage in Azure Cosmos DB. Finally, Azure Synapse Analytics is used to perform a deeper analysis of the data stored in Azure Cosmos DB.

Neste exemplo, um número crescente de dispositivos IoT está enviando dados do sensor para um Hub IoT do Azure. Em seguida, o Azure Stream Analytics ingere e agrega os dados para armazenamento no Azure Cosmos DB para NoSQL. Em seguida, o Azure Synapse Analytics executa uma análise quase em tempo real sobre os dados usando o Azure Synapse Link for Azure Cosmos DB.

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.

Architectural diagram for a retail workload showing a user browser connecting to the website on Azure App Service supported by an Azure Blob Storage account containing static site data. Behind the scenes, an Azure Cosmos DB for NoSQL account with a container for inventory data and a container for shopping cart data is used by the App Service Web App and an Azure Search instance that builds a searchable catalog by indexing the Azure Cosmos DB for NoSQL account with inventory data.

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.

Architectural diagram for a web workload showing a user browser connecting to a URL that is connected to Azure Traffic Manager to determine the correct redirect destination. Then three Azure App Service instances in three Azure regions (North Europe, West US, East US) are connected to a globally distributed Azure Cosmos DB for NoSQL account.

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. A sua equipa está a construir a sua montra online. 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.

Architectural diagram for a retail workload showing a growing number of users ordering products and a collection of compute resources handling requests from the storefront instances. Behind the compute resources, Azure Cosmos DB stores purchase data. Then, Azure Synapse Link connects Azure Cosmos DB to Azure Synapse Analytics for deeper analytics. Finally, Azure Functions, triggered off of change feed, processing data events that then trigger an Azure Logic Apps workflow to perform business operations such as notifying the user on their mobile device of new events.

Este exemplo é semelhante ao exemplo da introdução deste módulo. Para desenvolver 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.