Está en la página 1de 10

Nombre: Xavier Haro Guerrero Grupo: Base de Datos

BASE DE DATOS SQL VS. NOSQL: DIFERENCIAS, VENTAJAS Y MITOS 

El uso de bases de datos relacionales está muy extendido, siendo el sistema más


utilizado en el software profesional, educativo y comercial. Sin embargo, las bases de
datos no relacionales están empezando a ser tenidas en cuenta por muchas de sus
ventajas que se adaptan a las exigencias de la metodología DevOps de entrega rápida y
continuada de servicios. 

A continuación, hablaremos de SQL vs. NoSQL, es decir, de qué es una base de datos


SQL y No SQL, cuáles son sus ventajas, en qué se diferencian, y cuándo es conveniente
utilizar una u otra.

QUÉ ES UNA BASE DE DATOS SQL 

Una base de datos SQL es una base de datos relacional, escrita en el lenguaje de


consulta estructurado SQL (Structured Query Language). Una base de datos
relacional es aquella que dispone de una relación predefinida entre sus elementos, donde
cada registro pueda ser identificado de forma inequívoca.  

Ventajas de SQL 

Las bases de datos SQL disponen de una serie de ventajas que las han convertido en el
tipo de base de datos más utilizada. Las principales ventajas son: 

 Dispone de herramientas que permiten evitar la duplicidad de registros,


garantizando la integridad referencial (al eliminarse un registro, se eliminan
todos los registros relacionados dependientes del mismo). 
 Tienen un mayor soporte al llevar mucho tiempo en el mercado (mayor
comunidad, aplicaciones y complementos). 
 Atomicidad de la información. Al realizar cualquier operación en la base de
datos, si surge algún problema, la operación no se realiza. 

Vinculación con la Comunidad


Nombre: Xavier Haro Guerrero Grupo: Base de Datos

 Dispone de un sistema estándar bien definido (SQL) para las operaciones con


la base de datos, como inserción, actualización o consultas. Este sistema
es sencillo de comprender ya que se adapta al lenguaje común. 

 
QUÉ ES UNA BASE DE DATOS NOSQL 

Una base de datos NoSQL o Not Only SQL es una base de datos no relacional que no


cuenta con un identificador que relacione un conjunto de datos con otro. En las bases de
datos No SQL la información es organizada generalmente como documentos y no
requieren que los datos están estructurados para poder manipularlos. 

Ventajas de NoSQL 

Las principales ventajas de las bases de datos no relacionales NoSQL son: 

 Son bases de datos versátiles que permiten agregar información o hacer cambios


en el sistema sin necesidad de agregar configuraciones extras. 

 Las bases de datos NoSQL open source no requieren del pago de licencia y no


necesitan un hardware muy potente para poder ser ejecutadas. 
 Soportan el crecimiento horizontal, es decir, al soportar estructuras distribuidas
se pueden instalar nuevos nodos operativos que balancean la carga de trabajo. Es
más fácil su expansión debido a este escalado horizontal. 
 Permiten guardar datos de cualquier tipo, en cualquier momento, sin requerir
una verificación. 
 Realizan consultas utilizando JSON (JavaScript Object Notation, formato
sencillo de intercambio de texto). 

 DIFERENCIAS ENTRE SQL Y NOSQL 

Existen muchas diferencias entre estos dos tipos de bases de datos. Veamos las mismas
teniendo en cuenta distintos factores: 

 Rendimiento. Las bases de datos NoSQL ofrecen un mayor rendimiento que las


SQL (necesitan menos recursos de hardware). 
 Fiabilidad. Las bases de datos relacionales SQL son más fiables que
las NoSQL (si un proceso tiene algún error, no se lleva a cabo). 

 Disponibilidad. En cuanto a la disponibilidad, ambas alternativas son igual de


válidas. 
 Consistencia. La consistencia de las bases de datos NoSQL es pobre, en cambio
