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

       

Синхронизация


Многие приложения потоковой обработки данных основываются на совместном использовании данных и вычислений. Совместно используемые данные обычно содержатся в таблице, изменяемой одним запросом и читаемой другим запросом. Например, в приложении Linear Road требуется, чтобы для обновления статистических данных об использовании автомагистрали применялись данные о местоположении автомобилей, а эти статистические данные, в свою очередь, читаются для определения размеров платы для каждого сегмента магистрали. Таким образом, имеется существенная потребность в обеспечении изоляции между сообщениями.

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

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



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