Cuándo se debe usar Azure Cosmos DB for NoSQL
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.
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.
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.
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.
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.