Práctica 1: Filtrado Regular, Agrupación y Agregación

Guía práctica para externalizar datos con SPL: exportar orders a BTX/CTX, usar cursor, filtrado y paralelismo para acelerar agrupaciones y agregaciones, con comparativas frente a MySQL y consejos de rendimiento.

16 ago 2025 • 5 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Practice#1: Regular Filtering and Grouping & Aggregation utilizando la tabla orders como ejemplo para externalizar datos con SPL y acelerar operaciones regulares de filtrado y de agrupación y agregación

Este artículo describe paso a paso cómo exportar una tabla de base de datos a ficheros de almacenamiento de SPL y cómo aprovechar formatos columnar y por columnas compuestas para mejorar el rendimiento de consultas que filtran y agregan datos. También incluye recomendaciones prácticas para aplicar procesamiento por cursor, filtrado en cursor y paralelismo.

Preparación y exportación con la herramienta ETL de SPL

Abra la herramienta ETL de SPL desde la ruta de instalación de SPL y cree un nuevo proceso ETL. Conecte la fuente de datos y arrastre la tabla orders al área de trabajo. Edite la tabla para configurar las opciones de exportación y en la sección de ruta de datos indique el directorio donde se guardarán los ficheros exportados. Cree un fichero SPLX o exporte directamente a un archivo binario BTX. Guarde el proceso ETL con un nombre descriptivo como Q1.etl y ejecute la exportación.

Ejemplo de consulta SQL para agrupar y agregar

select employee_id, count(*) as order_count, sum(shipping_fee) as total, avg(shipping_fee) as average, max(order_date) as latest_order_date from orders where order_date between 2024-01-01 and 2024-10-31 and shipper_id <> 1 and shipping_fee > 10 group by employee_id;

En la base de datos MySQL este ejemplo tomó aproximadamente 11 segundos en ejecutarse en las pruebas descritas.

Enfoque SPL con cursor y filtrado

Cuando la tabla orders es demasiado grande para leerse totalmente en memoria, SPL puede usar un cursor para leer y procesar por lotes. El cursor recupera solo los campos necesarios para evaluar condiciones, reduciendo la creación de objetos y el uso de memoria. Use la función select para aplicar el filtrado equivalente a WHERE en SQL. Para agrupar, utilice la sintaxis de agrupamiento de SPL donde la parte anterior al punto y coma es la clave de agrupamiento y la parte posterior contiene las expresiones agregadas. A diferencia de SQL, SPL combina de forma nativa clave y valores agregados en el resultado.

Tiempos orientativos: el script SPL inicial con lectura por cursor y formato BTX tardó alrededor de 2.2 segundos en la prueba, demostrando ya una mejora frente a la consulta directa en MySQL.

Uso de formato columnar compuesto CTX

El formato CTX almacena los datos por columnas y es especialmente útil cuando la tabla tiene un gran número de campos pero las consultas acceden a pocos de ellos. Crear un CTX requiere definir la estructura de datos, por lo que el proceso es algo más detallado que para un BTX. Ejecutando el mismo procesamiento sobre un CTX el tiempo descendió a 1.9 segundos en la prueba.

Filtrado en cursor para minimizar lecturas

Adjunte condiciones de filtrado al cursor para que primero se lean únicamente los campos que intervienen en las condiciones, y solo si estas se cumplen se obtengan los campos adicionales necesarios para construir el registro. Esto reduce lecturas de disco y la creación de objetos innecesarios. En la prueba el algoritmo de filtrado en cursor sobre CTX bajó el tiempo a 1.8 segundos.

Paralelismo fácil en SPL

SPL facilita el procesamiento paralelo indicando el número de hilos. Ajuste el número de hilos a los núcleos CPU disponibles, por ejemplo 8. Añadiendo la opción de paralelismo al cursor para un BTX el tiempo bajó a 0.6 segundos y para CTX a 0.5 segundos en las pruebas realizadas.

Resumen comparativo de rendimiento en segundos

MySQL consulta directa: 11 segundos

SPL con BTX y cursor secuencial: 2.2 segundos

SPL con CTX y cursor secuencial: 1.9 segundos

SPL con CTX y cursor con filtrado: 1.8 segundos

SPL con paralelismo en BTX: 0.6 segundos

SPL con paralelismo en CTX: 0.5 segundos

Observaciones prácticas

El almacenamiento SPL y la exportación de datos son especialmente adecuados para escenarios con datos históricos estáticos que se consultan frecuentemente. El formato CTX es idóneo cuando las consultas usan pocas columnas de tablas anchas. El filtrado en cursor y el paralelismo son dos técnicas claves para minimizar I O y aprovechar la CPU.

Ejercicios sugeridos

1 Agrupar por cliente y calcular el total de freight para cada cliente aplicando una condición que combine order_date y employee_id

2 Exportar una tabla grande de una base de datos conocida y generar un BTX y un CTX. Ejecutar las mismas agregaciones usando ambos formatos y comparar tiempos y uso de recursos

Sobre Q2BSTUDIO

Q2BSTUDIO es una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida. Ofrecemos soluciones de inteligencia artificial y ia para empresas, desarrollamos agentes IA y aplicamos Power BI y servicios inteligencia de negocio para transformar datos en decisiones. Nuestros servicios incluyen ciberseguridad, servicios cloud aws y azure y consultoría para proyectos escalares. Somos expertos en integración de modelos de inteligencia artificial, despliegue seguro en la nube y creación de aplicaciones a medida que incorporan agentes IA para automatizar procesos.

Servicios destacados de Q2BSTUDIO

Aplicaciones a medida y software a medida adaptados a las necesidades operativas. Implementación de inteligencia artificial, ia para empresas y agentes IA que mejoran productividad. Soluciones de ciberseguridad para proteger datos críticos. Servicios cloud aws y azure para desplegar aplicaciones y modelos de forma escalable. Servicios inteligencia de negocio y dashboards con Power BI para visualización y análisis.

Palabras clave para posicionamiento

aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi

Recursos y licencia

SPL es open source y el código fuente está disponible en GitHub en el repositorio oficial de esProc. Puedes descargar una versión de prueba en la web oficial y seguir los pasos descritos para exportar tablas y probar los diferentes formatos de almacenamiento.

Contacto

Si deseas que Q2BSTUDIO te ayude a externalizar datos, optimizar consultas o desarrollar aplicaciones a medida que integren inteligencia artificial y ciberseguridad, contacta con nuestro equipo para una consultoría inicial y una propuesta de proyecto personalizada

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.