Base de datos NoSQL: ¿qué es NoSQL?

Introducción

¿Qué son las bases de datos NoSQL?

Se puede hacer referencia a las bases de datos NoSQL indistintamente como "no relacionales", "bases de datos NoSQL" o "no SQL" para destacar el hecho de que pueden administrar altos volúmenes de datos no estructurados que cambian con rapidez de formas diferentes a una base de datos relacional (SQL) con filas y tablas.

Las tecnologías NoSQL existen desde los años sesenta, con varios nombres, pero son cada vez más populares a medida que cambia la situación en relación con los datos, y los desarrolladores necesitan realizar adaptaciones para administrar el gran volumen y la amplia matriz de datos generados desde la nube, los dispositivos móviles, las redes sociales y los macrodatos.

Desde los tweets de celebridades virales hasta la información de los registros médicos electrónicos que sirve para salvar vidas, se están generando tipos de datos y datos nuevos a un ritmo vertiginoso. Las bases de datos NoSQL han evolucionado para ayudar a los desarrolladores a crear rápidamente sistemas de bases de datos para almacenar la nueva información y hacer que esté fácilmente disponible para búsquedas, consolidación y análisis.

Ventajas de las bases de datos NoSQL

Las bases de datos NoSQL ayudan a los desarrolladores y profesionales de TI a administrar los nuevos desafíos de un abanico de tipos y modelos de datos en constante expansión y son muy eficaces para controlar datos impredecibles, a menudo con velocidades de consulta ultrarrápidas. También permiten realizar una migración de base de datos suave a la nube para las cargas de trabajo NoSQL existentes.

Desarrolle con agilidad

Con la capacidad de responder a situaciones imprevistas, las bases de datos NoSQL satisfacen los ciclos frecuentes de lanzamiento de software y son adecuadas para un desarrollo de aplicaciones más rápido y ágil.

Controle los datos con flexibilidad

NoSQL aporta a los desarrolladores más libertad, velocidad y flexibilidad para cambiar tanto el esquema como las consultas para adaptarlos a los requisitos de los datos. La información almacenada como un agregado facilita las mejoras iterativas rápidas, sin tener que realizar un diseño del esquema de antemano.

Opere a cualquier escala

Las bases de datos NoSQL pueden ofrecer atractivos ahorros y ventajas operativas con la posibilidad de escalar horizontalmente, o bien agregar servidores más económicos sin tener que realizar ninguna actualización. Pueden escalarse para administrar más datos o tener una única base de datos de gran tamaño dentro de clústeres de servidores muy distribuibles.

Tipos de modelos de datos con las bases de datos NoSQL

La mayoría de las bases de datos de alto rendimiento no relacionales, también denominadas “no solo SQL”, también pueden administrar datos muy estructurados. No están limitadas exclusivamente a modelos de datos fijos, como las bases de datos relacionales (SQL).

Los cuatro tipos más comunes de bases de datos NoSQL son:

Par clave-valor

Los pares clave-valor se almacenan mediante una tabla hash. Los tipos de pares clave-valor funcionan mejor cuando la clave es conocida y el valor asociado con la clave es desconocido.

Documento

Las bases de datos de documentos amplían el concepto de la base de datos de pares clave-valor mediante la organización de documentos completos en grupos denominados colecciones. Admiten los pares clave-valor anidados y permiten realizar consultas de cualquier atributo dentro de un documento.

En forma de columna

Las bases de datos de familia de columnas, basadas en columnas o en forma de columnas almacenan los datos con eficacia y consultan las filas de datos dispersos y resultan útiles para consultar columnas específicas de la base de datos.

Grafo

Las bases de datos de grafos usan un modelo basado en nodos y bordes para representar datos interconectados, como las relaciones entre las personas en una red social, y ofrecen una navegación y un almacenamiento simplificados por las relaciones complejas.

Cómo elegir entre las bases de datos relacionales (SQL) y las no relacionales (NoSQL)

