Portada » No SQL

No SQL

by Donal Sandro Noblejas Huaman

Hola mi nombre es donal Sandro Noblejas Huamán de Lima Perú 🇵🇪 hoy vengo con otro artículo de  Bases de Datos y como siempre y en cada uno de ellos completamente solo y me agrada porque se aprende, y como siempre sin empresas, personas, familiares, ni el estado ni ningún tipo de ayuda cuidado con los estafadores solo en mis tiempos libres redactando jejeje, bueno ahí vamos.

NoSQL es un enfoque para implementar un almacenamiento (base) escalable de información con un modelo de datos flexible, que difiere de los DBMS relacionales clásicos. En las bases de datos no relacionales, los problemas de escalabilidad y disponibilidad, importantes para Big Data , se resuelven gracias a la atomicidad y consistencia de los datos.

Por qué se necesitan bases de datos no relacionales en Big Data: historia de aparición y desarrollo

Las bases de datos NoSQL están optimizadas para aplicaciones que deben procesar rápidamente grandes cantidades de datos con diferentes estructuras con baja latencia . Así, los almacenamientos no relacionales están directamente enfocados al Big Data. Sin embargo, la idea de este tipo de bases de datos se originó mucho antes que el término “ big data ”, allá por los años 1980 , durante la época de las primeras computadoras (mainframes) y se utilizaba para servicios de directorio jerárquicos. La comprensión moderna de los DBMS NoSQL surgió a principios de la década de 2000 , como parte de la creación de sistemas distribuidos paralelos para aplicaciones de Internet altamente escalables, como los motores de búsqueda en línea.

En general, el término NoSQL significa “no sólo SQL”, lo que caracteriza una rama del enfoque tradicional del diseño de bases de datos. Inicialmente, este era el nombre de una base de datos de código abierto creada por Carlo Strozzi, que almacenaba todos los datos como archivos ASCII y utilizaba scripts de shell en lugar de consultas de acceso a datos SQL. A principios de la década de 2000, Google construyó su motor de búsqueda y sus aplicaciones (GMail, Maps, Earth y otros servicios) resolviendo los problemas de escalabilidad y procesamiento paralelo de grandes cantidades de datos. Así se crearon sistemas distribuidos de archivos y coordinación, así como un almacén de columnas (column family store), basado en el modelo informático MapReduce . Después de que Google publicó una descripción de estas tecnologías, se hicieron muy populares entre los desarrolladores de software de código abierto. Como resultado, se creó Apache Hadoop y se lanzaron importantes proyectos relacionados. Por ejemplo, en 2007, otro gigante de TI, Amazon.com, publicó artículos sobre su base de datos de alta disponibilidad Amazon DynamoDB. Además, muchas corporaciones se unieron a esta carrera de tecnologías NoSQL para la gestión de big data: IBM, Facebook, Netflix, eBay, Hulu, Yahoo! y otras empresas de TI con sus soluciones patentadas y abiertas.

bases de datos no relacionales, ejemplos, DBMS NoSQL populares

Variedad de soluciones NoSQL

Qué son los DBMS NoSQL: principales tipos de bases de datos no relacionales

Todas las soluciones NoSQL se suelen dividir en 4 tipos:

  1. Clave -valor es la versión más simple de un almacén de datos que utiliza una clave para acceder a un valor dentro de una tabla hash grande. Estos DBMS se utilizan para almacenar imágenes, crear sistemas de archivos especializados, como cachés para objetos, así como en sistemas de Big Data escalables, incluidas aplicaciones de juegos y publicidad, así como proyectos de Internet de las cosas (IoT), incl . industrial (IoT industrial, IIoT). Los representantes más conocidos de los DBMS de valor clave no relacionales son Oracle NoSQL Database, Berkeley DB, MemcacheDB, Redis, Riak, Amazon DynamoDB, que admiten una alta separabilidad, proporcionando un escalamiento horizontal sin precedentes, inalcanzable cuando se utilizan otros tipos de bases de datos.
  2. Almacenamiento orientado a documentos , en el que los datos representados por pares clave-valor se comprimen en un documento semiestructurado de elementos etiquetados, similar a JSON, XML, BSON y otros formatos similares . Este modelo es muy adecuado para directorios, perfiles de usuario y sistemas de gestión de contenidos, donde cada documento es único y cambia con el tiempo . Por lo tanto, los DBMS NoSQL de documentos se utilizan con mayor frecuencia en sistemas CMS, publicación y búsqueda de documentos. Los ejemplos más llamativos de bases de datos no relacionales orientadas a documentos son CouchDB, Cou hbase , MongoDB , eXist, Berkeley DB XML .
  3. Almacenamiento en columnas , que almacena información en forma de una matriz dispersa cuyas filas y columnas se utilizan como claves. En el mundo del Big Data, los almacenes de columnas incluyen bases de datos de familias de columnas. En tales sistemas, los valores en sí se almacenan en columnas (columnas) presentadas en archivos separados. Gracias a este modelo de datos, es posible almacenar una gran cantidad de atributos en forma comprimida, lo que acelera la ejecución de consultas a bases de datos, especialmente operaciones de búsqueda y agregación de datos. La presencia de marcas de tiempo permite el uso de dichos DBMS para organizar contadores, registrar y procesar eventos relacionados con el tiempo: sistemas de análisis de acciones, aplicaciones IoT/IIoT, sistemas de gestión de contenidos, etc. La base de datos en columnas más famosa es Google Big Table, así como Apache HBase y Cassandra basados ​​en ella . También de este tipo son los menos populares ScyllaDB,  Apache Accumulo e Hypertable .
  4. El almacenamiento de gráficos es una base de datos de red que utiliza nodos y bordes para mostrar y almacenar datos. Dado que los bordes del gráfico se almacenan, atravesarlo no requiere cálculos adicionales (como una unión en SQL). En este caso, se necesitan índices para encontrar el vértice inicial del recorrido. Normalmente, los DBMS gráficos admiten requisitos ACID y lenguajes de consulta especializados (Gremlin, Cypher, SPARQL, GraphQL, etc.) . Estos DBMS se utilizan en tareas orientadas a la comunicación: redes sociales, detección de fraudes, rutas de transporte público, mapas de carreteras, topologías de red. Ejemplos de bases de datos de gráficos: InfoGrid, Neo4j, Amazon Neptune, OrientDB, AllegroGraph, Blazegraph, InfiniteGraph, FlockDB, Titan, ArangoDB. 
