Introducción a los modelos de datos NoSQL

Antes de comenzar con los modelos de datos, primero comprendamos qué significa NoSQL. NoSQL significa no el único SQL, lo que significa que vamos a recuperar y almacenar datos de bases de datos no relacionales. ¿Ahora veamos qué modelo de datos es? Un modelo de datos define la estructura lógica de DBMS. Esto básicamente significa que nos dice cómo se conectan los datos entre sí, las relaciones entre varias entidades y cómo se procesan. Las técnicas de modelado de datos son diferentes para bases de datos relacionales y no relacionales. La principal diferencia es que los modelos de datos NoSQL tienen más consultas específicas de la aplicación en comparación con SQL.

Sintaxis con parámetros

La sintaxis para escribir una consulta NoSQL se proporciona con un ejemplo. En este ejemplo, vamos a recuperar el nombre y la edad de todos los empleados con designación como Gerente.

(
"object": "employee",
"q": (
"designation" : " Manager"
),
"fields": ("name", "age") )

En el ejemplo anterior, hemos usado el formulario JSON para escribir una palabra clave de "objeto" de consulta que se usa para asignar un nombre de tabla, la palabra clave "q" se usa como una condición WHERE. En nuestro caso, se debe aplicar una condición sobre la designación, ya que solo queremos empleados cuya designación sea el gerente. La clave "campo" son los nombres de las columnas que queremos recuperar en función de la condición en "q". En nuestro caso, las columnas son nombre y edad.

La consulta NoSQL anterior si se convierte a SQL se verá a continuación:

SELECT name, age
FROM employee
WHERE designation =' manager';

La consulta más corta que podemos escribir es una consulta de selección normal en NoSQL es la siguiente:

(
"object": "String",
"q": "Expression"
)

La consulta anterior es una consulta de selección normal.

Tipos de modelos de datos NoSQL

Ahora aprendamos sobre los diferentes tipos de modelos de datos NoSQL.

En general, hay cuatro tipos diferentes de modelos de datos en NoSQL. Son los siguientes y los discutiremos uno por uno.

  • Tienda de valor clave
  • Tienda basada en documentos
  • Tienda basada en columnas
  • Tienda basada en gráficos

Ahora repasemos uno por uno.

1. Tienda de valor clave

  • Como su nombre indica, el almacén de valores clave simplemente utiliza el valor clave para almacenar datos en la base de datos. La clave en el par clave-valor debe ser única. Las reglas establecidas para lo que la clave puede ser la longitud para el tamaño de la clave depende de la base de datos a la base de datos. Por ejemplo, en Redis, el tamaño máximo para Key es 512mb. Incluso la cadena vacía es una clave válida.
  • El tamaño de la clave es importante aquí, ya que una clave larga puede causar problemas de rendimiento, mientras que una clave demasiado corta puede causar problemas de legibilidad. El valor en el par clave-valor puede ser cualquier cosa, desde una cadena hasta una imagen. También puede especificar el tipo de datos del valor aquí.
  • El modelo de base de datos de valores clave puede ser útil para almacenar datos en el comercio electrónico, como categorías de productos, detalles de productos, etc. Estos se usan ampliamente en análisis de big data. Incluso podemos almacenar URL completas, ya que el nombre de la URL puede ser la clave y la URL real como valor. Ejemplos de bases de datos que aplican pares clave-valor son la base de datos Oracle NoSQL y Redis.

2. Tienda basada en documentos NoSQL

  • En este tipo de base de datos, el registro y sus datos asociados se almacenan en un solo documento. Por lo tanto, este modelo no está completamente desestructurado, pero es un tipo de datos semiestructurados.
  • La diferencia entre un documento y un par de valores clave es que en el almacenamiento del tipo de documento es que en este tipo se proporciona algún tipo de codificación mientras se almacenan los datos en los documentos. Puede ser codificación XML o codificación JSON.
  • El siguiente ejemplo muestra un documento que puede almacenarse en una base de datos de documentos pero con una codificación diferente. Veamos el ejemplo XML.


Srikanth Engineer
Febuary

Srikanth Engineer
Febuary

  • La diferencia entre las bases de datos convencionales y las bases de datos basadas en documentos es que los datos aquí no se almacenan en tablas como las bases de datos convencionales, sino que se almacenan en documentos.
  • Los ejemplos de bases de datos que utilizan el modelo de datos anterior son MongoDB y Couchbase. Este tipo de bases de datos se utilizan ampliamente, especialmente en el análisis de big data.

3. Tienda basada en columnas

  • En este tipo de base de datos, la atención se centra en columnas en lugar de filas, ya que los datos se almacenan en columnas en lugar de filas, como es el caso de la mayoría de las bases de datos relacionales. Dado que los datos se almacenan en celdas agrupadas en columnas, toda lectura-escritura se realiza utilizando columnas, no filas.
  • La pregunta interesante que surge es que ¿por qué usar columnas en lugar de filas? La respuesta a esta pregunta es que cuando almacena datos en columnas, puede realizar una búsqueda rápida y una recuperación y agregación rápidas porque almacena todas las celdas de una columna como una entrada continua que luego permite un acceso más rápido.
  • Como ejemplo, si queremos consultar títulos de millones de artículos, será fácil ingresar al modelo de datos basado en columnas, ya que con una entrada de disco obtendremos los títulos del artículo fácilmente, mientras que en las bases de datos relacionales debe superarse a cada ubicación para obtener los títulos. Ejemplos de bases de datos de tiendas basadas en columnas son HBase, Big Table, Cassandra.

4. Tienda basada en gráficos

  • Como su nombre indica, se utiliza la representación gráfica en lugar de la representación de tablas o columnas. La característica importante de este tipo de modelo de datos es la presencia de nodos y bordes. Los dos nodos, por ejemplo, están conectados con algunas relaciones y la relación aquí está representada por bordes.
  • Además, puede transformar eficientemente datos de un modelo a otro utilizando este modelo de datos NoSQL basado en gráficos. Hay dos bases de datos basadas en gráficos de uso común que son InfoGrid e Infinite Graph. InfoGrid también ofrece dos tipos de bases de datos gráficas como MeshBase y NetMeshbase que los usuarios pueden elegir según los requisitos del usuario.

Conclusión

En este artículo, hemos discutido la base de datos NoSQL y diferentes tipos de modelos NoSQL y discutimos esos modelos individualmente. Los diferentes tipos de bases de datos disponibles en cada tipo de modelo de datos. La popularidad de la base de datos NoSQL está creciendo con cada día que pasa debido a su velocidad y eficiencia.

Artículos recomendados

Esta es una guía para los modelos de datos NoSQL. Aquí discutimos los tipos de modelos de datos NoSQL y la sintaxis con parámetros y explicaciones. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. Ventajas de NoSQL
  2. Es MongoDB NoSQL
  3. ¿Qué es la tecnología Big Data?
  4. ¿Qué es el análisis de datos?