las SQL son bases de datos muy consistentes (la consistencia es la capacidad de
garantizar la integridad de los datos). 

Vinculación con la Comunidad


Nombre: Xavier Haro Guerrero Grupo: Base de Datos

 Almacenamiento. Las bases de datos SQL son indicadas cuando la cantidad de


datos no son extremadamente grandes, mientras que las NoSQl son ideales para
manejar grandes volúmenes de datos. 
 Escalabilidad. Las bases de datos NoSQL son escalables por lo que se pueden
aumentar su capacidad fácilmente, sin embargo, las SQL pueden ser escalables,
pero con un costo económico más elevado. Las bases de datos No SQL utilizan
un escalado horizontal (aumentar el número de servidores) mientras que las SQL
utilizan un escalado vertical (aumentar los recursos de un servidor). 

 Cuando utilizar SQL o NoSQL 

Elegir el tipo de base de datos a utilizar en un proyecto es importante ya que influye en


el rendimiento y en desarrollo de este. Decantarse por una base de datos relacional o no
relacional puede hacer que un proyecto se encuentre con problemas que impidan su
correcta ejecución, añadan mucho esfuerzo o incluso aumente los costos previstos. 

En qué casos utilizar SQL 

Cuando en un proyecto el volumen de los datos no tendrá un gran crecimiento, o este


se realice de forma lenta, las bases de datos SQL. 

En proyectos donde el pico de usuarios que accedan a la base de datos esté previsto,
las bases de datos relacionales funcionan de manera óptima. 

Si las necesidades de procesamiento de la base de datos requieren de un único


servidor, se pueden utilizar bases de datos SQL.  

En qué casos utilizar NoSQL 

Si el crecimiento de la base de datos se realiza de forma rápida, con grandes


aumentos en poco tiempo, lo ideal es recurrir a bases de datos no relacionales NoSQL. 

Si el acceso a la base de datos puede sufrir picos altos y en múltiples ocasiones, lo


mejor es optar por No SQL. 

Si las necesidades de procesamiento no se pueden prevenir, es mejor utilizar bases de


datos NoSQL escalables (permiten expandirse). 

Vinculación con la Comunidad


Nombre: Xavier Haro Guerrero Grupo: Base de Datos

NoSQL simplifica la base de datos DevOps 

La utilización de una base de datos documental NoSQL simplifica la base de


datos DevOps ya que aporta una flexibilidad de esquemas, permitiendo que los
desarrolladores accedan a una base de datos estructurados, semi estructurados y no
estructurados, dinámica (con cambios constantes). Los desarrolladores pueden operar
directamente sobre los datos con JSON obteniendo resultados inmediatos. 

La aplicación desarrollada no depende de un ORM (modelo de programación para


convertir objetos en un formato que pueda almacenarse en una base de datos relacional)
y solo requiere una actualización del código de la aplicación ante cualquier cambio del
esquema de la base de datos. 

La escalabilidad horizontal permite ampliar la capacidad de la base de datos si se


requiere en muy poco tiempo. Esta escalabilidad coincide con uno de los
objetivos DevOps, de adaptarse de forma inmediata a las necesidades de los proyectos.  

Las bases de datos no relacionales NoSQL son una gran alternativa a las relacionales


SQL para muchos proyectos. Dentro del marco DevOps el uso de una base de datos
documental NoSQL aporta rapidez, escalabilidad, flexibilidad y sencillez a la gestión la
misma.  

SISTEMAS DE GESTORES DE BASE DE DATOS

MySQL

Es el sistema gestor de bases de datos relacional por excelencia.

Es un SGBD multihilo y multiusuario utilizado en la gran parte de las páginas web


actuales. Además, es el más usado en aplicaciones creadas como software libre.

Se ofrece bajo la GNU GPL aunque también es posible adquirir una licencia para
empresas que quieran incorporarlo en productos privativos (Desde la compra por parte
de Oracle se está orientando a este ámbito empresarial).

