Qué es Azure Cosmos DB for NoSQL
Vamos a empezar con algunas definiciones y un recorrido rápido por Azure Cosmos DB for NoSQL. Esta introducción debería ayudarle a ver si Azure Cosmos DB podría ser una buena opción para el trabajo.
¿Qué es una base de datos NoSQL?
Los desarrolladores necesitan nuevos tipos de bases de datos que puedan satisfacer los desafíos únicos de las aplicaciones modernas. Las bases de datos NoSQL se diseñaron para abordar necesidades como:
- Grandes volúmenes de datos.
- Datos con muchos orígenes y formatos diferentes.
- Esquemas de datos dinámicos que almacenan diferentes tipos de datos.
- Uso de datos de alta velocidad o en tiempo real.
Las bases de datos NoSQL se definen mediante las características comunes que comparten, en lugar de una definición formal específica. Estas características incluyen las siguientes:
- Un almacén de datos no relacional.
- Diseño para escalar horizontalmente.
- No exigir la aplicación de un esquema específico.
Por lo general, las bases de datos NoSQL no aplican restricciones relacionales ni bloqueos a los datos, lo que acelera las operaciones de escritura. También, se suelen diseñar para escalar horizontalmente mediante la creación de particiones, lo que les permite mantener un alto rendimiento con independencia del tamaño.
Aunque hay muchos modelos de datos NoSQL, normalmente se usan cuatro familias amplias al modelar los datos en una base de datos NoSQL:
A partir de ahora, nos centraremos en el modelo de datos que Azure Cosmos DB for NoSQL admite: modelo de datos de documentos.
¿Por qué usar una base de datos NoSQL con el modelo de datos de documento?
El modelo de datos de documento divide los datos en entidades de documento individuales. Un documento puede ser cualquier tipo de datos estructurado, pero normalmente se usa JSON como formato de datos. Azure Cosmos DB for NoSQL admite JSON de manera nativa.
Un documento es una entidad atómica y puede tener un formato de datos propio, con independencia de lo que se almacene en otros documentos de la misma base de datos. Debido a esta flexibilidad, no se necesita un esquema predefinido, lo que facilita la creación rápida de aplicaciones. Además, esta flexibilidad permite escenarios en los que se pueden almacenar juntos distintos tipos de datos y donde los modelos pueden evolucionar a lo largo de la duración de una aplicación.
¿Qué es un documento JSON?
La notación de objetos JavaScript, o JSON, es un formato de datos ligero. JSON se ha creado para ser altamente compatible con la notación literal de un objeto en el lenguaje JavaScript. Muchos marcos, exploradores e incluso bases de datos admiten JavaScript de forma nativa, lo que hace que JSON sea un formato popular para transmitir y almacenar datos.
Este es un ejemplo de un documento JSON:
{
"device": {
"type": "mobile"
},
"sentTime": "2019-11-12T13:08:42",
"spoolRefs": [
"6a86682c-be5a-4a4a-bacd-96c4d1c7ece6",
"79e78fe2-93aa-4688-89db-a7278b034aa6"
]
}
Como puede ver, JSON es un formato de datos relativamente legible que expone claramente su contenido. JSON también es relativamente fácil de analizar y usar en aplicaciones JavaScript.
¿Qué es Azure Cosmos DB for NoSQL?
Azure Cosmos DB for NoSQL es un servicio rápido de base de datos NoSQL y vectorial que ofrece consultas enriquecidas sobre diversos datos y admite una nueva generación de aplicaciones de inteligencia artificial generativa. Ayuda a proporcionar un rendimiento configurable y de confianza, se distribuye de manera global y posibilita un desarrollo rápido.
La API NoSQL es la API básica o nativa para trabajar con documentos. La API NoSQL admite un desarrollo rápido y flexible que utiliza documentos JSON, un lenguaje de consulta con una sintaxis conocida y bibliotecas cliente para lenguajes de programación populares. Azure Cosmos DB también proporciona funcionalidades únicas, como la indexación y búsqueda de vectores, lo que permite a los usuarios crear una nueva raza de aplicaciones de inteligencia artificial generativa a través de los datos de los usuarios que se pueden escalar rápidamente de forma eficaz.
Azure Cosmos DB for NoSQL tiene algunas ventajas, como las siguientes:
- Base de datos de vectores líder del sector con indexación de vectores y búsqueda diseñadas para controlar vectores de alta dimensionalidad, lo que permite un vector de búsqueda vectorial eficaz y precisa a cualquier escala.
- Velocidad garantizada a cualquier escala incluso a través de ráfagas—con elasticidad instantánea, ilimitada, lecturas rápidas y escrituras multimaestro, en cualquier lugar del mundo.
- Desarrollo rápido y flexible de aplicaciones con SDK para lenguajes y marcos populares, como .NET, Java, Python, JavaScript y GO, así como análisis sin ETL (extracción, transformación y carga).
- Listo para aplicaciones críticas con continuidad empresarial garantizada, disponibilidad del 99,999 % y seguridad de nivel empresarial.
- Totalmente administrado y rentable con una oferta totalmente completa sin servidor, así como escalado instantáneo, automático y dinámico que responde a las necesidades de la aplicación.
Estas funcionalidades hacen que Azure Cosmos DB sea idóneo para el desarrollo de aplicaciones modernas. Azure Cosmos DB for NoSQL es especialmente adecuada para aplicaciones que:
- Experimentan picos y caídas impredecibles en el tráfico
- Generan gran cantidad de datos
- Tienen que ofrecer experiencias de usuario en tiempo real
- Se necesitan para la continuidad empresarial
Azure Cosmos DB for NoSQL puede almacenar documentos JSON nativos con esquema flexible. Los datos se indexan de forma automática y están disponibles para la consulta mediante una variante del lenguaje de consulta SQL diseñada para datos JSON. Se puede acceder a la API NoSQL mediante SDK para marcos populares, como .NET, Python, Java, Node.js y GO