En la actualidad existen muchos sistemas gestores de bases de datos, cada uno con características diferentes y creados para funcionar en entornos diferentes.
De entre todos los sistemas que existen, se ha decidido escoger 6 sistemas basados en SQL de entre los más usados en la actualidad y se ha comparado el rendimiento que tiene cada uno realizando una serie de tareas sobre un conjunto de datos dado, así como se les ha medido el espacio que pueden llegar a ocupar.
Para que estos sistemas compitan en condiciones lo más igualadas posibles, se ha instalado cada uno en un contenedor de Docker, donde se les ha limitado los recursos que pueden llegar a usar.
El conjunto de datos originalmente está sin normalizar, pero aun tras normalizarlo se ha seguido utilizando, haciendo que cada sistema realice las tareas en 2 bases de datos. Con esto se puede poner más a prueba los diferentes sistemas elegidos y se puede comparar también si es mejor en términos de eficiencia normalizar una base de datos o no.
Las tareas que se han propuesto para que cada proceso realice en cada base de datos son: una carga de datos, 2 consultas SELECT con un índice en una de ellas, 1 modificación de tipo de dato de columna, 1 UPDATE, 1 DELETE y un dump.
Una vez realizados los diferentes procesos y tareas anteriores en 2 bases de datos diferentes para cada sistema, se ha formado un ranking a raíz de los tiempos y pesos medidos para cada base de datos, dando los siguientes resultados:
Para el ranking de la base de datos sin normalizar, PostgreSQL ha sido el más eficiente con diferencia al resto de sistemas, y SQLite ha sido el peor de entre todos. Sobre el resto de sistemas, MSSQL está mejor posicionado que los demás, y entre Oracle, MariaDB y MySQL apenas hay mejoría.
Para el ranking de la base de datos normalizada, PostgreSQL sigue siendo el más eficiente pero con menor diferencia al resto. Lo mismo ocurre con SQLite, ya que aun siendo de nuevo el menos eficiente no hay tanta diferencia como la había en la base de datos sin normalizar. Oracle mejora con los datos normalizados y MSSQL empeora, mientras que MariaDB y MySQL se mantienen en las mismas posiciones que el otro ranking.
Abstract:
Currently, there are many database management systems, each with different characteristics and designed to operate in different environments.
Among all the existing systems, six SQL-based systems were selected from the most widely used today, and their performance was compared by executing a series of tasks on a given dataset, as well as measuring the space they occupy.
To ensure these systems compete under the most equal conditions possible, each was installed in a Docker container with resource limitations applied.
The dataset was initially unnormalized, but even after normalization, it continued to be used, allowing each system to perform tasks on two databases. This provided a more thorough test of the selected systems and allowed a comparison of whether normalizing a database is more efficient.
The tasks proposed for each process to perform on each database are: a data load, two SELECT queries (one with an index), one column datatype modification, one UPDATE, one DELETE and a dump.
After executing the above processes and tasks on two different databases for each system, a ranking was created based on the measured times and sizes for each database, yielding the following results:
For the unnormalized database ranking, PostgreSQL was by far the most efficient system, while SQLite was the worst among all. For the remaining systems, MSSQL was better positioned than the others, with little improvement among Oracle, MariaDB, and MySQL.
For the normalized database ranking, PostgreSQL remained the most efficient, but with a smaller margin compared to the others. The same was true for SQLite, as although it was again the least efficient, the difference was not as significant as with the unnormalized database. Oracle improved with the normalized data, while MSSQL performed worse. MariaDB and MySQL retained the same positions as in the other ranking.
En la actualidad existen muchos sistemas gestores de bases de datos, cada uno con características diferentes y creados para funcionar en entornos diferentes.
De entre todos los sistemas que existen, se ha decidido escoger 6 sistemas basados en SQL de entre los más usados en la actualidad y se ha comparado el rendimiento que tiene cada uno realizando una serie de tareas sobre un conjunto de datos dado, así como se les ha medido el espacio que pueden llegar a ocupar.
Para que estos sistemas compitan en condiciones lo más igualadas posibles, se ha instalado cada uno en un contenedor de Docker, donde se les ha limitado los recursos que pueden llegar a usar.
El conjunto de datos originalmente está sin normalizar, pero aun tras normalizarlo se ha seguido utilizando, haciendo que cada sistema realice las tareas en 2 bases de datos. Con esto se puede poner más a prueba los diferentes sistemas elegidos y se puede comparar también si es mejor en términos de eficiencia normalizar una base de datos o no.
Las tareas que se han propuesto para que cada proceso realice en cada base de datos son: una carga de datos, 2 consultas SELECT con un índice en una de ellas, 1 modificación de tipo de dato de columna, 1 UPDATE, 1 DELETE y un dump.
Una vez realizados los diferentes procesos y tareas anteriores en 2 bases de datos diferentes para cada sistema, se ha formado un ranking a raíz de los tiempos y pesos medidos para cada base de datos, dando los siguientes resultados:
Para el ranking de la base de datos sin normalizar, PostgreSQL ha sido el más eficiente con diferencia al resto de sistemas, y SQLite ha sido el peor de entre todos. Sobre el resto de sistemas, MSSQL está mejor posicionado que los demás, y entre Oracle, MariaDB y MySQL apenas hay mejoría.
Para el ranking de la base de datos normalizada, PostgreSQL sigue siendo el más eficiente pero con menor diferencia al resto. Lo mismo ocurre con SQLite, ya que aun siendo de nuevo el menos eficiente no hay tanta diferencia como la había en la base de datos sin normalizar. Oracle mejora con los datos normalizados y MSSQL empeora, mientras que MariaDB y MySQL se mantienen en las mismas posiciones que el otro ranking.
Abstract:
Currently, there are many database management systems, each with different characteristics and designed to operate in different environments.
Among all the existing systems, six SQL-based systems were selected from the most widely used today, and their performance was compared by executing a series of tasks on a given dataset, as well as measuring the space they occupy.
To ensure these systems compete under the most equal conditions possible, each was installed in a Docker container with resource limitations applied.
The dataset was initially unnormalized, but even after normalization, it continued to be used, allowing each system to perform tasks on two databases. This provided a more thorough test of the selected systems and allowed a comparison of whether normalizing a database is more efficient.
The tasks proposed for each process to perform on each database are: a data load, two SELECT queries (one with an index), one column datatype modification, one UPDATE, one DELETE and a dump.
After executing the above processes and tasks on two different databases for each system, a ranking was created based on the measured times and sizes for each database, yielding the following results:
For the unnormalized database ranking, PostgreSQL was by far the most efficient system, while SQLite was the worst among all. For the remaining systems, MSSQL was better positioned than the others, with little improvement among Oracle, MariaDB, and MySQL.
For the normalized database ranking, PostgreSQL remained the most efficient, but with a smaller margin compared to the others. The same was true for SQLite, as although it was again the least efficient, the difference was not as significant as with the unnormalized database. Oracle improved with the normalized data, while MSSQL performed worse. MariaDB and MySQL retained the same positions as in the other ranking. Read More