Vinculación con la Comunidad


Nombre: Xavier Haro Guerrero Grupo: Base de Datos

Las principales ventajas de este Sistema Gestor de Bases de datos son:

 Facilidad de uso y gran rendimiento


 Facilidad para instalar y configurar
 Soporte multiplataforma
 Soporte SSL

La principal desventaja es la escalabilidad, es decir, no trabaja de manera eficiente con


bases de datos muy grandes que superan un determinado tamaño.

MariaDB

Este SGBD es una derivación de MySQL que cuenta con la mayoría de las


características de este e incluye varias extensiones.

Nace a partir de la adquisición de MySQL por parte de Oracle para seguir la


filosofía Open Source y tiene la ventaja de que es totalmente compatible con MySQL.

Entre las principales características de este Sistema Gestor de Bases de datos se


encuentran:

 Aumento de motores de almacenamiento


 Gran escalabilidad
 Seguridad y rapidez en transacciones
 Extensiones y nuevas características relacionadas con su aplicación para Bases
de datos NoSQL.

No tiene desventajas muy aparentes salvo algunas pequeñas incompatibilidades en la


migración de MariaDB y MySQL o pequeños atrasos en la liberación de versiones
estables.

SQLite

Vinculación con la Comunidad


Nombre: Xavier Haro Guerrero Grupo: Base de Datos

Más que un Sistema Gestor de bases de datos como tal, SQLite es una biblioteca escrita
en C que implementa un SGBD y que permite transacciones sin necesidad de un
servidor ni configuraciones.

Es una biblioteca utilizada en multitud de aplicaciones actuales ya que es open source y


las consultas son muy eficientes.

Las principales características de SQLite son:

 El tamaño, al tratarse de una biblioteca, es mucho menor que cualquier SGBD


 Reúne los cuatro criterios ACID (Atomicidad, Consistencia, Aislamiento y
Durabilidad) logrando gran estabilidad
 Gran portabilidad y rendimiento

La gran desventaja de SQLite es la escalabilidad ya que no soporta bases de datos que


sean muy grandes.

PostgreSQL

Este sistema gestor de base de datos relacional está orientado a objetos y es libre,


publicado bajo la licencia BSD.

