Está en la página 1de 9

Comparativo de rendimiento transaccional

entre el motor de bases de datos relacional


MySQL y el motor de bases de datos
NoSQL tipo documental MongoDB.
OBJETIVOS
General

Comparar el rendimiento de los motores de bases de datos MySQL y MongoDB, con el fin de identificar las
ventajas transaccionales y de sistema entre los modelos relacional y NoSQL.

Específicos

Realizar una caracterización del motor de bases de datos relacional MySQL y el motor de bases de datos NoSQL
tipo documental MongoDB para sistemas transaccionales

1. Establecer métricas y pruebas que permitan identificar el rendimiento entre los motores de bases de
datos mencionados anteriormente.
2. Diseñar y desarrollar un SCRIPT para la gestión de información que permita validar el modelo relacional y
NoSQL basado en las métricas establecidas.
3. Evaluar los resultados de la comparación entre los modelos relacional y NoSQL

Se aborda este trabajo de investigación desde la necesidad y curiosidad como estudiante y profesional de la
ciencia de ingeniería de comparar y conocer los resultados de los rendimientos transaccionales entre dos motores
de bases de datos totalmente diferentes desde su concepción hasta su funcionamiento en entornos operativos.

Desde un marco teórico se identificará las principales características de ambos modelos, al igual que se dará a
conocer los motores de bases de datos que representan los modelos previamente mencionados y que serán los
utilizados para las pruebas de rendimiento establecidas. Tan importante como conocer sus orígenes, enfoques
operativos, y generalidades, lo es el conocer los trabajos similares que se han realizado.

En el apartado metodológico se describe las fases en las que se desarrollará el proyecto, al igual que las
respectivas pruebas de rendimiento que se definieron para determinar el rendimiento de los motores de bases de
datos complementándolo con la documentación del aplicativo de software desde el cual se ejecutaron las
pruebas.

Por último, con la obtención de los resultados habremos cumplido con los objetivos trazados al inicio y con la
realización de las respectivas conclusiones y recomendaciones tendremos la materia prima para futuros trabajos de
investigación.

2
MARCO TEÓRICO
 Bases de datos No relacionales (NoSQL)
La familia de bases de datos NoSQL cobija varios grupos enfocados en un modelo o esquema de solución, entre los
que se pueden encontrar: COMPLETAR
1. Bases de datos clave-valor: Su implementación es simple ya que almacena datos en pares clave-valor.
Donde la clave es el identificador único que devuelve un objeto que contiene información conocido como
valor. Algunos ejemplos de bases de datos que implementa el almacenamiento clave-valor son: Dynamo
DB, Redis, entre otros.

2. Bases de datos documentales: Se basa en almacenar, gestionar y recuperar datos de un archivo llamado
documento, este puede tener varios formatos como “XML, JSON, BSON”. Una de las bases de datos
documental más usada es MongoDB.

3. Bases de datos en grafo: La Base de datos es representada mediante el concepto de grafo, permitiendo
almacenar datos en forma de nodos. En este modelo de Base de datos se aplica la teoría de grafos para
poder gestionar la información. Es usada cuando existen diferentes entidades que necesitamos relacionar
y esto lo hacemos mediante nodos. Algunos ejemplos son: OrientDB, Neo4j.

4. Bases de datos Columnares: En este tipo de esquema la información esta organizada por columnas en
lugar de filas esto ayuda cuando existe la necesidad de evaluar grandes volúmenes de datos ya que el
acceso a los datos almacenados es mas eficiente. Por ejemplo: Apache Cassandra, Amazon Redshift.

