Базы данных Oracle - статьи

         

Oracle Streams


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

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

Oracle Streams поддерживает захват событий (изменения базы данных и сгенерированные приложением сообщения) в рабочую область. Эти события захватываются двумя способами. При неявном захвате сервер перехватывает события DML и DDL в исходной базе данных. Явный захват позволяет приложениям явно генерировать события и размещать их в рабочей области.

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

События, по обстановке, могут быть переданы в другие рабочие области: в пределах той же самой базы данных или в удаленной базе данных. Чтобы упростить сетевую маршрутизацию и уменьшить трафик WAN, события не следует посылать всем базам данных и всем приложениям. Скорее, они могут быть направлены через рабочие области для одной или более систем, пока не достигнут подписавшейся системы. Например, событие может распространяться через базу данных-концентратор, которая фактически не использует это событие. В одной рабочей области могут “складироваться” события из нескольких баз данных, что упрощает установку и конфигурирование.


События из рабочей области используются механизмом применения (apply engine), где изменения, которые они представляют, применяются к базе данных, или же они используются приложением. В Oracle Streams включен гибкий механизм применения, который позволяет использовать стандартные или изготовленные на заказ функции применения. Это позволяет в случае необходимости выполнять преобразования данных. Поддержка явного исключения из очереди позволяет разработчикам приложений использовать Oracle Streams, чтобы уведомить приложения об изменениях в данных, продолжая усиливать возможности захвата и распространения изменений Oracle Streams.

Oracle Streams является открытым решением для совместного использования информации. Каждый элемент поддерживает стандартные языки и отраслевые стандарты. Streams поддерживает захват и применение из систем Oracle в системы других производителей. Изменения могут быть применены к системам других производителей через прозрачные шлюзы (transparent gateway) или универсальную возможность обеспечения связи (generic connectivity). Кроме того, в Streams включен API, позволяющий источникам данных от других производителей легко представлять или получать записи файла изменений, обеспечивая гетерогенное движение данных в обоих направлениях.

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


Содержание раздела