Está en la página 1de 2

SQL frente a NoSQL

No se puede hablar sobre arquitectura de datos sin estudiar el almacenamiento de datos,


ya sean archivos almacenados en el sistema de archivos o elementos almacenados
dentro de una tabla de base de datos. Un sistema de base de datos compatible con SQL
o lenguaje de consulta estructurado es un sistema de base de datos relacional. Incluye
productos como Oracle SQL, Microsoft SQL Server o MySQL. Estos productos se pueden
implementar en las instalaciones, pero también podemos implementarlos en una nube
pública, donde no tenemos que preocuparnos por el hardware, el almacenamiento o la
adquisición del software.

SQL

En un sistema de base de datos relacional, la razón por la que se llama relacional es


porque podemos relacionar o vincular tablas. lo hacemos usando lo que se llaman claves
externas. Por ejemplo, si tenemos una tabla Cliente y Transacciones, donde
almacenamos información del cliente y almacenamos, digamos, artículos comprados,
respectivamente. Para mantener un vínculo entre esas dos tablas separadas, lo que
podemos hacer es usar una columna en ambas. Cada una de ellas tendría una columna
de identificación de cliente única. Para que podamos establecer una relación entre los
clientes y sus transacciones. Con un tipo de base de datos SQL, cada tabla, fila o registro
almacena el mismo tipo de datos, como el nombre del cliente, número de teléfono,
dirección de correo electrónico, dirección postal, etc. Eso sería igual para cada fila o para
cada cliente. Esto se llama esquema estructurado, donde el esquema es simplemente el
plano que definimos, qué se almacenará y cómo se almacenará en el entorno de base de
datos compatible con SQL.

Las bases de datos SQL normalmente aprovechan el escalado vertical. Es decir, si


necesitamos aumentar la potencia en la máquina donde está alojada la base de datos, ya
sea una máquina física o virtua, aumentamos la cantidad de RAM cuando escalamos, o
aumentamos la cantidad de CPU o el tipo de CPU a algo más rápido. O bien aumentando
las IOPS del disco, (operaciones de entradas y salidas por segundo), lo que aumenta el
rendimiento del disco. Estamos ampliando la escala. Reducir la escala significa que está
disminuyendo la cantidad de potencia, tal vez reduciendo la cantidad de RAM o
reduciendo la cantidad de núcleos de CPU disponibles para fines informáticos.

NoSQL.

NoSQL está diseñado para escalabilidad a gran escala. Por tanto, está diseñado para
procesar macrodatos (Big Data). Ejemplos de productos que son NoSQL son MongoDB,
IBM Domino, Redis, etc. A diferencia de una base de datos SQL, En NoSQL cada fila o
registro de datos puede almacenar tipos de datos completamente diferentes. NoSQL
utiliza un esquema semi o no estructurado. A diferencia de las bases de datos compatibles
con SQL que usan un esquema o plano rígido o fijo de lo que se va a almacenar, ese no
es el caso con NoSQL. Por eso escala tan bien. Podemos almacenar métricas de
dispositivos de IoT, publicaciones en redes sociales, archivos de audio y video. Todas
esas cosas se almacenan de manera muy diferente, tienen diferentes tipos de formatos,
pero eso es exactamente para lo que está diseñado NoSQL. Y así, En este caso la
escalabilidad, se denomina horizontal

Que es el escalado se utiliza más a menudo con NoSQL. Escalado horizontal significa
que estamos agregando múltiples nodos de cómputo para manejar la carga de trabajo
para un mejor rendimiento o para el procesamiento en paralelo de grandes conjuntos de
datos. Puede implementarse mediante la agrupación en clústeres, donde tenemos un
montón de máquinas trabajando juntas para ofrecer el mismo servicio. O mediante el
equilibrio de carga, de modo que si un servidor deja de funcionar, los usuarios son
dirigidos a otro servidor que permanece en ejecución. Todos los servidores siempre
ejecutan lo mismo al mismo tiempo. También podríamos utilizar la replicación en varios
servidores para poder tener varias copias para la disponibilidad de datos.

También podría gustarte