Los sistemas de procesamiento de flujos de datos (DSMS) han emergido como solución a las aplicaciones que precisan una elevada capacidad de procesamiento de datos con baja latencia. Los DSMS ofrecen avances en el tratamiento de datos capturados por redes de sensores de gran volumen.
En la actualidad las redes de sensores están siendo más demandadas y su uso va en auge, potenciadas por las tecnologías asociadas a Internet de las Cosas (IoT) y soluciones para Smart City y directamente relacionado con el factoreconómico. De un lado, los costes de estos sistemas son decrecientes y, por otra parte, los costes asociados a su implementación son, además, cada vez más bajos.
Un DSMS es un sistema que está diseñado para ejecutar consultas continuas sobre un flujo también continuo de datos que llegan de manera permanente ya que se producen de manera inmediata, pero que permanecen por un espacio de tiempo reducido en la memoria.
Las principales características de los data streams son tres: llegada continua de datos; elevado volumen de datos a manejar y el hecho de que se necesita una respuesta inmediata una vez que los datos son recibidos y procesados. Los datos no permanecen para ser procesados después, sino que su procesamiento se realiza durante el proceso de captura y envío a la base de datos, concepto que se denomina “al vuelo” y que permite obtener resultados de forma continua.
De forma que la principal diferencia con los sistemas de gestión de bases de datos o SGBD, (sistemas tradicionales de almacenamiento y gestión de datos) radica en que el procesamiento de los datos se hace de manera continua durante el propio proceso de generación de los mismos. Para poder medir y evaluar el comportamiento de los flujos asociados a las comunicaciones y construir modelos de decisión ajustables, los DSMS incorporan técnicas provenientes del campo del Data Mining.


En la actualidad, los trabajos realizados en el ámbito de sistemas de procesamiento de flujos de datos que han sido efectuados por universidades de alto prestigio como la Universidad de Stanford a través de su proyecto Stream o el proyecto Aurora, desarrollado en colaboración entre el MIT y las universidades de Brown y Brandeis, no escalan respecto a la carga de entrada del sistema. Ello se debe al cuello de botella producido por la concentración de flujos de datos completos en nodos individuales.
Por esta razón, los últimos avances en este ámbito se centran en el desarrollo de un sistema elástico paralelo distribuido para el procesamiento de flujos de datos que sea capaz de procesar grandes volúmenes de datos. Este sistema recibe el nombre de StreamCloud.
StreamCloud aporta una técnica novedosa basada en la división de queries en subqueries, gracias a la que se pueden minimizar los costes de distribución y paralelización. Se trata de un sistema que posee, además, protocolos de equilibrio de carga lo cual permite optimizar los recursos en función de la carga que tenga el sistema. Gracias a ello, StreamCloud define un protocolo de tolerancia a los fallos que introduce un coste mínimo a la vez que proporciona una rápida recuperación.
Así pues vemos cómo los sistemas de procesamiento de flujo de datos se presentan como una solución real a la hora de procesar grandes volúmenes de datos en tiempo real que son obtenidos a partir de redes de sensores. En consecuencia, en los últimos años se están desarrollando múltiples investigaciones que tienen como objetivo diseñar una solución de alta escalabilidad y disponibilidad para aplicaciones distribuidas de flujos de datos.












Leave a Comment