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

       

и процессоре правил должен иметься


Для генерации предсказуемых результатов в SPE и процессоре правил должен иметься режим детерминированного исполнения, в котором используется порядок временных меток входных сообщений. СУБД сталкиваются с особыми трудностями в связи с этим требованием, потому что они пассивны, и порядок сохранения и обработки сообщений должен контролироваться некоторой внешней системой. Кроме того, прикладные программы, по существу, являются независимыми, и их исполнение контролируется планировщиком операционной системы. Навязывание некоторого порядка на выполнение программ приложения - эта другая задача, которая должна выполняться некоторым внешним программным обеспечением.

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

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

Все три системы могут включать соответствующие возможности для гарантирования безопасности и доступности данных. Аналогично, нет никаких фундаментальных архитектурных препятствий против разделения и масштабирования приложений.

Наконец, потенциально все три архитектуры могут обеспечивать мгновенную обработку и выдачу результатов; однако у СУБД имеется здесь большой недостаток, поскольку в них не используется модель сквозной обработки.


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