Artículo
· 20 dic, 2022 Lectura de 3 min

Test de velocidad de ingestión y consulta de datos

Llamamos Procesamiento Híbrido Transaccional y Analítico (HTAP por sus siglas en inglés) a la capacidad de recuperar numerosos registros por segundo, mientras que a la vez se permiten consultas simultáneas en tiempo real. También se llama Analítica Transaccional ó Transanalítica y es un elemento muy útil en escenarios en los que disponemos de un flujo constante de datos en tiempo real, como podría ser el caso de datos provenientes de sensores IIOT o información de las fluctuaciones en el mercado bursátil y nos permite satisfacer la necesidad de consultar estos conjuntos de datos en tiempo real o casi en tiempo real.

Os comparto un ejemplo que podréis ejecutar en el que se recibe un conjunto de datos en streaming, con entradas de datos constantes y consultas continuas a la vez. El ejemplo está desarrollado en varias plataformas y podréis comparar cómo reaccionó cada una de ellas, con la velocidad de entrada y salida de datos en cada plataforma y su rendimiento. Las plataformas con las que he probado en esta demo son: InterSystems IRIS, MariaDB y MySQL.

Video de la demo: https://www.loom.com/share/8e30930232db4b18ac455e310226575d

Requisitos previos

Docker y Docker Compose

Ejecución en local

Ejecutamos los tests de velocidad de ingestión de registros y consultas sobre los mismos en tres plataformas diferentes: MySQL, MariaDB e InterSystems IRIS Community Edition.

Deberéis descargar el archivo YAML del docker-compose que os desplegará la imagen correspondiente a cada plataforma:

  1. Ejecuta el test de velocidad con MySQL
    1. Descarga el archivo YAML: https://raw.githubusercontent.com/intersystems-community/irisdemo-demo-htap/master/docker-compose-mysql.yml
    2. Abre command prompt en la carpeta en la que está el archivo YAML y ejecuta el comando, para generar la imagen docker image para MySQL: docker-compose -f ./docker-compose-mysql.yml up
    3. Abre una pestaña de navegación en http://localhost:10000 para ver la interfaz de la demo.
  2. Ejecuta el test de velocidad con MariaDB
    1. Descarga el archivo YAML: https://raw.githubusercontent.com/intersystems-community/irisdemo-demo-htap/master/docker-compose-mariadb.yml
    2. Abre command prompt en la carpeta en la que está el archivo YAML y ejecuta el comando, para generar la imagen docker image para MariaDB: docker-compose -f ./docker-compose-mariadb.yml up
    3. Abre una pestaña de navegación en http://localhost:10000 para ver la interfaz de la demo.
  3. Ejecuta el test de velocidad con InterSystems IRIS
    1. Descarga el archivo YAML: https://raw.githubusercontent.com/intersystems-community/irisdemo-demo-htap/master/docker-compose.yml
    2. Abre command prompt en la carpeta en la que está el archivo YAML y ejecuta el comando, para generar la imagen docker image para InterSystems IRIS: docker-compose up
    3. Abre una pestaña de navegación en http://localhost:10000 para ver la interfaz de la demo.

Después de que las pruebas se ejecuten desde el dispositivo local, los resultados se pueden ver en forma de registros por segundo ingeridos y consultados.

InterSystems IRIS muestra resultados sorprendentes, comparado con MySQL y MariaDB.

Excepción/es

Al intentar ejecutar los contenedores docker para cada una de las plataformas, se puede obtener este error:

‘Missing Linux capabilities’

 

Se puede evitar la comprobación para las funcionalidades Linux añadiendo la línea:

command: --check-caps false

(@Bob Kuszewski, 2022)

en la sección htapirisdb del fichero YAML, como se muestra aquí:  

Prueba en tiempo real en cada plataformahttps://www.loom.com/share/859866ac97a6476fbb367112fc71c2c2

Resultados de la prueba de velocidad en cada plataforma:

InterSystems IRIS:

 

MariaDB:

 

MySQL:

 

Referencias

  1. intersystems.com. (Amir, S.). InterSystems Open Exchange. [online] Disponible en: https://openexchange.intersystems.com/package/Ingestion-Speed-Test?tab=details [Accessed 20 Sep. 2022].
  2. Kuszewski, B. (2022). Using InterSystems IRIS containers with Docker 20.10.14+. [online] InterSystems Developer Community. Disponible en: https://community.intersystems.com/post/using-intersystems-iris-containers-docker-201014 [Accessed 20 Oct. 2022]. ‌
Comentarios (0)1
Inicie sesión o regístrese para continuar