Sus principales características son:

 Control de Concurrencias multiversión (MVCC)


 Flexibilidad en cuanto a lenguajes de programación
 Multiplataforma
 Dispone de una herramienta (pgAdmin, https://www.pgadmin.org/) muy fácil e
intuitiva para la administración de las bases de datos.
 Robustez, Eficiencia y Estabilidad.

La principal desventaja es la lentitud para la administración de bases de datos pequeñas


ya que está optimizado para gestionar grandes volúmenes de datos.

Microsoft SQL Server

Vinculación con la Comunidad


Nombre: Xavier Haro Guerrero Grupo: Base de Datos

Es un sistema gestor de bases de datos relacionales basado en el lenguaje Transact-


SQL, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de
manera simultánea.

Es un sistema propietario de Microsoft. Sus principales características son:

 Soporte exclusivo por parte de Microsoft.


 Escalabilidad, estabilidad y seguridad.
 Posibilidad de cancelar consultas.
 Potente entorno gráfico de administración que permite utilizar comandos DDL y
DML.
 Aunque es nativo para Windows puede utilizarse desde hace ya un tiempo en
otras plataformas como Linux o Docker.

Su principal desventaja es el precio. Cuenta con un plan gratuito (Express) pero lo


normal es la elección de alguno de los planes de pago disponibles (Standard,
Developer, Enterprise o SQL Azure, la versión de SQL Server en la nube).

Oracle

Tradicionamente, Oracle ha sido el SGBD por excelencia para el mundo empresarial,


considerado siempre como el más completo y robusto, destacando por:

 Soporte de transacciones.
 Estabilidad.
 Escalabilidad.
 Multiplataforma.

La principal desventaja, al igual que SQL Server, es el coste del software ya que,


aunque cuenta con una versión gratuita (Express Edition o XE), sus principales
opciones son de pago.

Las opciones de pago disponibles son:

1. Standard Edition (SE)

2. Standard Edition One (SE1)

3. Standard Edition 2 (SE2)

4. Personal Edition (PE)

5. Lite Edition (LE)

Vinculación con la Comunidad


Nombre: Xavier Haro Guerrero Grupo: Base de Datos

6. Entreprise Edition (EE)

Sistemas Gestores de bases de datos No Relacionales (NoSQL)

Una base de datos no relacional (NoSQL) es aquella base de datos que:

 No requiere de estructuras de datos fijas como tablas


 No garantiza completamente las características ACID
 Escala muy bien horizontalmente.

Se utilizan en entornos distribuidos que han de estar siempre disponibles y operativos


y que gestionan un importante volumen de datos.

Para la administración de este tipo de bases de datos, actualmente los principales


sistemas gestores de bases de datos (SGBD NoSQL) son:

MongoDB

Estamos ante el Sistema Gestor de Bases de Datos no relacionales (SGBD NoSQL)


más popular y utilizado actualmente.

MongoDB es un SBGD NoSQL orientado a ficheros que almacena la información


en estructuras BSON con un esquema dinámico que permite su facilidad de
integración.

Empresas como Google, Facebook, eBay, Cisco o Adobe utilizan MongoDB como


Sistema Gestor de Bases de datos.

Las principales características de MongoDB son:

 Indexación y replicación
 Balanceo de carga
 Almacenamiento en ficheros
 Consultas ad hoc
 Escalabilidad horizontal
 Open Source

Como desventaja principal, MongoDB no es un SGBD adecuado para realizar


transacciones complejas.

Vinculación con la Comunidad


Nombre: Xavier Haro Guerrero Grupo: Base de Datos

Redis

Redis está basado en el almacenamiento clave-valor. Podríamos verlo como un vector


enorme que almacena todo tipo de datos, desde cadenas, hashses, listas, etc.

El principal uso de este SGBD es para el almacenamiento en memoria caché y la


administración de sesiones.

Las características principales son:

 Atomicidad y persistencia
 Gran velocidad
 Simplicidad
 Multiplataforma

Cassandra

Al igual que Redis, Cassandra también utiliza almacenamiento clave-valor. Es un


SGBD NoSQL distribuido y masivamente escalable.

Facebook, Twitter, Instagram, Spotify o Netflix utilizan Cassandra.

Dispone de un lenguaje propio para las consultas denominado CQL (Cassandra Query


Languaje).

Las principales características de este SGBD NoSQL son:

 Multiplataforma
 Propio lenguaje de consultas (CQL)
 Escalado lineal y horizontal
 Es un SGBD distribuido
 Utiliza una arquitectura peer-to-peer

Vinculación con la Comunidad


Nombre: Xavier Haro Guerrero Grupo: Base de Datos

Otros SGBD NoSQL

Otros Sistemas Gestores de bases de datos no relacionales muy utilizados son:

 Azure Cosmos DB
 RavenDB
 ObjectDB
 Apache CouchDB
 Neo4j
 Google BigTable
 Apache Hbase
 Amazon DynamoDB

¡Adáptate a tus datos!

Existen más gestores de bases de datos en el mercado, pero estos son los más usados.

Es importante entender que, para elegir el SGBD más adecuado, se debe comenzar por
el estudio del tipo de datos que se van a almacenar y cómo se van a administrar.

Entre los Sistemas Gestores de Base de Datos citados seguro que encontrarás el que más
se adapta a tus necesidades de acuerdo con la inversión a realizar, volumen de
información a almacenar, tipo de consultas a realizar, etc.

Vinculación con la Comunidad

También podría gustarte