Documentos de Académico
Documentos de Profesional
Documentos de Cultura
columnas y filas. Las tablas se utilizan para guardar
Resumen—Las bases de datos no relacionales, comúnmente información sobre los objetos que se van a representar en la
denominadas NoSQL (not only SQL) o (no sólo SQL) han base de datos. Cada columna de una tabla guarda un
venido tomando fuerza en los últimos años debido a la determinado tipo de datos y un campo almacena el valor real
aparición de nuevas tecnologías y la necesidad de tratar con de un atributo. Las filas de la tabla representan una
grandes cantidades de datos, y es que precisamente éstas han recopilación de valores relacionados de un objeto o entidad.
sido ideales para tratar con facilidad con esta cantidad de Cada fila de una tabla podría marcarse con un identificador
información. En el presente artículo veremos los diferentes único denominado clave principal, mientras que filas de varias
tipos de bases de datos, dónde se ubican las NoSQL y algunas tablas pueden relacionarse con claves extranjeras. Se puede
ventajas y desventajas de estas frente a las bases de datos obtener acceso a estos datos de muchas formas distintas sin
reorganizar las propias tablas de la base de datos.” [2]
relacionales.
Los diferentes motores de bases de datos están basados en el
modelo ya mencionado anteriormente, a continuación, se
Índice de Términos—NoSQL, bases de datos relacionales,
listan algunos de ellos:
administración de datos, SQL.
A. Amazon Aurora
Amazon Aurora es un motor de base de datos relacional
I. DINTRODUCCIÓN compatible con MySQL y PostgreSQL que combina la
ESDE QUE SE VIENE PRESENTANDO LA NECESIDAD DE
velocidad y la disponibilidad que tienen las bases de datos
TRABAJAR CON GRANDES VOLÚMENES DE DATOS, SE HA
comerciales de gama alta con la simplicidad y la rentabilidad
OBSERVADO QUE EL MODELO RELACIONAL TIENE CIERTOS
que tienen las bases de datos de código abierto. Amazon
PROBLEMAS DE ESCALABILIDAD. Esto hace que el rendimiento Aurora ofrece hasta cinco veces más desempeño que MySQL.
disminuya rápidamente a medida que la cantidad de datos se Con Amazon Aurora, tendrá la seguridad, disponibilidad y
incrementa. Gracias a esto se llevó a cabo el desarrollo de un fiabilidad de una base de datos comercial a una décima parte
nuevo modelo de datos denominado NoSQL, aunque el del costo.
concepto de NoSQL se desarrolló hace mucho tiempo, fue B. PostgreSQL
después de la introducción de la base de datos como un PostgreSQL es un potente sistema de base de datos
servicio (DBaaS) que se hizo conocido. Debido a la alta relacional de objetos de código abierto con más de 30 años de
escalabilidad proporcionada por el modelo NoSQL, fue visto desarrollo activo que le ha ganado una sólida reputación de
como un competidor importante para el modelo de base de confiabilidad, solidez de funciones y rendimiento.
datos relacional. A diferencia de RDBMS, las bases de datos
NoSQL están diseñadas para escalarse fácilmente a medida C. MySQL
que crecen. La mayoría de los sistemas NoSQL han eliminado MySQL es un sistema de administración de bases de datos
el soporte multiplataforma y algunas características relacionales de código abierto (RDBMS) utilizado por un gran
adicionales innecesarias de RDBMS, haciéndolos mucho más número de aplicaciones web.
ligeros y eficientes que sus homólogos RDMS. El modelo de D. Oracle
datos NOSQL no garantiza las propiedades ACID “Oracle Database es un sistema de gestión de base de datos
(Atomicidad, consistencia, aislamiento y durabilidad), sino de tipo objeto-relacional (ORDBMS, por el acrónimo en
que garantiza las propiedades BASE (Básicamente disponible, inglés de Object-Relational Data Base Management System),
Estado blando, Consistencia eventual). Cumple con el teorema desarrollado por Oracle Corporation
CAP (Consistencia, Disponibilidad, Tolerancia de partición).
Su dominio en el mercado de servidores empresariales había
II. TIPOS DE BASES DE DATOS RELACIONALES sido casi total hasta que recientemente tiene la competencia
Como lo expresa directamente Amazon en su página oficial del Microsoft SQL Server y de la oferta de otros RDBMS con
“Un base de datos relacional es una recopilación de elementos licencia libre como PostgreSQL, MySQL o Firebird”. [4]
de datos con relaciones predefinidas entre ellos. Estos
elementos se organizan como un conjunto de tablas con
Universidad de los Llanos. Riveros Walter. Bases de datos relacionales y NoSQL 2
Para lograr este nivel de disponibilidad, Dynamo sacrifica esta escala, pequeños y grandes componentes fallan
la consistencia en ciertos escenarios de falla. Hace un uso continuamente.
extensivo del control de versiones de objetos y la resolución La forma en que Cassandra gestiona el estado persistente
de conflictos asistida por la aplicación de una manera que de estas fallas hace que la confiabilidad y la escalabilidad de
proporciona una interfaz novedosa para que los los sistemas de software dependan de este servicio. Si bien
desarrolladores la utilicen. Cassandra se parece a una base de datos y comparte muchas
Se implementa utilizando el modelo Dynamo de Amazon. estrategias de diseño e implementación con ella, Cassandra no
Ofrece latencias bajas y predecibles en cualquier escala. admite un modelo de datos relacional completo; en su lugar,
Almacena datos en unidades de estado sólido (SSD) en lugar proporciona a los clientes un modelo de datos simplificados
de discos duros tradicionales, lo que proporciona un acceso que admite el control dinámico sobre el diseño y el formato de
más rápido a los datos. los datos.
Los datos se replican de forma sincrónica en múltiples El sistema Cassandra fue diseñado para ejecutar hardware
Zonas de disponibilidad de AWS en una región de AWS para de productos básicos y manejar un alto rendimiento de
proporcionar una alta disponibilidad integrada y durabilidad escritura sin sacrificar la eficiencia de lectura.
de los datos. Replica datos en al menos tres centros de datos,
lo que proporciona una alta disponibilidad y durabilidad 2) Big Table:
incluso en escenarios de fallas complejas. Google BigTable es un mecanismo de almacenamiento de
2) RIAK: datos no relacional, distribuido y multidimensional construido
Es un almacén de datos NoSQL distribuido de tipo clave- sobre las tecnologías de almacenamiento propietarias de
valor que ofrece alta disponibilidad, tolerancia a fallas, Google para la mayoría de las aplicaciones / productos en
simplicidad operativa y escalabilidad. Además de la versión de línea y de back-end de la compañía. Proporciona una
código abierto, viene en una versión empresarial compatible y arquitectura de datos escalable para infraestructuras de bases
una versión de almacenamiento en la nube. Riak implementa de datos muy grandes.
los principios del artículo Dynamo de Amazon con gran Google BigTable se utiliza principalmente en productos
influencia del teorema de la PAC. Escrito en Erlang, Riak propietarios de Google, aunque algunos accesos están
tiene replicación de datos tolerante a fallas y distribución disponibles en Google App Engine y en aplicaciones de bases
automática de datos en todo el clúster por su rendimiento y de datos de terceros.
resistencia.
3) CouchDB:
C. Bases de datos orientadas a columnas:
Apache CouchDB es una base de datos NoSQL orientada a
Las bases de datos orientadas a columnas en NO SQL son en documentos de código abierto, implementada en el lenguaje
realidad almacenes híbridos de filas / columnas, a diferencia orientado a la concurrencia Erlang; utiliza JSON para
de las bases de datos puras de columnas relacionales. Aunque almacenar datos, JavaScript como lenguaje de consulta
comparte el concepto de almacenamiento columna por mediante MapReduce y HTTP para una API.
columna de las bases de datos en columnas y las extensiones CouchDB se lanzó por primera vez en 2005 y luego se
en columnas a las bases de datos basadas en filas, los convirtió en un proyecto de Apache Software Foundation en
almacenes de columnas no almacenan datos en tablas, pero 2008.
almacenar los datos en arquitecturas distribuidas masivamente. A diferencia de una base de datos relacional, una base de
En los almacenes de columnas, cada clave está asociada con datos CouchDB no almacena datos y relaciones en tablas. En
uno o más atributos (columnas). Ofrece una gran escalabilidad su lugar, cada base de datos es una colección de documentos
en el almacenamiento de datos. Los datos que se almacenan en independientes. Cada documento mantiene sus propios datos y
la base de datos se basan en el ordenamiento de la familia de un esquema autocontenido. Una aplicación puede acceder a
columnas. múltiples bases de datos, como una almacenada en el teléfono
Las bases de datos orientadas a columnas son adecuadas móvil de un usuario y otra en un servidor. Los metadatos del
para la minería de datos y las aplicaciones analíticas, donde el documento contienen información de revisión, lo que hace
método de almacenamiento es ideal para las operaciones posible fusionar cualquier diferencia que haya ocurrido
comunes que se realizan en los datos. Algunos de los mientras se desconectaban las bases de datos.
proveedores DBaaS notables que usan bases de datos
orientadas a columnas se mencionan a continuación: 4) MongoDB:
MongoDB es una base de datos multiplataforma y de
1) Cassandra: código abierto orientada a documentos, una especie de base de
Cassandra es un sistema de almacenamiento distribuido datos NoSQL. Como una base de datos NoSQL, MongoDB
para administrar cantidades muy grandes de datos rechaza la estructura basada en tablas de la base de datos
estructurados distribuidos en muchos servidores de productos, relacional para adaptar documentos similares a JSON que
a la vez que proporciona un servicio de alta disponibilidad sin tienen esquemas dinámicos a los que llama BSON.
un punto único de falla. Cassandra pretende ejecutar en la Esto hace que la integración de datos para ciertos tipos de
parte superior de una infraestructura de cientos de nodos aplicaciones sea más rápida y fácil. MongoDB está diseñado
(posiblemente diseminados en diferentes centros de datos). A para ofrecer escalabilidad, alta disponibilidad y rendimiento
Universidad de los Llanos. Riveros Walter. Bases de datos relacionales y NoSQL 4
desde una única implementación de servidor a grandes y las bases de datos orientadas a objetos, ya que los objetos se
complejas infraestructuras de múltiples sitios. pueden recuperar directamente mediante punteros. Las bases
de datos orientadas a objetos hacen que los procesos modernos
D. Bases de datos graficas:
de desarrollo de software sean más ágiles. Las bases de datos
Las bases de datos gráficas son bases de datos que orientadas a objetos se deben usar en aplicaciones que
almacenan datos en forma de gráficos. El gráfico consta de involucran relaciones complejas de objetos, estructuras de
nodos y bordes, donde los nodos actúan como los objetos y los objetos cambiantes o si la aplicación define miembros que son
bordes actúan como la relación entre los objetos. El gráfico colecciones. Las bases de datos orientadas a objetos se utilizan
también consta de propiedades relacionadas con los nodos. en investigación científica, telecomunicaciones, diseño
Utiliza una técnica llamada adyacencia sin índice, lo que asistido por computadora, etc. Pero la desventaja de las bases
significa que cada nodo consiste en un puntero directo que de datos orientadas a objetos es que está ligada a un lenguaje
apunta al nodo adyacente. Millones de registros pueden ser de programación específico.
recorridos usando esta técnica. En una base de datos gráfica, el
énfasis principal está en la conexión entre los datos. IV. COMPARACIÓN DE LAS BASES DE DATOS
Las bases de datos de gráficos proporcionan un esquema RELACIONALES Y LAS NOSQL
menos y un almacenamiento eficiente de datos Como bien se ha dicho, las bases de datos relacionales tienen
semiestructurados. Las consultas se expresan como recorridos, grandes desventajas en cuanto a volúmenes grandes de datos
por lo que las bases de datos de gráficos son más rápidas que se trata, pero hay que destacar también que las bases de datos
las bases de datos relacionales. no relacionales o NoSQL también tienen algunas desventajas.
Es fácil de escalar y amigable con la pizarra. Las bases de A continuación se observa una lista de ventajas y desventajas
datos de gráficos son compatibles con ACID y ofrecen soporte de las dos:
de reversión. Las bases de datos de gráficos se pueden usar 1) Ventajas de NOSQL sobre bases de datos
para una variedad de aplicaciones como aplicaciones de redes relacionales
sociales, software de recomendación, bioinformática, gestión - Proporciona una amplia gama de modelos de datos
de contenido, seguridad y control de acceso, gestión de red y para elegir.
nube, etc. Es muy difícil de lograr 'Sharding' en las bases de - No tiene problema en trabajar con grandes volúmenes
datos gráficas. Las bases de datos de gráficos son difíciles de de datos al ser no relacionales.
agrupar. Neo4j es uno de los proveedores notables de DBaaS - Escalan fácilmente debido al modelo al que están
que utiliza almacenes de datos gráficos. orientadas
1) Neo4j: - Algunos de los proveedores de NOSQL DBaaS como
Neo4j es un sistema de gestión de base de datos de Riak y Cassandra están programados para manejar
gráficos desarrollado por Neo4j, Inc. Descrito por sus fallas de hardware
desarrolladores como una base de datos transaccional - Son más rápidas, más eficientes
compatible con ACID con almacenamiento y procesamiento - En los últimos años han tenido una evolución
de gráficos nativos, Neo4j es la base de datos de gráficos más constante
popular según el ranking DB-Engines, y el 22 más popular 2) Desventajas de NOSQL sobre Relacional
base de datos en general. - Algunas de ellas están en una etapa temprana y no
Neo4j está disponible en una "edición comunitaria" de están muy claras algunas cosas
código abierto con licencia GPL3, con copia de seguridad en - No hay lenguaje de consulta global
línea y extensiones de alta disponibilidad bajo una licencia - Algunas bases de datos NOSQL no son compatibles
comercial de código cerrado. Neo también otorga licencias de
con ACID.
Neo4j con estas extensiones bajo términos comerciales de
- Puede haber pérdida de datos debido a su modelo
código cerrado.
- El mantenimiento es difícil
E. Bases de datos orientadas a objetos:
Una base de datos orientada a objetos es una base de datos V. CONCLUSIONES
en la que los datos o la información que se guarda se //TODO
representa como un objeto. Por lo tanto, la base de datos
orientada a objetos se puede considerar como una REFERENCIAS
combinación de programación orientada a objetos (POO) y
principios de base de datos. El almacén de datos de objetos [1] Leavitt, N.,"Will NoSQL Databases Live Up to Their
ofrece todas las características de la POO, el encapsulamiento Promise ?" Computer, vol.43, no.2, pp.12-14, jul. 2019
de datos, el polimorfismo y la herencia. La clase, los objetos y doi: 10.1109/MC.2010.58
los atributos de clase en dichas bases de datos son [2] Bases de datos relacionales:
comparables a una tabla, tupla y columnas en una tupla en https://aws.amazon.com/es/relational-database/
RDBMS, respectivamente. Cada objeto tiene un identificador [3] PostgreSQL: https://www.postgresql.org/
de objeto que se puede usar para representar de manera única [4] Oracle Database:
ese objeto. El acceso a los datos es más rápido en el caso de https://es.wikipedia.org/wiki/Oracle_Database
Universidad de los Llanos. Riveros Walter. Bases de datos relacionales y NoSQL 5