Está en la página 1de 2

Type of NOSQL Databases and its Comparison with

Relational Databases

por Diana de la Costa

La base de datos NoSQL es comúnmente interpretada como “no solo una base de datos
SQL”, pues no reemplaza completamente a SQL sino que se complementan y coexisten, y
es una alternativa para las bases de datos relacionales. En relación al modelo relacional,
este presenta inconvenientes de escalabilidad porque a medida que aumenta el volumen de
la data, su rendimiento se degrada rápidamente. Debido al alto nivel de escalabilidad de
NoSQL, fue visto como una competencia para el modelo relacional.

NoSQL no garantiza propiedades ACID sino propiedades BASE, y cumple el teorema CAP.
Se puede categorizar en 5 tipos:

- Key-Value Store Databases: Es un modelo muy simple, pero eficiente y poderoso. Permite
al usuario guardar data en un esquema menos enrevesado. La data consiste en un string
que representa la llave y la data misma que es referida como value (key-value pair). El
modelo solo requiere de un mapa o diccionario que permite al usuario solicitar “valores”
según una llave especificada; privilegia escalabilidad sobre consistencia y provee
recurrencia y masividad de almacenamiento. Sin embargo, su debilidad es la falta de
esquema que complica crear vistas personalizadas de la data.
- Column-Oriented Databases: Consiste en un almacenamiento híbrido de fila/columna, a
diferencia de las bases de datos de columnas relacionales puras. Aunque comparte el
concepto de almacenamiento columna por columna, este no guarda la data en tablas sino
que en arquitecturas masivamente distribuidas. Aquí, cada llave está asociada a uno o más
atributos (columnas), cuya data es agregada rápidamente con poca actividad input-output.
Ofrece alta escalabilidad de almacenamiento de datos y se basa en el orden de clasificación
de las familias de columnas, por lo que es adecuado para minería de datos y analítica.
- Document Store Databases: Esta base de datos almacena la data como “documento”,
similar a un registro en una BD relacional, pero es más flexible porque su esquema es más
relajado. Ofrece gran rendimiento y opciones de escalabilidad horizontal. En una BD
relacional cada registro tiene los mismos campos de datos (son vacíos si no se usan), en
cambio aquí un documento puede tener data similar o no aunque sí son referidos a través
de una llave única. Es adecuado para datos que no necesitan ser guardados en tablas bien
organizadas, sino en documentos con características especiales. Funciona bien si el modelo
puede ser dividido y particionado por varios documentos, no así si la BD tiene muchas
relaciones y normalización.
- Graph Databases: La data se guarda en forma de grafo, con nodos (objetos) y bordes
(relaciones). Cada nodo es un puntero directo a otro nodo, no requiere de indexaciones
externas. Su énfasis es la conexión entre la data, pues su esquema es relajado y eficiente.
Las consultas se expresan como travesías así logra ser más rápido que una BD relacional.
Cumple propiedades ACID y puede hacer retrocesos.
- Object Oriented Databases: La data se almacena en forma de objeto que posee
identificador único. Ofrece las características de (OOP), pero es más rápido porque cada
objeto puede ser recuperado usando “punteros”. El proceso de desarrollo de software se
vuelve más ágil, pero está atado a un lenguaje de programación particular y es difícil de
escalar cuando excede su memoria; no debe usarse si la data y las relaciones son simples.
NoSQL no usa el lenguaje SQL ni posee uno estándar por sí mismo, además es más difícil
de mantener. Destaca en flexibilidad, rapidez, escalabilidad y eficiencia en diversidad de
modelos de datos frente a RDBMS, pero es más débil en cuanto a poder obtener
consistencia y estandarización. Aunque NoSQL ha evolucionado a un ritmo acelerado, aún
se queda atrás del modelo relacional en número de usuarios puesto que ellos están
familiarizados con el lenguaje SQL que es un lenguaje estándar.

Algunos proveedores de DBaaS trabajan con un modelo de base de datos híbrido


(SQL/NoSQL), que aún tiene ciertas desventajas por tratar. Con mayor avance en este tipo
de arquitectura híbrida, hay muy buenas chances en el futuro para NoSQL en DBaaS.

Finalmente, al tratar con alguna base de datos NoSQL los usuarios deben considerar
distintos parámetros antes de decidirse por un tipo, ya sean éstos lenguaje de consulta,
interfaz, disponibilidad, redundancia, consistencia u otros análisis pertinentes.

También podría gustarte