NoSQL 101

Autor: Judy Howell
Fecha De Creación: 26 Mes De Julio 2021
Fecha De Actualización: 13 Mayo 2024
Anonim
How do NoSQL databases work? Simply Explained!
Video: How do NoSQL databases work? Simply Explained!

Contenido


Para llevar:

Las bases de datos no relacionales o NoSQL se han convertido en un modelo alternativo destacado para los administradores de bases de datos porque son más baratas, más flexibles, requieren menos administración y son más escalables.

Durante muchos años, las bases de datos relacionales han dominado la gestión de bases de datos. Pero ya no más. Hoy, las bases de datos no relacionales o NoSQL se han convertido en un modelo alternativo destacado para los administradores de bases de datos. ¿Por qué? Son más baratos, son más flexibles, requieren menos administración y son más escalables (algo que se está volviendo cada vez más importante con el crecimiento de los grandes datos).

Aquí, eche un vistazo introductorio a esta forma creciente de gestión de bases de datos.

Algunos antecedentes sobre la gestión de bases de datos

Una base de datos es una colección de registros de datos en forma organizada. Para almacenar, acceder y manipular estos datos, necesitamos una estructura. Esta estructura puede ser desde un simple sistema de archivos hasta un sofisticado sistema de administración de bases de datos (DBMS). Ambos tienen su propio conjunto de ventajas y desventajas, pero generalmente se prefiere un DBMS por razones como:


  • Un DBMS puede gestionar grandes cantidades de datos.
  • La funcionalidad de copia de seguridad del sistema, recuperación y restauración de datos a menudo no es compatible con un sistema de archivos.
  • La redundancia de datos está bien cuidada en un DBMS, lo que evita el mal uso de la memoria.
  • Una base de datos puede estar mejor equipada con medidas de seguridad para preservar el estado y la integridad de los datos almacenados.
  • Un DBMS admite el acceso multiusuario y se ocupa de los problemas de concurrencia.
  • Un DBMS proporciona múltiples vistas de usuario junto con varias capas de abstracción.
  • Un DBMS mantiene las propiedades centrales de ACID en la recuperación y actualización de datos.

La mayoría de los sistemas de bases de datos modernos son sistemas de gestión de bases de datos relacionales (RDBMS), en los que los datos residen en tablas con una duplicación mínima. Como su nombre lo indica, una base de datos relacional establece relaciones entre los datos y permite extraer y ver los mismos datos de las bases de datos de muchas maneras diferentes. Sin embargo, este control tiene un costo. (Para obtener más antecedentes, consulte Introducción a las bases de datos).


¿Qué es NoSQL?

NoSQL es un tipo de base de datos que no se adhiere al modelo de gestión de bases de datos relacionales ampliamente utilizado. En otras palabras, las bases de datos NoSQL no se basan principalmente en tablas y, a diferencia de un RDBMS, no utilizan SQL para manipular datos, de ahí el nombre. NoSQL fue creado como soporte para SQL, no como su reemplazo. Se basa en un modelo que es menos estricto y no sigue esencialmente un esquema fijo. Es posible que tampoco se adhiera a las propiedades ACID, y no existe un concepto como JOIN, a diferencia de la mayoría de los RDBMS.

Una gran definición de NoSQL proviene de nosql-database.org, que define el término como:

Bases de datos de próxima generación que abordan principalmente algunos de los siguientes puntos: no relacionales, distribuidos, de código abierto y escalables horizontalmente. La intención original ha sido bases de datos modernas a escala web. A menudo se aplican más características como: sin esquemas, soporte de replicación fácil, API simple, eventualmente consistente / BASE (no ACID), una gran cantidad de datos y más.

La historia y las raíces de NoSQL

Solo para ser un poco más confuso, hay un RDBMS llamado NoSQL. Tiene sus raíces en la década de 1990 y fue creado por Carl Strozzi. Esto es realmente completamente diferente; Es un sistema relacional, pero sin una interfaz SQL. Strozzi ha comentado que lo que actualmente se conoce como NoSQL debería haberse llamado "NoREL", o algo por el estilo.

Sin errores, sin estrés: su guía paso a paso para crear software que cambie su vida sin destruir su vida

No puede mejorar sus habilidades de programación cuando a nadie le importa la calidad del software.

El movimiento moderno de NoSQL que nos preocupa gira en torno a gigantes de TI como Google y Amazon, y su necesidad de una base de datos que pueda escalar con las enormes cantidades de datos que estaban produciendo. Por supuesto, la palabra de moda para esto se ha convertido en lo que se conoce como big data, del cual NoSQL es una gran parte. (Para obtener más información, lea La evolución de Big Data).

Sin ser demasiado específico acerca de las fechas, en la década de 2000, pero especialmente en la última mitad de la década, casi todas las principales empresas web estuvieron involucradas en NoSQL de una manera u otra, con sistemas de gestión de bases de datos como BigTable, CouchDB, Amazon Dynamo, MongoDB , Cassandra y Hadoop, entre muchos, muchos otros (vea una historia aquí y una gran lista aquí). Lo que inició el nombre NoSQL fue su uso por un empleado de Rackspace con el nombre de Eric Evans en 2009. Usó el nombre para una reunión sobre "bases de datos de código abierto, distribuidas y no relacionales". Después de eso, el nombre simplemente se quedó.

¿Por qué usar NoSQL?

¿Por qué usamos NoSQL cuando tenemos nuestros buenos y viejos RDBMS? La respuesta es, en algunos casos, un RDBMS no es suficiente, mientras que en otros es excesivo. Aquí hay algunos inconvenientes para las bases de datos relacionales que pueden hacer de NoSQL una mejor solución:

  • Es posible que una aplicación necesite almacenar datos en una red jerárquica o estructura de árbol.
  • Es posible que solo desee almacenar los elementos de la aplicación en un almacenamiento persistente de manera consistente, pero RDBMS puede ser bastante costoso en términos de costo y recursos.
  • NoSQL se ajusta mejor cuando las entidades de la aplicación necesitan una capacidad de consulta en ellas.
  • RDBMS puede fallar si está trabajando en una base de datos distribuida o en una aplicación basada en la nube por disponibilidad y durabilidad.
  • NoSQL no requiere una definición de esquema rígido o el almacenamiento de metadatos para complementar los datos existentes.

La clave para entender es que había una necesidad impulsada por la gran cantidad de datos y el cambio en la forma en que se requerían las bases de datos. A medida que la web se volvió más social, no se trataba solo de lecturas, sino de escrituras, y cómo escalar eso. En estos casos, NoSQL es superior a un RDBMS más tradicional.

La línea de fondo en NoSQL

Siguiendo los pasos de los gigantes de Internet, muchas compañías y organizaciones que manejan grandes cantidades de datos están utilizando NoSQL junto con sus DBMS existentes para un mayor rendimiento y eficiencia. Si se trata de aplicaciones web de gran volumen, probablemente necesitará una sólida comprensión de NoSQL.

Para las organizaciones más pequeñas, el valor de NoSQL no es tan fuerte, especialmente porque existen serios desafíos en términos de implementación, incluida la falta de soporte, experiencia, administración, análisis e inteligencia empresarial. El hecho es que la pequeña empresa promedio no genera petabytes de datos todos los días. Dicho esto, la popularidad de NoSQL está creciendo y es probable que continúe siendo una herramienta y habilidad cada vez más importante para los administradores de bases de datos, por lo que no está de más saber al menos los conceptos básicos.