Funcionamiento de Azure Cosmos DB for NoSQL
Ahora que conoce los conceptos básicos de Azure Cosmos DB, se verá qué recursos e información son necesarios para empezar a trabajar con una cuenta. Esta información debería ayudarle a decidir si Azure Cosmos DB for NoSQL funciona para su conjunto de datos. Además, debería ayudarle a decidir cuánta configuración adicional es necesaria, si es que es necesaria alguna.
¿Cuáles son los componentes de Azure Cosmos DB for NoSQL?
Para empezar a usar Azure Cosmos DB, cree primero varios recursos en Azure, como cuentas, bases de datos, contenedores y elementos.
Cuentas
Cuentas son las unidades fundamentales de alta disponibilidad y aislamiento de inquilinos para las aplicaciones SaaS. En el nivel de cuenta, puede configurar las regiones para los datos en Azure Cosmos DB for NoSQL. Las cuentas también contienen el nombre DNS único global que se usa para las solicitudes de API. También puede establecer el nivel de coherencia predeterminado para las solicitudes a nivel de cuenta. Puede administrar o crear cuentas mediante Azure Portal, plantillas de Azure Resource Manager, la CLI de Azure o Azure PowerShell.
Bases de datos
Cada cuenta puede contener una o varias bases de datos. Una base de datos es una unidad lógica de administración de contenedores en Azure Cosmos DB for NoSQL.
Contenedores
Los contenedores son la unidad fundamental de escalabilidad en Azure Cosmos DB for NoSQL. Con Azure Cosmos DB, el rendimiento se aprovisiona en el nivel del contenedor. Opcionalmente, también puede configurar una directiva de indexación o un valor de período de duración predeterminado en el nivel de contenedor. Azure Cosmos DB for NoSQL dividirá de manera automática y transparente los datos de un contenedor.
Elementos
La API NoSQL de Azure Cosmos DB almacena documentos individuales en formato JSON como elementos dentro del contenedor. Azure Cosmos DB for NoSQL admite archivos JSON de manera nativa y puede proporcionar un rendimiento rápido y predecible, ya que las operaciones de escritura en documentos JSON son atómicas.
Creación de particiones y claves de partición
Se requiere cada contenedor de Azure Cosmos DB for NoSQL para especificar una ruta de acceso de clave de partición que se usa para distribuir los datos para el escalado horizontal. En segundo plano, Azure Cosmos DB for NoSQL usa esta ruta de acceso para crear particiones lógicas de los datos mediante valores de clave de partición. Por ejemplo, considere el siguiente documento JSON:
{
"id": "35b5bf7d-5f0e-4209-b7cb-8c5c70c3bb59",
"deviceDisplayName": "shared-printer",
"acquiredYear": 2019,
"department": {
"name": "information-technology",
"metadata": {
"location": "floor-5-unit-27"
}
},
"queuedDocuments": [
{
"sender": "user-293749329",
"sentTime": "2019-07-26T05:12:37",
"pages": 5,
"spoolRef": "3f4b759c-3230-4269-a88e-de7620ad91c0"
},
{
"device": {
"type": "mobile"
},
"sentTime": "2019-11-12T13:08:42",
"spoolRefs": [
"6a86682c-be5a-4a4a-bacd-96c4d1c7ece6",
"79e78fe2-93aa-4688-89db-a7278b034aa6"
]
}
]
}
Si el contenedor especifica una ruta de acceso de clave de partición de /department/name
, el valor de la clave de partición de este documento sería information-technology
. En segundo plano, Azure Cosmos DB for NoSQL administra automáticamente los recursos físicos necesarios para admitir la carga de trabajo de datos.
Seleccionar una ruta de acceso de clave de partición para un contenedor es fundamental para permitir que las aplicaciones se escalen y es una de las decisiones de diseño más importantes para una nueva carga de trabajo. Revise la documentación sobre la elección de una clave de partición para obtener una explicación técnica más detallada y los procedimientos recomendados.