Documentales: bases de datos diseñadas sobre el concepto de “Documento”, el cual se refiere a que cada
documento encapsula y codifica datos siguiendo un patrón de diseño estándar, no queriendo decir que cada
documento es igual a otro siendo estos del mismo tipo. Las escrituras son atómicas a nivel de documento, un
modelo de datos no normalizado facilita las operaciones de escritura atómicas. Cada vez que un documento se
actualiza la modificación realiza cambios a todos los atributos asociados, cada documento tiene un tamaño
máximo de 16 MB, a través de los índices en el campo _id se pueden realizar consultas más eficientes.
COMPLETAR
Las bases de datos documentales utilizan varios formatos para almacenar información estos pueden ser XML,
JSON, entre otros. Se caracterizan por no tener la información en tablas estructuradas si no que organizan los
datos en documentos los cuales no tienen una estructura fija, esto ayuda a la gestión de información además de
facilitar las operaciones CRUD.

Uno de los puntos fuertes al usar este tipo de modelo de base de datos es a la hora de realizar consultas ya que no
se tiene que recorrer todas las columnas o filas de una tabla, en su lugar se fija un identificador único a cada uno
de los documentos.

Algunas de las ventajas de este modelo son:

 Flexibilidad a la hora de almacenar grandes volúmenes de información.


 Priorizan la escritura rápida sobre la consistencia de los datos.
 El rendimiento es garantizado cuando se consulta información.
3
 Gran capacidad de escalabilidad y almacenamiento.

Desventajas del modelo documental:

 Las propiedades ACID no siempre se pueden garantizadas.


 NO manejan el lenguaje SQL.

MongoDB

Es un tipo de base de datos documental, dentro sus principales características se encuentran: capacidad de
escalabilidad y flexibilidad. La modelización de los documentos en MongoDB es fácil de aprender y usar ya que
facilita todo un catalogo de funcionalidades para satisfacer las demandas de los usuarios en cuanto a la gestión de
información.
El tipo de documento que utiliza MondoDB es JSON el cual tienes una estructura similar a una colección de pares
donde uno es el nombre y el otro el valor.

 Base de datos relacional MySQL

MySQL es un sistema de administración de bases de datos relacional (RDBMS por sus siglas en inglés) que compite
con otros sistemas RDBMS conocidos, como Oracle, SQL Server, DB2, PostgreSQL y MySQL….

Las instrucciones de inserción, actualización y eliminación ejecutadas sobre los datos en una base de datos
relacional se denominan transacciones, para que sean denominadas como tal, estas transacciones deben cumplir
un conjunto de características que garantizan un comportamiento fiable, este grupo de características se agrupan
bajo el acrónimo ACID de Atomicity, Consistency, Isolation, DurabilitY. COMPLETAR
La Atomicidad “Atomicity” establece que las modificaciones a una base de datos deben seguir la regla de todo o
nada, la cual dice que si una parte de la transacción falla toda la transacción fallará, esto se aplica en cualquier
circunstancia a la cual se someta la base de datos.
La consistencia verifica que solamente se ingrese información valida a la base de datos. Cualquier dato que se
quiera ingresar debe ser validado según las reglas definidas.
El aislamiento requiere que las transacciones múltiples no afectan la ejecución una a la otra, esto no quiere decir
que se sabrá que transacción se ejecutara primero solo se verificará que no se interrumpan entre si.
La durabilidad garantiza que una vez se halla confirmado una transacción quedara persistida, incluso ante eventos
como errores o caídas del sistema.

4
METODOLOGÍA
El comparativo permitirá identificar el mayor desempeño entre los dos motores de bases de datos.

El proceso consistirá en dos etapas: ingresar grandes cantidades de datos en cada uno de los motores divididos en
la siguiente información: 700 de entradas de registro, 7000 de entradas de registro, 1.300.000 de entradas de
registro, 2.000.000 de entradas de registro. Esta información se ingresará de manera aleatoria y se realizó a través
de clases en el lenguaje de programación que el estudiante elija. Luego, se realizará una comparativa en la lectura
de los datos agregados a cada una de las bases de datos, permitiendo compararlos mediante la métrica de
“Tiempo de ejecución” en cada una de ellas.

