Система управления реляционными потоками данных - Relational data stream management system

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

Примеры SQL-запросов RDSMS

Непрерывные SQL-запросы в RDSMS соответствуют ANSI Стандарты SQL. Самый распространенный SQL-запрос RDSMS выполняется с декларативным ВЫБРАТЬ заявление. Непрерывный SQL ВЫБРАТЬ работает с данными в одном или нескольких потоках данных, с дополнительными ключевыми словами и предложениями, которые включают ОТ с необязательным ПРИСОЕДИНИТЬСЯ в подпункте, чтобы указать правила для объединения нескольких потоков данных, ГДЕ предложение и предикат сравнения для ограничения записей, возвращаемых запросом, ГРУППА ПО проецировать потоки с общими значениями в меньший набор, ИМЕЕТ для фильтрации записей, полученных в результате ГРУППА ПО, и СОРТИРОВАТЬ ПО отсортировать результаты.

Ниже приведен пример агрегирования непрерывного потока данных с использованием ВЫБРАТЬ запрос, который объединяет поток датчиков со станции мониторинга погоды. В ВЫБРАТЬquery объединяет минимальные, максимальные и средние значения температуры за период времени в одну секунду, возвращая непрерывный поток агрегированных результатов с интервалом в одну секунду.

ВЫБРАТЬ РУЧЕЙ    ЭТАЖ(WEATHERSTREAM.ROWTIME к ВТОРОЙ) ТАК КАК FLOOR_SECOND,    MIN(ТЕМП.) ТАК КАК MIN_TEMP,    МАКСИМУМ(ТЕМП.) ТАК КАК MAX_TEMP,    AVG(ТЕМП.) ТАК КАК AVG_TEMPОТ WEATHERSTREAMГРУППА ОТ ЭТАЖ(WEATHERSTREAM.ROWTIME К ВТОРОЙ);

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

ВЫБРАТЬ РУЧЕЙ    ROWTIME,    MIN(ТЕМП.) НАД W1 ТАК КАК WMIN_TEMP,    МАКСИМУМ(ТЕМП.) НАД W1 ТАК КАК WMAX_TEMP,    AVG(ТЕМП.) НАД W1 ТАК КАК WAVG_TEMPОТ WEATHERSTREAMОКНО W1 ТАК КАК ( АССОРТИМЕНТ ИНТЕРВАЛ '1' ВТОРОЙ ПРЕДЫДУЩИЙ );

Смотрите также

внешние ссылки