Anda di halaman 1dari 21

Oracle DB 12c y Microsoft SQL Server 2014 Pruebas y Anlisis

de Rendimiento en Consultas DML en Comando SELECT

Johan Alejandro Verdugo Santana

Corporacin Universitaria Minuto de Dios


Oracle DB 12c y Microsoft SQL Server 2014

Pruebas y Anlisis de Rendimiento en Consultas

DML en Comando SELECT

Johan Alejandro Verdugo Santana1

Resumen

En este artculo se presenta un estudio comparativo sobre el desempeo en base al rendimiento

en las consultas tipo Lenguaje de Manipulacin de Datos, (DML, por sus siglas en ingls); se

especifican las transacciones SELECT entre Oracle DB 12c y Microsoft (MS) SQL Server 2014.

Cada Sistema de Gestin de Base de Datos (SGBD, por sus siglas en espaol) posee ventajas y

desventajas. La base de datos y consultas realizadas son tomadas de acuerdo a un proyecto, para

demostrar el rendimiento en los SGBD recientes. Las pruebas estn dirigidas para examinar el

rendimiento en las consultas mencionadas con tres niveles de dificultad entre estos dos sistemas.

Se realiza una evaluacin comparativa en las consultas SELECT cara a cara entre estos dos

sistemas, los resultados necesitan una diferencia a nivel de consultas que lidera Microsoft SQL

Server frente a Oracle DB 12c.

Palabras Clave: Oracle DB, MS SQL Server, bases de datos, consultas, rendimiento.
Abstract

This paper presents a comparative study of performance-based performance in Data

Manipulation Language (DML) queries; SELECT transactions are specified between Oracle DB

12c and Microsoft (MS) SQL Server 2014. Each Database Management System (DBMS) has

advantages and disadvantages. The database and queries are taken according to a project, to

demonstrate the performance in the recent DBMS. The tests are aimed at examining performance

in the mentioned queries with three levels of difficulty between these two systems. A

benchmarking is performed on SELECT face-to-face queries between these two systems, the

results need a query-level difference that leads Microsoft SQL Server versus Oracle DB 12c.

Key words: Oracle DB, MS SQL Server, databases, queries, performance.

Introduccin

En la actualidad las bases de datos constituyen unas de las tecnologas de la informacin

ms eficientes y poderosas de las que se disponen. En muchas organizaciones existen

aplicaciones desarrolladas en Sistemas de Gestin de Bases de Datos (SGBD), que presentan

problemas de optimizacin y desempeo debido a que los tiempos de respuesta no satisfacen las

expectativas del usuario (Moreno, Olarte,2012, pp 6-17). Una de las posibles causas de lo

mencionado es que las operaciones, como las consultas, no estn optimizadas.


Para definir los tipos de consultas, el Lenguaje Estructurado de consulta (SQL, por sus

siglas en ingls) es un lenguaje de consulta que permite el acceso a las bases de datos

relacionales, para lo cual se pueden especificar diversos tipos de operaciones (Meza, 2015). SQL

proporciona dos lenguajes: un lenguaje de definicin de datos DDL (Data Definition Language,

por sus siglas en ingls), que permite especificar el esquema de una base de datos a travs de

operaciones de creacin (CREATE), modificacin (ALTER) y borrado (DROP) de objetos; y un

lenguaje de manipulacin de datos DML, el cual permite expresar operaciones sobre los datos,

tales como insercin de registros (INSERT), modificacin de registros (UPDATE), eliminacin

de registros (DELETE) y consultas (SELECT) (Hernndez, Gonzlez, 2015).

Al tomar una decisin sobre qu sistema elegir es necesario seleccionar cul es ptimo y el

que ofrece mayores garantas en cuanto a rendimiento, tambin es importante elegir cual es ms

accesible combinando costo/rendimiento. En particular, cada Database management system,

(DBMS, por sus siglas en ingls) se caracteriza por un conjunto de diversas caractersticas

funcionales y no funcionales y las especificaciones, cada uno con sus ventajas y desventajas, una

de las cuales es el rendimiento el determina qu tan rpido un DBMS puede procesar y ejecutar

consultas (Bassil, 2012). De esta manera cada empresa necesita realizar un estudio entre el costo

