Un sistema de gestión de flujo de datos relacional (RDSMS) es una, en memoria distribuida sistema de gestión de flujo de datos (AACD) que está diseñado para uso compatible con los estándares SQL consultas para procesar los datos no estructurados y estructurados arroyos en tiempo real. A diferencia de las consultas SQL ejecutadas en un RDBMS tradicional , que devuelven un resultado y salen, las consultas SQL ejecutadas en un RDSMS no salen, generando resultados continuamente a medida que se encuentran disponibles nuevos datos. Las consultas SQL continuas en un RDSMS utilizan la función de ventana SQL para analizar, unir y agregar flujos de datos en ventanas fijas o deslizantes. Windows se puede especificar como basado en tiempo o basado en filas.
Ejemplos de consultas SQL RDSMS
Las consultas SQL continuas en un RDSMS cumplen con los estándares ANSI SQL. La consulta SQL RDSMS más común se realiza con la declaración SELECT
declarativa. Un SQL continuo SELECT
opera con datos a través de uno o más flujos de datos, con palabras clave y cláusulas opcionales que incluyen FROM
una JOIN
subcláusula opcional para especificar las reglas para unir múltiples flujos de datos, la WHERE
cláusula y el predicado de comparación para restringir los registros devueltos por la consulta GROUP BY
al proyecto. flujos con valores comunes en un conjunto más pequeño, HAVING
para filtrar los registros resultantes de a GROUP BY
, y ORDER BY
para ordenar los resultados.
El siguiente es un ejemplo de una agregación de flujo de datos continuo usando una SELECT
consulta que agrega un flujo de sensor de una estación de monitoreo meteorológico. La SELECT
consulta agrega los valores de temperatura mínima, máxima y promedio durante un período de tiempo de un segundo, devolviendo un flujo continuo de resultados agregados en intervalos de un segundo.
SELECT STREAM FLOOR ( WEATHERSTREAM . ROWTIME a SEGUNDO ) AS FLOOR_SECOND , MIN ( TEMP ) AS MIN_TEMP , MAX ( TEMP ) AS MAX_TEMP , AVG ( TEMP ) AS AVG_TEMP DE WEATHERSTREAM GRUPO POR FLOOR ( WEATHERSTREAM . ROWTIME A SEGUNDO );
Las consultas SQL de RDSMS también operan en flujos de datos a lo largo del tiempo o en ventanas basadas en filas. El siguiente ejemplo muestra una segunda consulta SQL continua usando la WINDOW
cláusula con una duración de un segundo. La WINDOW
cláusula cambia el comportamiento de la consulta para generar un resultado para cada nuevo registro a medida que llega. Por lo tanto, la salida es un flujo de resultados actualizados de forma incremental con una latencia de resultado cero.
SELECT STREAM ROWTIME , MIN ( TEMP ) OVER W1 AS WMIN_TEMP , MAX ( TEMP ) OVER W1 AS WMAX_TEMP , AVG ( TEMP ) OVER W1 AS WAVG_TEMP DE WEATHERSTREAM VENTANA W1 AS ( GAMA INTERVAL '1' SEGUNDO ANTERIOR );
Ver también
enlaces externos
- IBM System S
- 1995 SQL Reunion: People, Projects, and Politics , por Paul McJones (ed.) : Transcripción de una reunión de reunión dedicada a la historia personal de las bases de datos relacionales, SQL System R.