No disponible NoSQL o no relacional SQL o relacional
La mejor opción para:
  • Administrar datos de gran volumen, no relacionados, indeterminados o que cambian rápidamente.
  • Datos independientes del esquema o esquema dictados por la aplicación.
  • Aplicaciones en las que el rendimiento y la disponibilidad son más importantes que una coherencia alta.
  • Aplicaciones siempre activas que dan servicios a usuarios de todo el mundo.
  • Administrar datos relacionales con requisitos lógicos y discretos que se puedan identificar con antelación.
  • Esquema que se debe mantener sincronizado entre la aplicación y la base de datos.
  • Sistemas heredados creados para estructuras relacionales.
  • Aplicaciones que requieren transacciones de varias filas o consultas complejas.
Escenarios:
  • Aplicaciones móviles.
  • Análisis en tiempo real.
  • Administración de contenido.
  • Personalización.
  • Aplicaciones de IoT.
  • Migración de bases de datos.
  • Sistemas de contabilidad, finanzas y bancarios.
  • Sistemas de administración de inventario.
  • Sistemas de administración de transacciones.
Escalado:
  • Escala los datos horizontalmente mediante el particionamiento entre los servidores.
  • Escala los datos verticalmente al aumentar la carga del servidor.
Modelo de datos:
  • Tipos de base de datos: bases de datos de pares clave-valor, documentos, en columnas y de grafos.
  • Almacena los datos en función del tipo de base de datos.
  • Tipo de base de datos: tablas de filas, agrupadas en relaciones.
  • Usa el Lenguaje de consulta estructurado (SQL).
  • Almacena datos como filas en tablas; datos relacionados almacenados por separado y unidos para consultas complejas.
No disponible Más información sobre los modelos de datos no relacionales Más información sobre los modelos de datos relacionales

¿Cómo puedo evaluar una base de datos NoSQL?

Elija un modelo de datos

Muchas bases de datos NoSQL están orientadas a los agregados, que son colecciones de datos con las que se interactúa como si de una unidad se tratara. Por ello, son una opción mucho más natural para los lenguajes de programación modernos orientados a objetos. Al elegir una base de datos NoSQL, probablemente desee empezar por seleccionar un modelo de datos y, después, evaluar las bases de datos NoSQL que lo admiten, junto con los lenguajes de programación y los SDK compatibles con la base de datos.

Más información sobre las API y los modelos de programación

Sopese los inconvenientes de la coherencia

La mayoría de las bases de datos NoSQL le permiten elegir entre el final de un espectro de coherencia, que abarca desde una coherencia fuerte, con la que obtendrá los últimos datos, pero con la posibilidad de que tenga que esperar, hasta una coherencia eventual, con la que obtendrá una respuesta rápida, pero los datos pueden estar obsoletos. Hay muchas bases de datos NoSQL que admiten otros niveles de coherencia que también suelen recaer en el medio de estos extremos. Elija la base de datos NoSQL que ofrezca los niveles máximos de flexibilidad y control en los modelos de datos para satisfacer sus necesidades.

Más información sobre coherencia, disponibilidad y tolerancia a las particiones

Plantéese la migración de las bases de datos y a la nube

Con su escalabilidad horizontal y su naturaleza distribuida, las bases de datos NoSQL resultan la opción ideal para la informática en la nube, aunque también puede encontrar muchos sistemas de bases de datos NoSQL diseñados para ejecutarse en escenarios locales o híbridos.

