Las odiosas comparaciones
Seguimos con el tema de los grandes conjuntos de datos y ahora hacemos unas pruebas de rendimiento en cuanto a consultas básicas, vamos a hacer un cruce entre mes de registro del puesto de trabajo y sexo de la persona que lo ocupa.
Base de datos Oracle
Hexadata 12c
Después de haber importado los archivos de
texto con los datos de los puestos de trabajo para crear la base de datos de Oracle se procedió a hacer consultas
para ver los tiempos de respuesta, para ello se utilizó una consulta usando el PIVOT del PLSQL de Oracle y se
utilizó la VPN para realizarla desde home-office.
El resultado de esta consulta fue de 3:19 minutos.
Redatam R+SP
Usando la base de datos de Oracle pudimos construir la base
de datos para Redatam e hicimos el mismo cruce para también determinar el
tiempo de ejecución de este proceso, no pude observar donde marcaba el tiempo
de procesamiento por lo que lo hice cronometro en mano.
Sigue siendo sorprendente es menor que el de la consulta de Oracle, Redatam en su versión anterior
R+SP tardó 2:13 minutos.
Redatam 7
Redatam en su versión 7 mejora en varios aspectos ya que en
vez de archivos de texto ahora son archivos de XML, por ahora en velocidad no
supera a su versión anterior pero vamos a esperar la versión REDATAM X.
Tenemos una herramienta llamada Red7 Admin con la cual convertimos la base de datos en formato
anterior (extensión dic) al formato nuevo (extensión dicX).
En el menú “Conversion”
se elige la opción “Dic To XML” este
proceso no lleva mucho tiempo y se obtiene el Diccionario (base de datos
REDATAM) con el que vamos a hacer la consulta.
Aquí el resultado del cruce mencionado, en este caso cuando
inicia el proceso hay una ventana donde muestra diferentes datos entre ellos el
tiempo que se llevó la consulta, aunque esta ventana desaparece cuando se
muestran los resultados.
Esta consulta le llevó a REDATAM 5:45 minutos.
R con Spark.
Ahora vamos con Stark
usando el lenguaje de programación R, nuevamente se hace un gran archivo de
texto delimitado (csv) usando la base de datos de Oracle, para subirlo a un dataset de Spark se llevó entre 38 y 39
minutos.
Una cosa interesante es que las instrucciones que realizan
las consultas sobre el objeto Spark
duran segundos, pero cuando se consultan los datos de los objetos resultantes
es ahí cuando R empieza a ejecutar Jobs.
Por ahora el procedimiento es hacer las consultas sobre los
objetos Spark usando el paquete dplyr
se mandan a archivos csv para
luego volverlos a subir a dataframes de R
para finalmente hacer el reporte.
Puede ser que esta no
sea la manera óptima para hacer el reporte debido a mi poca experiencia con Spark.
Este script de R se ejecutó en 27:44 minutos.
Conclusiones y
reflexiones finales.
Estadística: Puestos
de trabajo registrados ante el IMSS 2016.
Consulta: Cruce
de mes de registro del puesto de trabajo contra sexo de la persona que ocupa el
puesto de trabajo.
Número de registros o
tuplas: 220, 816,117
Equipo donde se
ejecutaron los procesos:
Laptop HP AMD A8 2.1 Ghz 8Gb de RAM
Software |
Entorno
de ejecución |
Duración
del proceso |
Redatam R+SP |
Standalone |
2:13 minutos |
Oracle 12c |
Acceso a servidor mediante VPN |
3:19 minutos |
Redatam 7 |
Standalone |
5:45 minutos |
R con Spark |
Standalone |
27:44 minutos |
Sin duda el lenguaje R
tiene un sinfín de posibilidades y ventajas sin embargo es interesante ver
otras opciones que sin bien no tienen todo el potencial de R, pueden ser de ayuda para usuarios menos experimentados en el
manejo de lenguajes de programación o el perfil matemático.
Oracle es uno de los motores de base de datos más robusto y mejor posicionado en el mercado y revisando la documentación tiene módulos para trabajar con R y Spark. Puede ser que lo superó una de las versiones de Redatam debido al tipo de cuenta y quizás se pueda configurar para tener una respuesta más rápida.
En el caso de Redatam
es más cerrado y para nada tiene tanta extensibilidad (aunque hay esfuerzos de
trabajar por medio de plug-ins con algunos lenguajes como Python) pero
considero que para consultas y estadísticos muy básicos sigue siendo una
excelente herramienta para “el resto de personas interesadas en este mundo de
la estadística”, aunque también debo de señalar que no tengo todos los elementos para constatar sobre que tan cerrado y poco extensible es, ya que por cuestiones de que nos enfocamos a otras herramientas y de vez en cuando, como ahora regresamos a probar la herramienta nuevamente.
Seguiremos publicando más de las herramientas de software en futuras entregas.
Miguel Araujo.
Comentarios
Publicar un comentario