GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Tipos de bases de datos NoSQL

Introducción

NoSQL es una alternativa a las bases de datos SQL tradicionales. Con el tiempo, las bases de datos relacionales demostraron ser inadecuadas para casos de uso específicos. Estas limitaciones variaron según la aplicación que necesitaban admitir.

Diferentes desarrolladores enfocados en superar diferentes desafíos de acuerdo a sus necesidades. Como resultado, ahora tiene diferentes tipos de bases de datos NoSQL.

Este tutorial se centra en los tipos de bases de datos NoSQL. Para obtener una guía más detallada sobre NoSQL, sus características y cuándo usarlo, visite nuestro artículo ¿Qué es NoSQL?

Tipos de bases de datos NoSQL

Hay cuatro tipos populares de bases de datos NoSQL:

  1. Bases de datos de valores-clave
  2. Bases de datos de documentos
  3. Bases de datos de columna ancha
  4. Bases de datos de gráficos

Base de datos de valores clave

Las bases de datos clave-valor son el tipo más simple de base de datos NoSQL. Gracias a su simplicidad, también son los más escalables, lo que permite escalar horizontalmente grandes cantidades de datos.

Estas bases de datos NoSQL tienen una estructura de datos de diccionario que consta de un conjunto de objetos que representan campos de datos. A cada objeto se le asigna una clave única. Para recuperar datos almacenados en un objeto en particular, debe usar una clave específica. A su vez, obtiene el valor (es decir, datos) asignado a la clave. Este valor puede ser un número, una cadena o incluso otro conjunto de pares clave-valor.

A diferencia de las bases de datos relacionales tradicionales, las bases de datos de clave-valor no requieren una estructura predefinida. Ofrecen más flexibilidad a la hora de almacenar datos y tienen un rendimiento más rápido. Sin tener que depender de marcadores de posición, las bases de datos de valores clave son una solución más liviana ya que requieren menos recursos.

Tales funcionalidades son adecuadas para grandes bases de datos que manejan datos simples. Por lo tanto, se usan comúnmente para almacenamiento en caché , almacenamiento y administrar sesiones de usuario , servicio de anuncios y recomendaciones .

Redis, Project Voldemort y Riak son solo algunos ejemplos de bases de datos de clave-valor.

Base de datos de documentos

Una base de datos de documentos es un tipo de base de datos NoSQL que consta de conjuntos de pares clave-valor almacenados en un documento. Estos documentos son unidades básicas de datos que también puede agrupar en colecciones (bases de datos) según su funcionalidad.

Al ser una base de datos NoSQL, puede almacenar datos fácilmente sin implementar un esquema. Puede transferir el modelo de objetos directamente a un documento usando varios formatos diferentes. Los más utilizados son JSON, BSON y XML.

Este es un ejemplo de un documento simple en formato JSON que consta de tres pares clave-valor:

{
"ID" : "001",
"Name" : "John",
"Grade" : "Senior",
}

Además, también puede utilizar consultas anidadas en dichos formatos, lo que proporciona una distribución de datos más sencilla en varios discos y un rendimiento mejorado.

Por ejemplo, podemos agregar una cadena de valor anidado al documento anterior:

{
 "ID" : "001",
 "Name" : "John",
 "Grade" : "Senior",
 "Classes" : {
      "Class1" : "English"
      "Class2" : "Geometry" 
      "Class3" : "History"
   } 
}

Debido a su estructura, las bases de datos de documentos son óptimas para casos de uso que requieren flexibilidad y un desarrollo rápido y continuo. Por ejemplo, puede usarlos para administrar perfiles de usuario , que difieren según la información proporcionada. Su estructura sin esquema le permite tener diferentes atributos y valores.

Los ejemplos de bases de datos de documentos NoSQL incluyen MongoDB, CouchDB, Elasticsearch y otros.

Base de datos de columna ancha

Los almacenes de columna ancha son otro tipo de base de datos NoSQL. En ellos, los datos se almacenan y agrupan en columnas almacenadas por separado en lugar de filas. Estas bases de datos organizan la información en columnas que funcionan de manera similar a las tablas de las bases de datos relacionales.

Sin embargo, a diferencia de las bases de datos tradicionales, las bases de datos de columnas anchas son muy flexibles. No tienen claves predefinidas ni nombres de columna. Su característica libre de esquemas permite la variación de los nombres de las columnas incluso dentro de la misma tabla, además de agregar columnas en tiempo real.

El beneficio más significativo de tener bases de datos orientadas a columnas es que puede almacenar grandes cantidades de datos dentro de una sola columna. Esta función le permite reducir los recursos del disco y el tiempo que lleva recuperar información del mismo. También son excelentes en situaciones en las que tiene que distribuir datos entre varios servidores.

Ejemplos de bases de datos populares de columna ancha incluyen Apache Cassandra, HBase y CosmoDB.

Base de datos de gráficos

Las bases de datos de gráficos utilizan una representación gráfica flexible para administrar los datos.

Estos gráficos constan de dos elementos:

  1. Nodos (para almacenar entidades de datos)
  2. Bordes (para almacenar la relación entre entidades)

Estas relaciones entre entidades permiten que los datos del almacén se vinculen directamente y, en muchos casos, se recuperen con una sola operación. Los nodos y los bordes tienen propiedades definidas y, al usar estas propiedades, puede consultar datos fácilmente.

Dado que este tipo de almacenamiento de datos es bastante específico, no es una base de datos NoSQL de uso común. Sin embargo, existen ciertos casos de uso en los que contar con representaciones gráficas es la mejor solución. Por ejemplo, las redes sociales suelen utilizar gráficos para almacenar información sobre cómo se vinculan sus usuarios.

OrientDB, RedisGraph y Neo4j son solo algunos ejemplos de bases de datos de gráficos que debería considerar usar.


Ubuntu
  1. ¿Qué es la base de datos NoSQL? – Explicación de NoSQL

  2. Cómo instalar la base de datos Apache Cassandra NoSQL en CentOS 8

  3. Mostrar tipos de bases de datos MySQL en bash

  4. Configuración de conexión para bases de datos MySQL

  5. Trabajar con bases de datos cPanel MySQL

Cómo instalar la base de datos ArangoDB NoSQL en Ubuntu 18.04 LTS

Cómo instalar la base de datos Apache CouchDB NoSQL en CentOS 8

Cómo instalar la base de datos RavenDB NoSQL en Ubuntu 20.04

Cómo instalar la base de datos Apache Cassandra NoSQL en Debian 11

Cómo Agregar una Base de Datos (Panel de Control Plesk)

Descripción general de los tipos de bases de datos distribuidas y la seguridad