y rendimiento para establecer cul SGBD se acomoda a sus necesidades, por esto muchas

empresas de desarrollo de software estn creando y produciendo sistemas los cuales cuestan

entre cero dlares en el caso de los SGBD (Sivakumar, Software Engg, 2011).

Cabe mencionar que a nivel de consulta query (por su vocablo en ingls) existen algunos

inconvenientes relacionados con el nivel de complejidad o dificultad que puede alcanzar las
sentencias en su estructuracin que dado el uso inapropiado de una o varias consultas

dependiendo la experiencia del programador. Esto ltimo puede ser originado por las siguientes

causas: por la cantidad de tablas necesarias para resolver un query, por la cantidad de

restricciones necesarias para filtrar los datos y por la combinacin de columnas que haya que

visualizar (Meza, 2015).

El mal uso de las clusulas de la sentencia SELECT para consultar una base de datos es

la razn principal por la cual un query no puede resolverse en mximo 3 segundos; la sentencia

SELECT es aquella que se utiliza para elegir de una tabla, un subconjunto de filas que cumplan

con determinadas condiciones. (p. 51). De acuerdo a lo anterior se entiende que el mal uso en

una consulta query entrega un rendimiento insuficiente, y por ende, el mal uso que se le da en la

consulta. Se recomienda que el usuario primero conozca la arquitectura del SGBD, la sintaxis y

las tcnicas para las sentencias y as aprovechar el mximo rendimiento del sistema

En este artculo se hace una comparacin y anlisis de rendimiento, ya que cada sistema

tiene sus pros y contras. La base de datos de Oracle ayuda a lograr resultados fiables, es flexible,

segura y rentable para administrar la informacin y aplicaciones; por otro lado, ofrece un alto

rendimiento y escalabilidad (p. 2). Adems, posee muy buen desempeo en rendimiento y su uso

menos complejo en consultas, maneja un optimizador interno que le permite definir un plan de

ejecucin para una consulta. (Moreno, Romero, Restrepo, 2005, p. 2). Mientras MS SQL Server

posibilita el acceso de varios usuarios simultneamente, permite almacenar gran cantidad de

informacin y brinda un soporte confiable, seguro y estable de la informacin. Constituye la

alternativa de Microsoft a otros potentes sistemas de gestores de base de datos. (Moreano, 2014).
Los tipos de datos de MS SQL Server son compatibles con la mayora de tipos de datos de

Oracle DB, DB2 y MySQL Sistemas de Gestin de Base de Datos Relacional (RDBMS, por sus

siglas en ingles). Se pueden utilizar los mismos formatos para crear y almacenar datos en las

diferentes bases de datos existentes (Martn, Mata, Manuel, Labrada, Leyva, 2016). En general,

Oracle como Microsoft son soluciones disponibles slo con la edicin empresarial de los

servidores de base de datos y el objetivo de un SGBD es proporcionar un entorno practico y

eficiente para almacenar y recuperar la informacin de la base de datos (Cuervo, Sarmiento,

2006). Por consiguiente, las empresas deben comparar los costos de mejoras en el rendimiento