Por tanto, el proceso de comparación se divide en:

 Test de inserción
 Test de lectura de consultas simples
 Test de lectura de consultas complejas (Agregación)

Los modelos de base de datos, tanto para MongoDB como para MySQL se detallan a continuación, tomando en
cuenta que son modelos sin mucha complejidad pero que ayudan a un entendimiento en la comparación entre los
mismos:

 MongoDB

 MySql

El proceso se correrá en una máquina con las siguientes características:

Procesador:
AMD Ryzen 7 5700U, 8 núcleos, 16 procesadores lógicos, GPU AMD Radeon™ Graphics de 512 MBytes a 1801 Mhz

Memoria RAM:

Cantidad Tipo Tamaño Velocidad Channel # Fabricante Factor de CAS#


5
forma Latency
2 DDR4 4 GB c/u 3200 MHz Dual Samsung SODIMM 22.0 clocks

Disco duro:

Marca Modelo Tamaño Tipo Lectura Escritura


SK hynix BC711 512 Gb SSD 2,185 2,548
HFM512GD3JX012N MBytes/Sec MBytes/Sec

Sistema operativo:
Nombre S.O. Versión Compilación Fabricante Tipo
Microsoft Windows 10.0.19042 19042 Microsoft x64-based
10 Home Corporación

El código fuente de inserción y lectura de datos se detalla a continuación:


INSERTAR EL CODIGO FUENTE DE SU SCRIPT O PROGRAMA

6
RESULTADOS
Los resultados obtenidos, luego del proceso fueron los siguientes:

Tabla 1: Test simples de lectura

Tiempo de ejecucion MySQL MongoDB

1. Leer todos los objetos con id entre 120 hasta 8010 2142 ms

2. Seleccionar último registro por id 2045 ms

3. Seleccionar los nombres de los registros con like


4142 ms
“Ma” en el artista

Tabla 2: Test de escritura

(MySQL: tabla con relaciones) MySQL MongoDB

1. 700 entradas de datos (MySQL: tabla con relaciones) 1143 ms 191 ms

2. 7000 entradas de datos 10736 ms 263 ms

3. 1.300.000 entradas de datos 4685038 ms 10115 ms

4. 2.000.000 entradas de datos 14391 ms

Tabla 3: Test de lectura de consultas complejas (Agregación)

Consultas MySQL MongoDB

1. 20 artistas con más discos 5923 ms

2. 15 géneros más utilizados por los artistas 2984 ms

3. Listado de nombre del disco, nombre de artista y


género
(con los 2 millones de datos)

7
Tabla 4: Resultado pruebas de rendimiento, Métricas de sistema operativo

Rendimiento sistema operativo en pruebas de Inserción (2 millones)


Uso Memoria Actividad de Disco
Métrica Uso CPU (%) RAM (%) (ES/s)
Por tanto, la tabla 5 resume
MySQL la eficiencia entre los
motores de base de datos
MongoDB 3.82Ghz (21%) 6.4/7.3 (88%) V. Lectura 132 KB/s comparados, mostrando
V. Escritura 9.2 MB/s que…

Tabla 4: Resultado pruebas de rendimiento, Métricas de Bases de Datos

Búsqueda Búsqueda de
Inserción
% Eficencia Simple Agregado
(2 millones)
(Consulta #1) (Consulta #3)
MongoDB vs
MySQL

8
CONCLUSIONES

El desarrollo de este trabajo de investigación nos muestra dos tecnologías de bases de datos, por un lado, el
modelo Relacional con sus características ACID conservando la fiabilidad en sus transacciones y por el otro el
paradigma NoSQL que pretende ser una alternativa de gestión de datos donde el modelo tradicional tiene sus
limitantes. Sometidos ambos modelos a un ambiente de pruebas de rendimiento bajo el mismo lenguaje de
programación, entorno de desarrollo y lógica de programación nos encontramos en general que…
COMPLETAR

También podría gustarte