GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Lista de bases de datos NoSQL para 2021

Introducción

NoSQL (abreviatura de "Not Only SQL") es una alternativa a las bases de datos tradicionales, enfocada en capturar y procesar grandes cantidades de datos.

Existen varios tipos de bases de datos NoSQL, cada una con un enfoque único para el modelado de datos y diferentes casos de uso.

En este tutorial, brindaremos una breve descripción general de varios tipos de bases de datos NoSQL y enumeraremos algunos de los ejemplos populares para cada uno.

Tipos de bases de datos NoSQL

Los cuatro tipos más populares de bases de datos NoSQL son bases de datos clave-valor, bases de datos basadas en documentos, bases de datos basadas en gráficos y bases de datos basadas en columnas anchas:

Bases de datos de valores-clave

Bases de datos de valores-clave organice los datos en pares de claves y valores, donde cada clave está vinculada a un objeto específico, que representa un campo de datos. Proporcionar una clave le permite ver los datos almacenados en el objeto con el que está emparejado.

Este es el tipo de base de datos NoSQL más simple y escalable, que ofrece flexibilidad y rendimiento mejorado.

Bases de datos NoSQL basadas en documentos

Bases de datos basadas en documentos también use pares clave-valor que almacenan en documentos. Estos documentos se agrupan en colecciones según su contenido y uso.

Estas bases de datos suelen almacenar datos como formularios JSON, XML, BSON o YAML, normalmente sin implementar un esquema. Este enfoque los hace adecuados para casos que requieren una estructura flexible y la capacidad de agregar y recuperar datos rápidamente.

Bases de datos basadas en gráficos

Bases de datos basadas en gráficos representar datos como una colección de nodos (elementos de datos) conectados por bordes . En esta estructura de datos, los nodos contienen piezas de datos, mientras que los bordes definen las relaciones entre ellos.

Este tipo de base de datos se usa comúnmente para representar relaciones entre diferentes entradas de datos, como conexiones de amigos en redes sociales. Los usuarios pueden realizar consultas complejas y extraer directamente varios datos al mismo tiempo.

Bases de datos basadas en columnas anchas

Bases de datos basadas en columnas anchas almacenar datos en columnas separadas, de forma similar a cómo se almacenan los datos en tablas con bases de datos relacionales. A diferencia de las bases de datos relacionales, las bases de datos de columnas anchas no usan claves predefinidas ni nombres de columnas.

Esto permite variaciones en los nombres de las columnas, incluso dentro de la misma tabla. También es fácil agregar grandes cantidades de datos como columnas nuevas o agrupar las existentes en familias de columnas.

Bases de datos de objetos

Bases de datos de objetos almacenar elementos de datos como objetos para ser utilizados en la programación orientada a objetos. Están diseñados para trabajar con lenguajes de programación como Python, Ruby, Delphi, Java, etc.

Bases de datos en cuadrícula y en la nube

Bases de datos en cuadrícula y en la nube use una cuadrícula de datos:una red de sistemas que funcionan con datos accesibles a través de la nube.

Este tipo de base de datos funciona con modelos de datos SQL y NoSQL y normalmente se ofrece como una base de datos como servicio.

Bases de datos multimodelo

Finalmente, bases de datos multimodelo combinar las características de dos o más tipos de bases de datos diferentes. Esto les permite proporcionar una solución para casos de uso únicos en los que otros tipos de bases de datos no son adecuados.

Lista de bases de datos NoSQL

A continuación se muestra una lista de bases de datos NoSQL para 2021, organizadas en secciones por tipo de base de datos:

Lista de bases de datos de valores-clave

Redis

Redis funciona como un servidor de estructura de datos que almacena datos en la memoria. Esto significa que Redis lee y modifica datos de la memoria principal, pero también tiene persistencia integrada. Esta función permite guardar datos en el disco para que se puedan reconstruir si el sistema se reinicia.

Ventajas de usar Redis:

  • Trabajar en memoria permite un alto rendimiento y flexibilidad.
  • Compatibilidad con muchos tipos de datos y lenguajes de programación diferentes.
  • Fácil de escalar y compatible con la partición automática.

Aerospike

Al igual que Redis, Aerospike es una base de datos NoSQL en memoria de código abierto. Aerospike está optimizado para uso minorista en línea gracias a su alto rendimiento y la capacidad de combinar datos de transacciones con análisis.

Ventajas de usar Aerospike:

  • Rendimiento confiable con latencia muy baja.
  • Una buena relación precio-rendimiento lo hace adecuado para pequeñas empresas.

Riak

Riak almacena pares clave-valor en objetos de datos que llama "cubos". Admite una amplia gama de formatos de datos y enfatiza la estabilidad de los datos y el rendimiento predecible.

Ventajas de usar Riak:

  • Los pares clave-valor se guardan en grupos de tres nodos, con la opción de replicar los datos en nodos adicionales para realizar copias de seguridad.
  • Los datos se pueden almacenar en la memoria, en discos o en ambos.
  • La replicación de varios centros de datos permite realizar copias de seguridad de sus datos en centros de datos en diferentes ubicaciones.