para determinar la viabilidad de migrar a una mejor arquitectura (Ionu HRUBARU, Marin

FOTACHE . (2017).

El principal problema que se presenta en estas dos bases de datos seleccionadas de acuerdo

a consultas realizadas, es que existe carencia de parmetros de tiempos de rendimiento de dichos

sistemas, se aborda la problemtica mediante una comparacin metodolgica en los tiempos de

respuesta en las consultas de los gestores de bases de datos mencionados anteriormente, el

objetivo es determinar qu sistema de gestin de bases de datos obtiene mejor rendimiento en las

consultas.
Metodologa

Se realiza una comparacin en los dos SGBD ejecutando diferentes consultas DML

especficamente la consulta SELECT para ejecutar las consultas de los procedimientos

almacenados que se cargaron a la base de datos. La medicin desarrollada determina el

rendimiento de los SGBD desde las consultas. En consecuencia, los datos obtenidos permiten

descubrir diferencias y evaluar los resultados obtenidos, permitiendo interpretar y mostrar los

resultados de rendimiento en las consultas DML en los dos sistemas.

Desarrollo practico.

El equipo usado para las pruebas de rendimiento para los dos sistemas a usar corresponde a

las siguientes especificaciones:

tems Especificaciones

Modelo Lenovo G470

Tipo x64-Based-PC

Procesador Intel Core i5 segunda

generacin a 2.5 GHz

Memoria RAM 6 GB

Disco Duro 500 GB

Tabla 1. Especificaciones de Hardware Generales del Equipo.


Plataforma de Software.

Sistema operativo instalado: Microsoft Windows 10 Pro x64 bits

Gestores de BD instalados: MS SQL Server 2014 y Oracle 12c Express ed.

Dificultad de las consultas.

Considerando el nmero de atributos y relaciones disponibles de la BD a usar se realizan

las siguientes consultas SELECT para verificar el estrs en los tres tipos de niveles que se describen

en la Tabla 2, a continuacin se muestran los niveles de dificultad: alta, media y baja junto con la

query.

Nivel de SELECT niveles de dificultad


dificultad en
consultas
Alta

Media

Baja

Tabla 2. consultas tipos de comando SELECT.

(Sandro, Roger, 2007)


Como se muestra en la Tabla 3 se asocia el tipo de dificultad en consultas, los atributos,

los ordenamientos los joins y la direccin en las consultas:

Dificultad Atributos Ordenamientos joins Direccin


Consultas
SELECT
ALTA 10 5 3 1 desc

2 asc

MEDIA 4 2 2 1 asc

1 desc

BAJA 2 1 1 1 desc

Tabla 3. dificultad de consultas.

(Sandro, Roger, 2007)

De acuerdo a la Tabla 3 estructuran las siguientes sentencias SELECT para realizar la prueba

de rendimiento en los dos sistemas.

Preparacin para la prueba de rendimiento entre los dos sistemas de BD

Para esta prueba de rendimiento se realiza el siguiente procedimiento:

1.1. Crear base de datos, crear tablas y las relaciones.

Se seleccion una base de datos ya creada para realizar la prueba de rendimiento (Judith,

Roger, 2007). La base de datos usada para la prueba de rendimiento es un modelo de bases

de datos para estructuras planas se compone de 6 tablas referenciadas entre s, el modelo ha

sido escogido para realizar las pruebas, el cual se aplican para que permitan medir el

rendimiento de cada sistema sometindolo a cargas de trabajo combinado con operaciones

numricas. A continuacin, se describen las tablas y su contenido:


Nombre de tablas Atributos
ELEMENTO codele, tipoe,codprop, fix,fiy,fiz,codnudini,codnudfin
PROPIEDADES codprop,elasticidad,inercia,area
CARGELEM codce, tipo, inicio, longitud, fx, fy, mz, codele
NUDO codnud, tiponu, x, y, codbor, dx, dy, gz, rx, ry, rz
CARGNUD codcn, px, py, pz, codnud
BORDE codbor, borx, bory, borz
Tabla 4. Tablas y Atributos

(Judith, Roger,2007).

Las tablas estn en el siguiente detalle, el modelo relacional de la base de datos a usar se

muestra en la figura 2:

Figura 2. Modelo relacional base de datos

(Judith, Roger, 2007).


1.2. Crear los procedimientos que permitan la insercin de miles de filas, y Verificar los

resultados de insercin:

Figura 3. Insercin de Procedimientos Almacenados en Oracle DB 12c (elaboracin propia).

Como se muestra en la figura 3, es la insercin de datos para crear los procedimientos

almacenados para ingresar las filas de 1000,5000,10000,50000 y 500000 datos a la base de

datos en los dos sistemas.

1.3. Ejecutar las consultas

Como se muestra en la tabla 2 estas consultas se ejecutan para realizar las pruebas con los

3 niveles mencionados para las pruebas de rendimiento en los dos SGBD.

1.4. Tomar tiempos

Cada sistema de gestor de bases de datos posee su propio gestor de tiempos para cada tiempo

que se ejecuta una consulta.

Para estas pruebas de rendimiento que se realizaron fue muy importante aplicar de acuerdo a la

lo siguiente: Se ejecutaron las pruebas a intervalos de 30 segundos a fin de evitar el posible

efecto de la cach de memoria, Para la insercin de las filas se tuvo que codificar teniendo

mucho cuidado en conservar la integridad referencial de la base de datos. Todo el procedimiento


preparativo y ejecutorio se realiz con SQL; desde la creacin de las tablas, la insercin de filas

y hasta la consulta de las mismas (Sandro, Roger, 2007).

En SQL Server 2014 y Oracle DB 12c se crearon procedimientos almacenados para la

insercin de miles de filas en las tablas. En SQL Server, la insercin de 500000 filas en cada una

de las 6 tablas de la base de datos, demor casi 9 minutos. Y en Oracle se demor casi 8 minutos.

A continuacin, se muestran las siguientes tablas de rendimiento entre Oracle Y SQL

Server en milisegundos:

MS SQL Server 2014 Tiempos en milisegundos Oracle DB 12c Tiempos en milisegundos


Filas Lectura 1 Lectura 2 Lectura 3 Lectura 4 Lectura 5 Promedio Filas Lectura 1 Lectura 2 Lectura 3 Lectura 4 Lectura 5 Promedio
1000 71 71 75 72 72 72 1000 19 19 18 17 18 18
Dificultad 5000 310 306 307 307 306 307 5000 49 51 53 51 50 51
Baja 10000 615 615 620 605 620 615 10000 118 119 124 119 119 120
50000 3005 2890 2910 2991 2990 2957 50000 385 381 370 381 381 380
500000 5530 5520 5490 5510 5510 5512 500000 5250 5456 5410 5456 5430 5400
Filas Lectura 1 Lectura 2 Lectura 3 Lectura 4 Lectura 5 Promedio Filas Lectura 1 Lectura 2 Lectura 3 Lectura 4 Lectura 5 Promedio
1000 88 90 91 92 89 90 1000 70 72 67 70 71 70
Dificultad 5000 433 419 433 431 430 429 5000 250 241 250 239 240 244
Media 10000 789 791 792 788 789 790 10000 710 713 711 710 708 710
50000 3811 3985 3875 3568 3810 3810 50000 1214 1210 1189 1180 1208 1200
500000 7950 7610 7550 7610 7690 7682 500000 9780 9790 9810 9811 9811 9800
Filas Lectura 1 Lectura 2 Lectura 3 Lectura 4 Lectura 5 Promedio Filas Lectura 1 Lectura 2 Lectura 3 Lectura 4 Lectura 5 Promedio
1000 73 75 76 77 73 75 1000 26 26 29 28 26 27
Dificultad 5000 415 410 356 389 380 390 5000 116 114 115 117 114 115
Alta 10000 739 741 742 749 730 740 10000 228 229 227 224 223 226
50000 3820 3815 3814 3795 3807 3810 50000 810 810 770 780 780 790
500000 7542 7454 7510 7685 7515 7541 500000 8873 8871 8860 8850 8900 8871

tabla 5.

(Elaboracin propia, basado en Sandro, Roger, 2007).

A partir de las Tabla 5 se realizaron 5 lecturas de acuerdo a tablas realizadas se sac un

promedio total en cada uno de los sistemas, y cargando filas desde 1000 hasta finalizar con

500000 filas para comprobar el rendimiento y se registraron en las tablas el tiempo en

milisegundos en cada prueba realizada.


Resultados y discusin

A continuacin, se presenta una serie de pruebas de rendimiento entre los dos SGBD Oracle DB

12c y MS SQL Server. En las pruebas para tratar de garantizar en lo posible igualdad de

condiciones en la plataforma de pruebas, que se verific segn los sitios oficiales tanto de Oracle

y Ms SQL Server, se hicieron 3 pruebas en consultas se cargaron 6 tablas con los tamaos 1000,

5000, 10000, 50000 y 500000 filas, y se tom el tiempo de ejecucin sobre los tres niveles en que

se realizaron las pruebas, baja, media, y alta, especficamente se realizaron mediciones y grficas.

Para el caso de MS SQL Server se obtiene el resultado de la figura 4, se tom el tiempo de la

consulta teniendo en cuenta el nivel de complejidad definida como alta (Tabla 2).

figura 4. Resultados tiempo en milisegundos.

Luego de las operaciones de consultas que se analizaron, se obtienen los resultados de la Figura

4, donde se especifica la duracin en milisegundos de la consulta SELECT que se muestra

detallado en color rojo, aplicada en SQL Server. Los resultados registrados y analizados

favorecieron a SQL Server; a continuacin, se muestran los grficos sobre los resultados

obtenidos. Y se sustenta dicha afirmacin.


Resultados de rendimiento de tres niveles de dificultad en las consultas en SQL Server.

Grafica 1. Comparativo, niveles de dificultad en SQL Server (elaboracin propia).

Resultados de rendimiento de tres niveles de dificultad en las consultas en Oracle.

Grafica 2. Comparativo, niveles de dificultad en Oracle DB 12c (elaboracin propia).


Resultados de rendimiento comparando el promedio de las dos bases de datos en dificultad alta,

media y baja. (Ver Graficas 3,4 y 5).

Grafica 3. Comparativo, niveles de rendimiento en los dos sistemas Oracle DB y SQL server

dificultad alta (elaboracin propia).

Grafica 4. Comparativo, niveles de rendimiento en los dos sistemas Oracle DB y SQL server

dificultad media. (elaboracin propia)


Grafica 5. Comparativo, niveles de rendimiento en los dos sistemas Oracle DB y SQL server

dificultad baja (elaboracin propia).

En las Graficas 3, 4 y 5 se muestra el comparativo de las filas de datos obtenidos versus la

respuesta en milisegundos que tardaron los dos SGBD Oracle DB 12c y MS SQL Server 2014.

De acuerdo a las lecturas tomadas se analiz lo siguiente: se procede a verificar los datos y

los promedios generales de cada escenario.

El comportamiento en dificultad alta Oracle DB 12c obtiene un buen desempeo en la

consulta hasta punto de inflexin de 300500 filas, sin embargo, MS SQL Server 2014 despus de

este punto se obtiene un mayor desempeo en la consulta despus de 400000 filas obteniendo un

mejor tiempo de respuesta en cuanto a su competencia.

El siguiente comportamiento en la dificultad media Oracle DB 12c sigue obteniendo un buen

tiempo en la consulta hasta las 300000 filas consultadas. En el punto de inflexin MS SQL Server

sigue obteniendo un mejor tiempo de respuesta superndolo despus de 400000 filas en la consulta.
El ultimo comportamiento en la dificultad baja Oracle DB 12c obtiene muy desempeo en

la mayora de las consultas. En la consulta de 500000 filas solo por una pequea diferencia de 112

filas en MS SQL Server 2014 es ms lento.

El comportamiento de Oracle DB 12c al ejecutar las pruebas sufre un descenso de desempeo

despus de 300500 filas en dificultad alta y en 300000 filas en dificultad media, por tanto, MS

SQL Server 2014 obtiene un mejor desempeo en la consulta mayor a 400000 filas. En la dificultad

baja, Oracle DB 12c escasamente sobrepasa el nivel de consultas en 500000 filas frente a MS SQL

Server 2014 en la mxima consulta de datos.

Entonces el sistema gestor base de datos MS SQL Server 2014 resultara ser el sistema ms rpido

en tiempos de respuesta en exceso de consulta de datos despus de 300500 filas. Por tanto, en la

consulta mxima de 500000 filas MS SQL Server 2014 sobrepasa en 1330 filas consultadas en la

dificultad alta y en 2308 filas en la dificultad media.

Para ir finalizando, analizando los tres comportamientos de acuerdo a cada dificultad de las

consultas realizadas MS SQL Server 2014 obtiene un mejor desempeo en el tiempo de la consulta

de la base de datos en el mximo nmero de filas consultadas con el comando SELECT en la

dificultad alta y media, sin embargo, Oracle DB 12c obtuvo muy buen desempeo en la dificultad

baja superando a su rival.


Conclusiones

Es muy importante continuar las pruebas realizadas con los dems SGBD ya que permite evaluar

los tiempos de respuesta en las consultas en estos sistemas. Cabe aclarar que en las pruebas se

pueden obtener mejores resultados y herramientas en cuanto a optimizadores.

De acuerdo a artculos investigados en algunos se especifican pruebas de rendimiento con

SGBD, sin embargo, posen anlisis y resultados desactualizados. Por consecuencia se realizaron

pruebas en base a estas nuevas versiones. En las comparaciones de que se obtienen resultados

mediante datos y grficos en la consulta SELECT que se aplicaron en los gestores de base de

datos Oracle DB 12c y MS SQL Server 2014 los resultados finales, donde se describe que MS

SQL Server 2014 obtiene un promedio de respuesta a la consulta SELECT ms ptimo en mayor

carga en consulta de datos que Oracle DB 12c en dificultad alta despus de 300500 filas

consultadas y en dificultad media despus de 300000 filas consultadas.

Las pruebas se realizaron sin ninguna alteracin para mostrar el desempeo de cada sistema, su

instalacin fue predeterminada sin programas de terceros. Las pruebas realizadas podran

desempearse mucho mejor en sistemas ms recientes en cuanto a hardware como una CPU de 2

GHz de arquitectura x64, cuatro ncleos o superior, sistemas AMD Opteron o Intel Xeon,

Memoria RAM de 16 GB o ms y Matriz de discos duros SAS RAID 5 o RAID 10 y software

especfico para la optimizacin de consultas.


Se propone a futuro realizar ms pruebas hacia los dems SGBD existentes en sus versiones ms

recientes y lograr precisar resultados ms concisos y detallados para obtener diferencias en cada

uno de estos gestores de bases de datos.


Referencias Commented [eh1]: ORDENAR alfabticamente
Commented [A2R1]:
Bassil, Y. (2012). A comparative study on the performance of the Top DBMS systems. arXiv

preprint arXiv:1205.2889.

Cuervo, M. C., & Sarmiento, J. C. D. (2006). Comparacin de los motores de base de datos

Postgres y SQLServer en plataforma Windows. Facultad de Ingeniera, 15(21), 70-76.

Hernndez, A. P., & Gonzlez, C. R. J. Propuesta de tutorial interactivo en lnea para apoyar la

enseanza del lenguaje de consulta estructurado.

Ionu HRUBARU, Marin FOTACHE . (2017, enero). On the Performance of Three In-Memory

Data Systems for On Line Analytical Processing . Informatica Economica , vol. 21, pp. 5-

15. .

Judith, P., & Roger, S. (2007). Modelo de base de datos para Estructuras Planas (Tesis de

pregrado). Universidad Mayor de san Andres, Bolivia.

Martn Pea, N., Mata, M., Manuel, M., Labrada Quiala, R., & Leyva Jerez, G. R. (2016).

Proceso de rplica de datos con Microsoft SQL Server para el Replicador de Datos Reko.

Revista Cubana de Ciencias Informticas, 10(3), 171-185.

Meza, E. S. (2015). OPTIMIZACIN DE LOS TIEMPOS DE RESPUESTAS EN UNA BASE

DE DATOS. Gaceta Sansana, 1(5).

Moreno, F. J., & Olarte, J. W. (2012). ndices de Tres Estrellas: un caso de estudio en Oracle y

SQL Server. Ingenium Revista de la facultad de ingeniera, 13(26), 6-17.

Moreano Camacho, E. M. (2014). Artculo Cientfico-Anlisis, diseo, construccin e

implementacin de un portal de informacin y venta de aplicaciones de entrenamiento para

el club de video juegos de la ESPE.


Moreno, F. J., Romero, G. O., & Restrepo, R. L. (2005). Desempeo de consultas SQL

relacionales y objeto-relacionales en Oracle. Ingeniera e Investigacin, 25(3), 4-12.

Saikia, A., Joy, S., & Dhondup Dolma, R. M. (2015). R, Comparative Performance Analysis of

MySQL and SQL Server Relational Database Management Systems in Windows

Environment.

Sandro, M., & Roger, S. (2007). Comparacion del Rendimiento de MS SQl Server, Oracle y

Posgres SQL para consultas de diversa Complejidad en Tablas Relacionadas de Miles de

filas (Tesis de pregrado). Universidad Mayor de san Andres, Bolivia

Sivakumar, Software Engg. (2011, octubre). SWOT Analysis of the Oracle standard and MS-

SQL server Technologies . - International Journal of Computer Science and Information

Technology & Security , Vol. 1, No. 1,, pp1-6. .

Technet.microsoft.com. (2017). Requisitos de hardware de Microsoft SQL Server para Microsoft

Dynamics 365 Server. [online] Available at: https://technet.microsoft.com/es-

es/library/hh699808.aspx [Accessed 21 Jun. 2017].

Anda mungkin juga menyukai