Cuándo se debe usar Azure Cosmos DB for NoSQL

Completado

Azure Cosmos DB for NoSQL es un servicio de bases de datos NoSQL totalmente administrado para el desarrollo de aplicaciones modernas. Proporciona tiempos de respuesta garantizados de milisegundos de un solo dígito y una disponibilidad del 99,999%, respaldados por acuerdos de nivel de servicio con escalabilidad automática e instantánea.

En escenarios empresariales, Azure Cosmos DB for NoSQL tiene un conjunto completo de contratos de nivel de servicio (SLA) con respaldo financiero que abarcan el rendimiento, la coherencia, la disponibilidad y la latencia.

Casos de uso comunes para Azure Cosmos DB for NoSQL

Como base de datos NoSQL rápida con una API flexible, Azure Cosmos DB for NoSQL es adecuado para aplicaciones de alto rendimiento con alcance global. La velocidad y la flexibilidad hacen que Azure Cosmos DB para NoSQL sea ideal para aplicaciones web, comerciales, IoT, de juegos y para dispositivos móviles. Azure Cosmos DB para NoSQL es una buena opción para aplicaciones que requieren flexibilidad, un tiempo de respuesta bajo y transacciones a gran volumen o velocidad.

IoT y telemetría

Las cargas de trabajo de sensores de IoT pueden ser diversas e impredecibles. Estas cargas de trabajo necesitan una plataforma de base de datos que responda y tenga capacidad de escalarse elásticamente para satisfacer las necesidades de tantos dispositivos de recopilación de datos implementados en cualquier momento como sea posible. En muchos casos, las cargas de trabajo de IoT también pueden escribir grandes volúmenes de datos y se beneficiarían de una plataforma de base de datos optimizada para las operaciones de escritura. Azure Cosmos DB for NoSQL está optimizado para cargas de trabajo con numerosas operaciones de escritura. Las operaciones en un solo documento son atómicas, con velocidades de escritura indexadas rápidas y predecibles. Azure Cosmos DB for NoSQL también se distribuye globalmente y es elástico para satisfacer las necesidades de varias cargas de trabajo 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.

En este ejemplo, un número creciente de dispositivos IoT envían datos de sensor a una instancia de Azure IoT Hub. Después, Azure Stream Analytics ingiere y agrega los datos para el almacenamiento en Azure Cosmos DB for NoSQL. Luego, Azure Synapse Analytics realiza análisis casi en tiempo real sobre los datos mediante Azure Synapse Link para Azure Cosmos DB.

Venta minorista y marketing

Azure Cosmos DB for NoSQL es una opción excelente para cargas de trabajo de marketing y venta minorista que pueden experimentar oscilaciones de uso drásticas e inesperadas en cualquier momento a lo largo del año. La escala elástica de Azure Cosmos DB for NoSQL garantiza que la plataforma de base de datos puede controlar las solicitudes durante fases de uso máximo y ahorrar dinero durante las horas de uso estándar.

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.

En este ejemplo, una aplicación web de JavaScript, creada a partir de contenido almacenado en Azure Blob Storage, usa Azure Cosmos DB for NoSQL como base de datos de respaldo. Se usan varias cuentas para administrar distintas facetas de la solución, como el carro de la compra, el inventario o el catálogo. La solución usa entonces Azure Search para indexar los datos de Azure Cosmos DB para NoSQL, lo que proporciona una experiencia de búsqueda enriquecida a los usuarios finales.

Web y dispositivos móviles

Muchas aplicaciones sociales modernas generan una gran cantidad de contenido generado por el usuario en multitud de cantidades, formas y volúmenes. Azure Cosmos DB for NoSQL es un candidato excelente para esta carga de trabajo, ya que esta API puede almacenar datos de distintos esquemas. Considere la API SQL para datos que puedan tener esquemas que cambian o evolucionan en el tiempo a medida que las iniciativas de la empresa se expanden en áreas nuevas.

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.

En este ejemplo, un usuario utiliza una dirección URL para acceder a un sitio web en su explorador. La dirección URL apunta a Azure Traffic Manager que, después, usa un algoritmo integrado para determinar a qué punto de conexión de Azure App Service redirigir al usuario. Como Azure Cosmos DB for NoSQL admite la distribución global, solo se necesita una cuenta que se replique entre varias regiones.

Escenario de módulo

Considere el escenario del principio de este módulo:

Imagine que trabaja como desarrollador principal en una empresa minorista. El equipo va a crear el escaparate en línea. Está diseñando un nuevo escaparate para que sea accesible desde distintos dispositivos, incluidos los móviles. El equipo espera un pico de demanda cuando se publique el escaparate y se lancen varias ventas de "gran inauguración".

Una parte clave del éxito de la tienda es la capacidad de la empresa de notificar a los usuarios las actualizaciones sobre los envíos, con independencia del dispositivo en el que realicen el pedido o que usen actualmente. El equipo ha trabajado duro en un sistema sofisticado para administrar el seguimiento del estado de un pedido detallado. La estrecha integración de Azure Cosmos DB con otros servicios de Azure le permite considerar la creación de soluciones que utilicen datos de pedidos en Azure Cosmos DB para NoSQL para enviar notificaciones a los dispositivos móviles de los usuarios. Las notificaciones les avisan cuando su paquete se envía o está pendiente de 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 ejemplo es similar al de la introducción de este módulo. Para ampliar el primer ejemplo, el equipo decidió presentar Azure Cosmos DB for NoSQL como la base de datos elegida. Ahora, el equipo puede usar Azure Synapse Link para preparar y agregar datos para un análisis más profundo mediante Azure Synapse Analytics. El equipo también puede usar servicios como Azure Functions para reaccionar a eventos de datos con Azure Cosmos DB y, después, desencadenar un flujo de trabajo de Azure Logic Apps que envía notificaciones a dispositivos móviles.