Proyecto Voldemort

LinkedIn utiliza Project Voldemort como su solución para el almacenamiento de valores clave de alta escalabilidad. Funciona como una tabla hash distribuida, tolerante a fallas y persistente.

Ventajas de usar Proyecto Voldemort:

  • Los datos se replican y se dividen automáticamente en varios servidores.
  • Los complementos de almacenamiento y serialización están disponibles.
  • Buen rendimiento de un solo nodo.

Lista de bases de datos NoSQL basadas en documentos

MongoDB

MongoDB es una base de datos ágil y de código abierto que utiliza una amplia gama de empresas en diferentes industrias. Almacena documentos como objetos JSON que pueden cambiar esquemas rápidamente según sus necesidades.

Ventajas de usar MongoDB:

  • Fácil de escalar desde un solo servidor a sistemas complejos.
  • Proporciona constantemente un alto rendimiento.
  • Alta fiabilidad gracias a la replicación y el equilibrio de carga.

Servidor Couchbase

Couchbase Server (conocido inicialmente como Membase) es una solución de base de datos distribuida de código abierto. La intención principal del diseño es trabajar con aplicaciones interactivas para almacenar grandes cantidades de datos de usuario como objetos JSON.

Ventajas de usar Couchbase Server:

  • La administración de clústeres permite escalar rápidamente.
  • Replicación personalizable, incluso entre centros de datos.

CouchDB

CouchDB es una base de datos de código abierto escrita en Erlang. Ofrece funciones como control de concurrencia de múltiples versiones (usando la semántica ACID), replicación multimaestro y asignación/reducción.

Ventajas de usar CouchDB:

  • Capaz de replicar datos en dispositivos como teléfonos inteligentes para acceder sin conexión.
  • Garantiza la consistencia eventual, brindando disponibilidad y tolerancia a la partición.

Búsqueda elástica

Elasticsearch es una base de datos distribuida que funciona como un motor de búsqueda capaz de realizar búsquedas de texto completo con coincidencia aproximada. Se incluye en la licencia dual:algunas partes están cubiertas por la Licencia pública del lado del servidor, mientras que otras se incluyen en la categoría de licencia patentada de Elastic.

Ventajas de usar Elasticsearch:

  • Puede ampliar las funciones combinando Elasticsearch con otras soluciones, como Logstash (recopilación de datos y análisis de registros), Kibana (análisis) y Beats (envío de datos).
  • Búsqueda escalable en tiempo real con facetas y filtraciones.

Lista de bases de datos basadas en gráficos

Neo4J

Neo4J es una base de datos basada en gráficos de código abierto construida en Java, con funciones adicionales disponibles como parte de su plataforma de datos gráficos. Utiliza el lenguaje de consulta Cypher para ofrecer acceso a una gama más amplia de consultas que otros tipos de bases de datos manteniendo un alto rendimiento.

Ventajas de usar Neo4J:

  • Útil para resolver problemas que requieren sondeos de red repetidos.
  • Facilita el análisis de objetos de datos y sus relaciones.

OrientDB

OrientDB es un sistema de base de datos multimodelo de código abierto con un fuerte énfasis en el modelo de base de datos gráfico. Se puede implementar en cualquier sistema operativo y cuenta con una amplia gama de funciones, que se pueden ampliar aún más mediante la actualización a Enterprise Edition.

Ventajas de usar OrientDB:

  • Un sólido sistema de seguridad basado en usuarios y funciones.
  • Comenzar fácilmente con un curso gratuito de Udemy, amplia asistencia al usuario a través de Stack Overflow.
  • Fácil de importar otras bases de datos relacionales a OrientDB.

RedisGraph

RedisGraph es un módulo de base de datos de gráficos para Redis. Se basa en el modelo Property Graph y utiliza el lenguaje de consulta Cypher para traducir consultas en expresiones de álgebra lineal.

Ventajas de usar RedisGraph:

  • Fácil de combinar con bases de datos Redis existentes.
  • Permite agregar etiquetas de nodos y tipos de relaciones.

Gráfico Infinito

InfiniteGraph es una base de datos distribuida que se enfoca en realizar consultas de objetos complejos. Se utiliza para desarrollar aplicaciones web o móviles que resuelven problemas de gráficos trabajando con conjuntos complejos de big data.

Ventajas de usar InfiniteGraph:

  • Capaz de manejar consultas complejas o paralelas que requieren un alto rendimiento.
  • Copia de seguridad con consistencia flexible (de ACID a relajado).

Lista de bases de datos basadas en columnas anchas

Casandra

Apache Cassandra es una solución de base de datos gratuita y de código abierto creada para manejar grandes cargas de datos con un impacto mínimo en el rendimiento. Twitter, Netflix y Reddit usan Cassandra debido a su alta velocidad y disponibilidad.

Ventajas de usar Cassandra:

  • La replicación asincrónica sin maestro garantiza la protección contra la pérdida de datos sin causar latencia.
  • Se adapta fácilmente a varios centros de datos sin tiempo de inactividad.

Cosmos DB

