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

       

Восемь требований Стоунбрейкера и Здоника


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

  1. В системе потоковой обработки реального времени сообщения должны обрабатываться "в потоке", без потребности их сохранения до выполнения какой-либо операции или группы операций. В идеале в системе должна использоваться активная (т.е. не требующая опросов) модель обработки.

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

  2. Должен поддерживаться высокоуровневый язык "StreamSQL" со встроенными ориентированными на потоки примитивами и операциями.

    При наличии миллионов действующих серверов реляционных баз данных, поддерживающих SQL, имеет смысл взять на вооружение знакомые модель запросов и операции языка SQL и просто расширить их для выполнения запросов над непрерывными потоками данных. StreamSQL должен расширять семантику стандартного SQL путем добавления к нему мощных оконных конструкций и потоковых операций. Требуются новые, ориентированные на потоки операции, не представленные в стандартном SQL. Набор операций должен быть расширяемым, чтобы разработчики могли легко получить от системы новые функции.

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



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