Реляционная система управления потоками данных
Система управления реляционными потоками данных (RDSMS) — это распределенная система управления потоками данных в памяти (DSMS), которая предназначена для использования соответствующих стандартам SQL- запросов для обработки неструктурированных и структурированных потоков данных в режиме реального времени. В отличие от SQL-запросов, выполняемых в традиционной РСУБД , которые возвращают результат и завершаются, SQL-запросы, выполняемые в РСУБД, не завершаются, генерируя результаты непрерывно по мере поступления новых данных. Непрерывные SQL-запросы в RDSMS используют функцию SQL Window для анализа, объединения и агрегирования потоков данных в фиксированных или скользящих окнах. Окна могут быть указаны как основанные на времени или на основе строк.
Примеры SQL-запросов RDSMS
[ редактировать ]Непрерывные SQL-запросы в RDSMS соответствуют стандартам ANSI SQL. Наиболее распространенный SQL-запрос RDSMS выполняется с помощью декларативного метода. SELECT
заявление. Непрерывный SQL SELECT
работает с данными в одном или нескольких потоках данных с дополнительными ключевыми словами и предложениями, которые включают FROM
с дополнительным JOIN
подпункт для указания правил объединения нескольких потоков данных, WHERE
предложение и предикат сравнения для ограничения записей, возвращаемых запросом, GROUP BY
проецировать потоки с общими значениями в меньший набор, HAVING
для фильтрации записей, полученных в результате GROUP BY
, и ORDER BY
для сортировки результатов.
Ниже приведен пример непрерывной агрегации потока данных с использованием SELECT
запрос, который объединяет поток датчиков со станции мониторинга погоды. SELECT
запрос агрегирует минимальные, максимальные и средние значения температуры за период времени в одну секунду, возвращая непрерывный поток агрегированных результатов с интервалом в одну секунду.
SELECT STREAM
FLOOR(WEATHERSTREAM.ROWTIME to SECOND) AS FLOOR_SECOND,
MIN(TEMP) AS MIN_TEMP,
MAX(TEMP) AS MAX_TEMP,
AVG(TEMP) AS AVG_TEMP
FROM WEATHERSTREAM
GROUP BY FLOOR(WEATHERSTREAM.ROWTIME TO SECOND);
SQL-запросы RDSMS также работают с потоками данных во времени или с окнами на основе строк. В следующем примере показан второй непрерывный запрос SQL с использованием WINDOW
предложение продолжительностью в одну секунду. WINDOW
Предложение изменяет поведение запроса, чтобы выводить результат для каждой новой записи по мере ее поступления. Следовательно, выходные данные представляют собой поток постепенно обновляемых результатов с нулевой задержкой.
SELECT STREAM
ROWTIME,
MIN(TEMP) OVER W1 AS WMIN_TEMP,
MAX(TEMP) OVER W1 AS WMAX_TEMP,
AVG(TEMP) OVER W1 AS WAVG_TEMP
FROM WEATHERSTREAM
WINDOW W1 AS ( RANGE INTERVAL '1' SECOND PRECEDING );
См. также
[ редактировать ]Внешние ссылки
[ редактировать ]- IBM Система С
- 1995 SQL Reunion: Люди, проекты и политика , Пол МакДжонс (редактор) : стенограмма встречи, посвященной личной истории реляционных баз данных, SQL System R.