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

       

Комментарии по поводу разбиения


Для большинства приложений обработки потоковых данных требуются три основных службы:

  • Служба доставки сообщений. Во многих потоковых приложениях имеется потребность в эффективной и надежной доставке данных между различными распределенными машинами. Для этого существуют три причины. Во-первых, источники данных и пункты их назначения обычно являются географически рассредоточенными. Во-вторых, требования высокой производительности и высокого уровня доступности обуславливают использование нескольких взаимодействующих серверных машин. В третьих, практически все большие корпоративные системы состоят из сложной сети бизнес-приложений, выполняемых на большом числе машин, в которые встраивается SPE (stream processing engine). Таким образом, входные и выходные сообщения SPE должны правильно маршрутизироваться из соответствующих внешних приложений и к ним.
  • Хранение состояния. Как обсуждалось в подразделе 4.3, во всех приложениях, кроме самых простых, имеется потребность в сохранении состояния, обычно в виде только читаемых справочных и исторических таблиц, а также транзакционных таблиц (например, хэш-таблиц), над которыми выполняются операции и чтения, и записи.
  • Выполнение логики приложений. Во многих потоковых приложениях требуется специализированная обработка сообщений, перемежающаяся с запросами. Вообще говоря, невозможно и непрактично представлять такую логику с использованием только встроенных примитивов запросов (например, хотелось бы иметь возможность применять унаследованный код).

При традиционной разработке приложений обработки потоковых данных вся логика приложения распределяется между тремя разнотипными системами: (1) системой передачи сообщений (такой как MQSeries, WebMethods или Tibco), обеспечивающей надежное связывание систем-компонентов, обычно с использованием парадигмы публикации/подписки; СУБД (такой как DB2 или Oracle), обеспечивающей персистентное хранение информации о состоянии; и сервера приложений (такого как WebSphere или WebLogic), поддерживающего прикладные сервисы для набора специально написанных программ.

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