Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Система управления реляционными потоками данных (RDSMS) - это распределенная система управления потоками данных в памяти (DSMS), которая предназначена для использования совместимых со стандартами запросов SQL для обработки неструктурированных и структурированных потоков данных в режиме реального времени. В отличие от SQL-запросов, выполняемых в традиционной СУБД , которые возвращают результат и завершаются, SQL-запросы, выполняемые в RDSMS, не завершаются, постоянно генерируя результаты по мере появления новых данных. Непрерывные запросы SQL в RDSMS используют функцию окна SQL для анализа, объединения и агрегирования потоков данных в фиксированных или скользящих окнах. Окна можно указать как по времени, так и по строкам.

Примеры SQL-запросов RDSMS [ править ]

Непрерывные SQL-запросы в RDSMS соответствуют стандартам ANSI SQL. Наиболее распространенный SQL-запрос RDSMS выполняется с помощью декларативного SELECTоператора. Непрерывный SQL SELECTработает с данными в одном или нескольких потоках данных с необязательными ключевыми словами и предложениями, которые включают FROMнеобязательный JOINподпункт для определения правил объединения нескольких потоков данных, WHEREпредложение и предикат сравнения для ограничения записей, возвращаемых запросом, GROUP BYдля проецирования потоки с общими значениями в меньший набор, HAVINGчтобы фильтровать записи, полученные из a GROUP BY, и ORDER BYсортировать результаты.

Ниже приведен пример агрегирования непрерывного потока данных с использованием SELECTзапроса, который объединяет поток датчиков от станции мониторинга погоды. SELECTЗапрос агрегирует минимальные, максимальные и средние значения температуры в течение одной секунды периода времени, возвращая непрерывный поток агрегированных результатов интервалом в одну секунду.

ВЫБОР  ПОТОК  ПОЛ ( WEATHERSTREAM . ROWTIME  к  ВТОРОГО )  КАК  FLOOR_SECOND ,  MIN ( ТЕМП )  AS  MIN_TEMP ,  MAX ( ТЕМП )  AS  MAX_TEMP ,  AVG ( TEMP )  КАК  AVG_TEMP ОТ  WEATHERSTREAM ГРУППА  ПО  ПОЛ ( WEATHERSTREAM . ROWTIME  НА  ВТОРОЙ );

SQL-запросы RDSMS также работают с потоками данных во времени или окнами на основе строк. В следующем примере показан второй непрерывный SQL-запрос с использованием WINDOWпредложения с продолжительностью в одну секунду. Предложение WINDOWизменяет поведение запроса, чтобы выводить результат для каждой новой записи по мере ее поступления. Следовательно, на выходе получается поток постепенно обновляемых результатов с нулевой задержкой результата.

ВЫБОР  ПОТОК  ROWTIME ,  MIN ( ТЕМП )  НАД  W1  AS  WMIN_TEMP ,  MAX ( ТЕМП )  НАД  W1  AS  WMAX_TEMP ,  AVG ( TEMP )  НАД  W1  КАК  WAVG_TEMP ОТ  WEATHERSTREAM WINDOW  W1  AS  (  ДИАПАЗОН  INTERVAL  '1'  ВТОРОЙ  ПРЕДЫДУЩИЙ  );

См. Также [ править ]

Внешние ссылки [ править ]