Al evaluar las opciones de la nube, tenga en cuenta lo siguiente:

  • Modelos de datos compatibles. ¿El proveedor de servicios en la nube ofrece todos los modelos de datos que podría desear usar?
  • Implementación y operaciones. ¿Resulta fácil implementar la base de datos y replicarla en otras regiones, en caso de que sea necesario?
  • Presencia geográfica. ¿Dónde están los centros de datos de los proveedores de servicios en la nube? ¿Puede colocar los datos donde quiera? ¿Cómo puede cumplir los reglamentos globales sobre la privacidad de datos, como el RGPD de la Unión Europea?
  • Facilidad de replicación. ¿Cuál es el proceso para replicar la base de datos en una región geográfica distinta?
  • Escalabilidad. ¿Los recursos de las bases de datos NoSQL le permiten garantizar el rendimiento adecuado y escalar según el crecimiento? ¿Podrá escalar o reducir vertical u horizontalmente?
  • Alta disponibilidad. ¿Qué sucederá en caso de que se produzca un error inesperado? ¿El servicio integra la recuperación ante desastres y una alta disponibilidad?
  • Niveles de servicio. ¿Qué niveles de garantías de disponibilidad y latencia se ofrecen?
  • Ecosistema. ¿La base de datos está perfectamente integrada con el resto de la plataforma de la nube y se puede unir rápidamente para crear soluciones?

Formas de utilizar los sistemas de bases de datos NoSQL

El uso de los modelos de datos basados en NoSQL es una opción ideal para las empresas que desean crear aplicaciones móviles, web, de Internet de las cosas (IoT) y juegos que requieren bases de datos flexibles, escalables, de alto rendimiento y alta funcionalidad, a fin de proporcionar magníficas experiencias a los usuarios, ya sea en aplicaciones de juegos, comercio electrónico, análisis de macrodatos o aplicaciones web en tiempo real, entre muchas otras.

Distribuya las aplicaciones globalmente

Consiga más usuarios de cualquier lugar del mundo con el rendimiento mejorado de las aplicaciones con la alta disponibilidad y la recuperación ante desastres.

Ofrezca experiencias de clientes en tiempo real

Ofrezca personalización, recomendaciones en tiempo real y una experiencia de usuario mejorada con las bases de datos NoSQL.

Acomode diversas cargas de trabajo de IoT

Escale de forma instantánea y elástica para administrar una ingesta de datos con mucha actividad de escritura y sostenida con un rendimiento de consulta mejorado para las aplicaciones de IoT.

Mejore sus aplicaciones de comercio electrónico

Con datos jerárquicos y esquemas flexibles, NoSQL resulta adecuado para almacenar los datos de un catálogo de productos en el que distintos productos tienen atributos diferentes.

Atraiga a los jugadores con contenido nuevo

Ofrezca experiencias personalizadas con contenido como estadísticas del juego, integración de redes sociales y tablas de clasificación. La baja latencia y la escalabilidad elástica respaldan los picos de tráfico durante los torneos y los lanzamientos de los juegos.

Cree aplicaciones sin servidor

Escale sin problemas la ingesta de datos, el rendimiento y los volúmenes de datos con una disponibilidad, una indexación automática, unas tasas de ingesta estables y un rendimiento de consulta inmediatos.

Obtenga información mejorada de los macrodatos

Implemente el aprendizaje automático a escala en datos de alto volumen que cambian rápidamente y saque más provecho a los análisis.

Migre las cargas de trabajo NoSQL existentes a la nube

Dedique menos tiempo a administrar una base de datos local con una migración a la nube, sin dejar de usar sus herramientas, controladores, bibliotecas y SDK existentes.

Introducción a NoSQL y la migración de las bases de datos a la nube

Obtenga información sobre cómo desarrollar las aplicaciones con la nueva agilidad, flexibilidad y escalabilidad en la administración de los sistemas de bases de datos y diversos tipos de datos, así como una migración de la base de datos a la nube para las cargas de trabajo NoSQL existentes. Obtenga una introducción técnica sobre Azure Cosmos DB para los desarrolladores y consulte más información sobre la compatibilidad nativa con NoSQL en un servicio de base de datos multimodelo, de escalabilidad masiva y distribuido globalmente.

Más información sobre Azure Cosmos DB para los datos NoSQL

Más información