Introducción
Azure Cosmos DB es la base de datos NoSQL totalmente administrada de Microsoft en Azure. Como base de datos NoSQL, Azure Cosmos DB es no relacional y escalable horizontalmente o se escala horizontalmente. Esta capacidad para escalar horizontalmente se logra agregando más nodos o particiones a un contenedor.
Esta capacidad de escalado horizontal permite que los contenedores crezcan a un tamaño teóricamente infinito. Por lo tanto, a medida que un contenedor crece en tamaño, el contenedor también puede controlar el número creciente de solicitudes, lo que proporciona el mismo rendimiento independientemente del tamaño que obtiene el contenedor.
Sin embargo, para lograr este nivel de escalabilidad, los usuarios deben comprender los conceptos y técnicas únicos de Azure Cosmos DB para modelar y crear particiones de datos. Los usuarios también deben comprender los conceptos para las bases de datos NoSQL en general.
Escenario
Imagine que trabaja para una startup minorista que está diseñando una base de datos para administrar pedidos en línea. Está trabajando en una propuesta para un diseño eficaz de bases de datos mediante Azure Cosmos DB for NoSQL. Se le proporciona un modelo de relación de entidad desde el que empezar. Quiere proporcionar la máxima escalabilidad, rendimiento y eficacia posibles y para lograr esta tarea es necesario modelar los datos correctamente.
El siguiente diagrama de relación de entidad (modelo ER) proporciona los detalles de las nueve entidades con las que espera trabajar. El modelo relacional tiene nueve entidades en sus propias tablas.
¿Cómo logramos esto?
En este módulo, tomamos nuestro modelo de datos relacionales existente y lo rediseñamos como una base de datos NoSQL para nuestra aplicación de comercio electrónico. Durante este proceso, aprenderá los siguientes conceptos:
- Diferencias entre las bases de datos relacionales y NoSQL: Explorará algunas de las diferencias entre las bases de datos NoSQL y las bases de datos relacionales, y por qué son así.
- Usar patrones de acceso a datos de aplicación para modelar datos: Aprenderá que el hecho de comprender la manera en que una aplicación lee y escribe datos influye en cómo modelarla como una base de datos NoSQL.
- Insertar frente a hacer referencia: Aprenderá cuándo debe insertar datos en el mismo documento en comparación con almacenarlos en un documento independiente.
- Elección de una clave de partición: Aprenderá los conceptos clave necesarios para elegir la mejor clave de partición para lograr la capacidad de escalar horizontalmente y optimizar las cargas de trabajo que son de lectura o escritura pesadas, o ambas.
- Modelar datos de búsqueda o referencia: Por último, aprenderá a modelar datos que se utilizan como búsqueda o referencia para otros datos.
¿Cuál es el objetivo principal?
Cuando finalice este módulo y el módulo complementario, Optimización de la base de datos mediante patrones de modelado avanzados para Azure Cosmos DB, tendrá los conocimientos y las aptitudes para modelar y particionar correctamente los datos de una base de datos NoSQL implementada en Azure Cosmos DB.
Después de completar este módulo, podrá:
- Determinará los patrones de acceso para los datos.
- Aplicará estrategias de particiones y modelos de datos para permitir una base de datos NoSQL eficaz y escalable.