Bases de datos NoSQL

Tipos de DBMS NoSQL

Lo bueno y lo malo de las bases de datos no relacionales: las principales ventajas y desventajas

En comparación con las bases de datos SQL clásicas, los DBMS no relacionales tienen las siguientes ventajas:

  • escalabilidad lineal : agregar nuevos nodos al clúster aumenta el rendimiento general del sistema.
  • flexibilidad , permitiéndole operar datos semiestructurados, implementando, c. incluido búsqueda de texto completo en la base de datos.
  • capacidad para trabajar con diferentes representaciones de información , incl. sin especificar el esquema de datos.
  • alta disponibilidad debido a la replicación de datos y otros mecanismos de tolerancia a fallas, en particular, el intercambio: división automática de datos en diferentes nodos de la red , cuando cada servidor en el clúster es responsable solo de un determinado conjunto de información, procesando solicitudes de lectura y escritura. Esto aumenta la velocidad de procesamiento y el rendimiento de la aplicación.
  • rendimiento a través de la optimización para tipos específicos de modelos de datos (documento, gráfico, columnas o valor-clave) y patrones de acceso.
  • Amplia funcionalidad : lenguajes de consulta patentados similares a SQL, interfaces RESTful, API y tipos de datos complejos, por ejemplo, mapas, listas y estructuras, que le permiten procesar muchos valores a la vez .

La otra cara de las ventajas anteriores son las siguientes desventajas:

  • Capacidad limitada del lenguaje de consulta incorporado. Por ejemplo, HBase proporciona solo 4 funciones para trabajar con datos (Poner, Obtener, Escanear, Eliminar); Cassandra carece de operaciones Insertar y Unir, a pesar de la presencia de un lenguaje de consulta similar a SQL. Para resolver este problema, se utilizan herramientas de terceros para traducir expresiones SQL clásicas en código ejecutable para una base de datos no relacional específica. Por ejemplo, Apache Phoenix para HBase o el Drill universal .
  • dificultades para soportar todos los requisitos de transacciones ACID (atomicidad, consistencia, aislamiento, durabilidad) debido al hecho de que NoSQL DBMS en lugar del modelo CAP (consistencia, disponibilidad, resistencia a la partición) corresponde más bien al modelo BASE (disponibilidad básica, estado flexible y resultante). consistencia). Sin embargo, algunos DBMS no relacionales intentan sortear esta limitación mediante el uso de niveles de coherencia personalizados, como comentamos usando Cassandra como ejemplo. De manera similar, Riak le permite configurar las características de disponibilidad y coherencia requeridas incluso para solicitudes individuales especificando la cantidad de nodos necesarios para confirmar la finalización exitosa de una transacción. 
  • fuerte vinculación de la aplicación a un DBMS específico debido a las características específicas del lenguaje de consulta interno y al modelo de datos flexible centrado en un caso específico.
  • falta de especialistas en bases de datos NoSQL en comparación con análogos relacionales.

Resumiendo la descripción de los aspectos principales de los DBMS no relacionales, vale la pena señalar que la consulta “NoSQL vs SQL” es algo incorrecta debido a los diferentes enfoques arquitectónicos y tareas de aplicación a las que están dirigidas estas herramientas de TI. Las bases de datos SQL tradicionales hacen un excelente trabajo al procesar información estrictamente tipificada que no es demasiado grande. Por ejemplo, un sistema ERP local o un CRM en la nube. Sin embargo, en el caso de procesar un gran volumen de datos semiestructurados y no estructurados, p. Big Data en un sistema distribuido debe seleccionarse entre una variedad de almacenamientos NoSQL, teniendo en cuenta las características específicas de la tarea en sí. En particular, para soluciones independientes de Internet de las cosas, incl. industrial, Cassandra es genial . Y en el caso de una infraestructura de TI multinivel basada en Apache Hadoop, vale la pena prestar atención a HBase, que le permite trabajar rápidamente, casi en tiempo real, con datos almacenados en HDFS .

donde se utilizan bases de datos NoSQL y SQL

Los DBMS no relacionales encuentran más dominios de aplicaciones que las soluciones SQL tradicionales.

Autor Donal Sandro Noblejas Huamán

Lima Perú 🇵🇪 

Whatsapp:51924118897 – 51939416004

Sitio web verlista.com/blog

verlista.com

https://pe.linkedin.com/in/donal-sandro-noblejas-huaman

You may also like

Leave a Comment

Are you sure want to unlock this post?
Unlock left : 0
Are you sure want to cancel subscription?
-
00:00
00:00
Update Required Flash plugin
-
00:00
00:00