CGTS Corp...

Noticias

Post updates on the status of your app

SQL vs NoSQL

SQL (Structured Query Language): Es un lenguaje de programación estandarizado utilizado para el manejo y manipulación de la data, el mismo incluye modificaciones a las tablas de base de datos y estructura de índices. SQL comprende un conjunto de tablas que contienen datos en filas y columnas. SQL fue desarrollado por primera vez en los años 70’s por Donald Chamberlin y Raymond Boyce. En los laboratorios de IBM fue creado el nuevo software de base de datos llamado Sistem R y para gestionar dicho sistema se creó el lenguaje SQL.

 

NoSQL (Not Only SQL) : No sigue el modelo relacional ni posee esquema, ofrece garantías de consistencia débil (BASE), de igual modo no existe un único modelo de datos y busca resolver problemas de escalabilidad y rendimiento. Erradamente se cree que NoSQL prohibe el lenguaje de consultas SQL. Algunas no lo usan y otras continúan usándolo:
  • MondoDB utiliza JSON
  • BigTable lo ha transformado anteniendo su estructura básica.
                          
Propiedades Base:
  • Basicamente Disponible (BA): Cada solicitud garantiza una respuesta, bien sea correcta o no, en lo que respecta al teorema de CAP.
  • Estado flexible (S): El estado del sistema puede cambiar con el tiempo, a veces sin una entrada (por consistencia eventual).
  • Eventualmente Consistente (E): Las base de datos puede estar momentáneamente inconsistente pero será consistente con el tiempo.
Teorema de CAP

 

Tipos de Base de Datos NoSQL
Clave-Valor : Son el modelo mas popular y mas sencillo en cuanto a funcionalidad, se asemeja mucho a un diccionario. Cada elemento está identificado por una llave única que apunta a un elemento. No existe el concepto de relaciones y  existe falta de consistencia
Ejemplo:

Documental: Orientada a gestionar el almacenamiento y acceso a docuemntos, no almacena datos en esquemas estrictos ni usan tablas con campos uniformes.
Ejemplo :
{ "_id:
 ObjectId ("4efa8d2b7d284dad101e4bc7",
 "Last Name": "PELLERIN",
 "First Name": "Franck",
 "Age": 29,
 "Address": {
 "Strert": "1 chemin des Loges",
 "City": "VERSAILLES"

    }
}
Basada en Grafos:  Se representan como nodos de un grafo y sus relaciones con las aristas del mismo, para sacar el máximo provecho, su estructura debe estar totalmente normalizada y su principal ventaja es ofrecer una navegación mas eficiente entre las relaciones que en un modelo relacional.
Ejemplo:

Basadas en Columnas: Almacena los datos en columnas en lugar de filas, su objetivo es leer y escribir datos de manera eficiente y hacia el almacenamiento en disco duro, de igual modo se encuentran diseñadas para reducir la escala utilizando clústeres distribuidos para aumentar el desempeño. Las basadas en columnas también resultan ideales para el almacenamiento de datos y el procesamiento de Big Data.
Ejemplo

SQL vs NoSQL

¿Que tipo de Base de Datos elegir?

  • Cuando los datos deben ser consistentes sin dar posibilidad de error : SQL.
  • Cuando nuestro presupuesto no se puede permitir grandes máquinas y debe destinarse a máquinas de menor rendimiento: NoSQL.
  • Cuando las estructuras de datos que manejamos son variables: NoSQL.
  • Para análisis de grandes cantidades de datos y datos semi estructurados o no estructurados: NoSQL.
  • Para tiendas online con motores de inteligencia complejos : NoSQL.

 

 

 

Deja un comentario

Scroll to top