Azure Cosmos DB de Microsoft es una solución de base de datos propietaria. El producto fue diseñado para ser distribuido globalmente para ayudar a administrar bases de datos escalables horizontalmente a gran escala.

Ventajas de usar Cosmos DB:

  • Se combina con otros servicios de Microsoft Azure para funciones ampliadas.
  • Particionamiento automático en varios centros de datos.

HBase

HBase está diseñado para trabajar con bases de datos extremadamente grandes, con miles de millones de filas y millones de columnas. Se ejecuta sobre el sistema de archivos distribuidos de Hadoop (HDFS) y permite que Hadoop funcione como Bigtable de Google.

Ventajas de usar HBase:

  • Permite un gran rendimiento en una escala de petabytes de datos.
  • Habilita el acceso aleatorio de lectura/escritura en tiempo real a su base de datos.

Acumulo

Apache Accumulo es otra solución construida sobre Hadoop y basada en Bigtable de Google. Mejora el diseño de Bigtable al agregar características como basado en celdas control de acceso y programación del lado del servidor.

Ventajas de usar Accumulo:

  • Puede agregar etiquetas de seguridad a nivel de celda y almacenar datos de diferentes niveles de seguridad en la misma tabla.

Lista de bases de datos de objetos

ObjectDB

ObjectDB es una solución de base de datos de objetos para el desarrollo de Java con soporte integrado para las API de Java. Funciona en modo cliente-servidor o integrado.

Ventajas de trabajar con ObjectDB:

  • Admite varias plataformas y sistemas operativos.
  • Utiliza lenguajes de consulta JDO y JPA.

Base de datos Ninja Pro

Ninja Database Pro presenta un alto nivel de automatización que facilita el uso de los principiantes. Proporciona una forma robusta y rápida de administrar objetos de datos en una base de datos.

Ventajas de utilizar Ninja Database Pro:

  • Puede trabajar con objetos de datos complejos como listas de enlaces dobles, matrices multidimensionales y diccionarios.
  • Cumple con ACID, con cifrado AES integrado.

NeoDB

NeoDB estructura los datos como una red de objetos que se asemejan a un gran árbol. Esta red se denomina espacio de nodos y se centra en los nodos (objetos), sus relaciones y sus propiedades.

Ventajas de usar NeoBD:

  • Bueno para manejar datos semiestructurados, con pocos atributos obligatorios pero muchos opcionales.

Objetividad/DB

Objectivity/DB es una base de datos distribuida que le permite trabajar con objetos de datos en C++, C#, Java o Python sin convertirlos en tablas.

Ventajas de usar Objetividad/DB:

  • Utiliza cualquier lenguaje de programación admitido en el sistema operativo de su elección.
  • Su arquitectura lo convierte en una buena opción para entornos de grid computing.

Lista de bases de datos en la nube y en cuadrícula

Coherencia de Oracle

Oracle Coherence es una cuadrícula de datos en memoria y caché distribuida basada en Java. Administra datos en aplicaciones agrupadas, lo que elimina la necesidad de consultar la base de datos directamente cada vez que necesita administrar datos.

Ventajas de usar Oracle Coherence:

  • Proporciona alta disponibilidad, escalabilidad y baja latencia.

Infinispan

Infinispan es una solución de cuadrícula de datos de código abierto escrita en Java. Infinispan puede integrarse en aplicaciones Java como una biblioteca, y las aplicaciones que no son Java pueden usarlo con TCP/IP.

Ventajas de usar Infinispan:

  • Altamente escalable manteniendo la disponibilidad.
  • Su arquitectura conectable le permite persistir datos en el sistema de archivos u otros administradores de bases de datos.

Hazelcast

Hazelcast es una cuadrícula de datos de código abierto. Se basa en Java y puede ejecutarse localmente, virtualmente, en la nube o en contenedores Docker.

Ventajas de usar Hazelcast:

  • Permite escalar horizontalmente el almacenamiento y la potencia de procesamiento.

Lista de bases de datos multimodelo

ArangoDB

ArangoDB es un administrador de bases de datos gratuito y de código abierto que admite modelos de bases de datos de valores clave, documentos y gráficos.

Ventajas de usar ArangoDB:

  • El lenguaje de consulta AQL le permite dirigirse a diferentes tipos de bases de datos con una sola consulta.
  • Funciona como un clúster distribuido con la opción de implementación de clúster con un solo clic.

Ubuntu
  1. Las 5 mejores herramientas de migración de datos para Linux

  2. ¿Cómo verificar la lista de dependencias para un paquete Deb?

  3. ¿Alternativa para Mendeley para Ubuntu?

  4. ¿Mostrar todos los paquetes sugeridos para los paquetes actualmente instalados?

  5. Bash para ejemplos de bucle

SQL vs NoSQL:¿Cuál es la diferencia?

Cómo enumerar todas las bases de datos en PostgreSQL

Cómo mostrar una lista de todas las bases de datos en MySQL

¿Qué es una base de datos?

Comprender las técnicas de modelado de datos NoSQL

Cómo mostrar la lista de todas las bases de datos en MySQL