Классика баз данных - статьи

       

Правило 5: Интегрируйте хранимые и потоковые данные


Для многих приложений потоковой обработки распространенной задачей является сравнение "настоящего" с "прошлым". Поэтому система потоковой обработки должна также обеспечивать тщательное управление сохраненным состоянием. Например, в оперативных приложениях интеллектуального анализа данных (data mining) (таких, как обнаружение случаев мошенничества с кредитными картами) для определения "необычности" действия требуется сбор в течение некоторого времени паттернов допустимых действий, их обобщение в виде сигнатуры и ее сравнение с текущим действием в реальном времени. Для решения этой задачи требуется интеграция внутри одного приложения как исторических, так и реальных данных, чтобы можно было произвести их сравнение.

Очень популярное расширение этого требования происходит от компаний, использующих приложения электронных торгов. Эти компании хотят иметь возможность написать алгоритм торгов и оттестировать его на исторических данных, чтобы посмотреть, как он будет выполняться, и испытать возможные сценарии. Если алгоритм на исторических данных работает правильно, заказчик хочет иметь возможность бесшовным образом переключить его на реальные данные, не изменяя код приложения. Бесшовное переключение гарантирует, что в приложении не появятся новые ошибки, вызванные изменениями в программе.

Другим доводом в пользу бесшовного переключения является желание производить некоторую бизнес-аналитику, начиная с некоторого момента в прошлом (например, за два часа до текущего момента времени), доводить ее до реального времени и бесшовным образом продолжать вычисления на реальных данных. Для обеспечения этой возможности требуется автоматическое переключение с исторических данных на реальные данные без ручного вмешательства человека.

Для приложений потоковой обработки данных, которые должны гарантировать небольшую задержку, использование подключения к клиент-серверной базе данных будет увеличивать задержку, и поэтому такой способ непригоден для эффективного долговременного хранения данных и доступа к ним. Следовательно, состояние должно сохраняться в адресном пространстве той же операционной системы, в среде которой работает приложение, с использованием встроенной системы баз данных. Областью видимости команды StreamSQL должен являться либо реальный поток, либо таблица, сохраняемая во встроенной системе баз данных.

Пятое требование состоит в том, что у системы потоковой обработки должна иметься возможность эффективного хранения, доступа и модификации информации о состоянии, а также ее комбинирования с реальными потоковыми данными. Для бесшовной интеграции в системе должен использоваться единообразный язык для работы с обеими разновидностями данных.



Содержание  Назад  Вперед