XS
SM
MD
LG
 
ВАШЕ ИМЯ *
ТЕЛЕФОН *
Перезвоните мне

Сравнение технологий Oracle Streams и Oracle Data Guard

Архитектура 

Механизм передачи журналов (redo logs) используется только в технологии Oracle Data Guard, в обеих реализациях Data Guard (Redo Apply и SQL Apply). Механизмы использующиеся в Data Guard являются расширением механизма восстановления базы данных. Для передачи данных redo или журнальных файлов используется процесс LGWR или ARCH. Физический standby использует технологию восстановления (media recovery) на уровне блоков для применения redo данных. SQL Apply использует технологию базирующуюся на пакете LogMiner на standby-узле для воспроизведения SQL (которые выполнялись на основной базе данных) и последовательного выполнения этих SQL-выражений на логический standby базе данных. Oracle Streams использует технологию конвертации журналов на узле-источнике базирующуюся на пакете LogMiner, как механизм получения SQL из записей логических изменений - logical change records (LCR). Передача осуществляется через Net Services и очереди - Queues. Затем механизм "Apply Engine" примененяет эти изменения (LCR) к Streams replica. Общее у Streams и Data Guard SQL Apply то, что обе технологии используют механизмы "Apply Engine" и базируются на пакете LogMiner. 

Рекомендации по использованию 

Кратко
 

Oracle Streams Oracle Data Guard
Для распределения и предоставления информации Для решений высокой доступности и катастрофо-устойчивости
Много-направленность Одно-направленность
Разбиение данных. Пользовательские функции применения. Максимальная доступность. Автоматическая смена ролей (switchover и failover)
Позволят мульти-платформенные решения Базируется на одной платформе
Табличные пространства могут быть в режиме READ WRITE Табличные пространства должны быть доступны только для чтения - READ ONLY
Могут использоваться как базы данных Oracle так и других производителей,
поддерживающие технологию потоков.
Технологии Redo Apply и SQL Apply используются только в базах данных Oracle.


Детально о технологиях
 
Oracle Data Guard Oracle Data Guard предлагает режимы

  • максимальной доступности - maximum availability
  • максимальной производительности - maximum performance

и помогает выбрать оптимальное соотношение доступности и производительности для удовлеворения тебований к системе. Oracle Data Guard спроектирован для создания и управления резервными базами данных, которые используются как составная часть плана катастрофо-устойчивого решения. Если План предусматривает создание резервной базы являющейся транзакционно согласованной копией первичной (primary) базы данных, то следует использовать Oracle Data Guard. Это позволит легко переключаться на резервную баз и обратно во время плановых остановок для обслуживания. При наихудшем сценарии - полной потере центра обработки данных, через несколько минут пользователи продолжат работу (с резервоной базой), так как Data Guard обеспечивает защиту данных. Резервная база данных обеспечивает защиту от повреждения данных и ошибок пользователей. Физические повреждения данных на устройствах хранения основной базы данных не переносятся на резервную базу. Аналогично, логические разрушения данных или ошибки пользователей приводящие повреждению основной базы, возможно исправить. Наконец, во время применения на резервной базе, redo-данные проверяются. Изменения транслируются только с основной базы данных на логичесукю резервную (logical standby). 

Oracle Streams

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

Основные компоненты технологии Oracle Streams это

  • Capture Stage
  • Staging Area
  • Consumption

Capture Stage - Стадия захвата: Oracle Streams поддерживает захват событий - events(изменений базы, и сообщений сгенерированных приложением) в подготовительную область - staging area. Streams читает поток изменений (redo stream) по мере их записи в оперативные журналы (online redo logs) основной базы данных. Как только записи логических изменений - logical change records (LCR) прочитаны, они помещаются в очередь на основной базе - источнике изменений. 

Staging Area - Подготовительная область: Staging area - это очередь которая обслуживает хранение и управление захваченными событиями, обеспечивая при этом безопасность, аудит и отслеживание (tracking) данных LCR. 

Consumption - Потребление: События (Events) в подготовительной области (staging area) потребляются движком применения(apply engine), котрый применяет изменения к базе данных или передаем их приложению. Наличие гибко-настраиваемого движка позволяет использовать как стандартные так и пользовательские процедуры применения. Это предоставляет возможность, при необходимости осуществлять преобразование данных. Поддержка возможности явного удаления из очереди позволяет разработчикам приложений использовать Oracle Streams для оповещения приложений об изменениях данных. Для распостранения данных в распределенном окружении база данных должна быть открыта чтобы принимать данные. При необходимости, на каждом сайте данные можна модифицировать и распостранять на другие базы данных. Поддерживается двунаправленная репликация, трансформация, разбиение данных и пользовательские функции. Кроме того пользователь полностью контролирует маршрутизацию записей изменеий (change records) на базы-реплики. Это позволяет строить HUB-ориентированную топологию сетей поддерживающую сотни реплицированных баз данных. Важно отметить, что все действия производятся на основной (primary) базе данных. Если сервер основной базы данных останавливается, то изменения которые извлеклись из оперативных журналов или были помещены в очередь, теряются. The biggest thing to note is that all actions are done on the primary. If the primary Node goes down then whatever hasn't been mined from the online logs or whatever did not make it out of the queue is lost. So streams for distributed...logical standby for HA. Streams multi directional...logical unidirectional.  

Платформо-зависимость Конфигурация Data Guard требуе чтобы основная и резервные базы данных на одинаковой версии сервера базы данных и платформе операционной системы (ОС). Oracle Streams позлволяет использовать гетерогенные платформы (ОС и версии базы данных) для источника и получателей данных. Streams поддерживают различные версии базы данных и платформы операционных систем в распределенном окружении.  

Статус табличных пространств Одно из существенных различий между Streams и Logical Standby это тот факт, что задействованные в logical standby табличные пространства в режиме только чтение read-only, тогда как One major difference between Streams and Logical Standby is that with Logical Standby the tablespaces involved in the logical standby are read-only, whereas with Streams they are read/write

Преимущества Oracle Streams

Одно унифицированное решение

  • Удовлетворяет все потребности предоставления распределенных данных при помощи одной технологии.
  • Поддерживает многообразие конфигураций при развертывании:
    • Репликация - Replication
    • Очереди сообщений Message Queuing
    • Загрузка хранилищ данных Data Warehouse Loading
  • Позволяет прозрачно предоставлять доступ к данных между Oracle и не Oracle базами данных.


Интегрированный в Сервер базы данных Oracle компонент

  • Не требуется установка дополнительного ПО и его изучение.
  • Используются преимущества надежности и безопасность обеспеченные сервером базы данных Oracle.


Управляемость

  • Предоставляет максимальную гибкость в конфигурировании и администрировании при помощи PL/SQL пакетов.
  • Предоставляет легкие в использовании средства мониторинга и управления при помощи Streams tool в Oracle Enterprise Manager.
  • Предоставляет пользователям возможность получать информацию об окружении через представления словаря (Data dictionary views).


Производительность

  • Горячий разбор (Hot mining) оперативного журнала (online redo log) уменьшает задержки при захвата данных..
  • Параллельность процессов захвата и применения обеспечивает максимальную пропускную способность для конкурентных событий (concurrent events)

Преимущества Oracle Data Guard 

Эффективное использование системных ресурсов.
 
Резервная (standby) база данных, обновляемая из журналов полученных с основной (primary) базы, может использоваться для дугих задач таких как резервное копирование, генерация отчетов, подведение итогов, запросы к базе, уменьшая тем самым нагрузку на основную базу данных, сохраняя ресурсы процессора и системы ввода-вывода. При использовании логической резервной базы данных (logical standby database) пользователи могут осуществлять нормальные DML-операции с таблицами в схемах которые не обновляются с обсновной базы. Логическая standby база может оставаться открытой во время применения изменений полученных с основной базы и таблицы при этом одновременно доступны в режиме только для чтения. 

Автоматическое обнаружение и разрешение пропусков журналов.
 
При потере связи между основной и резервными базами данных (к примеру по причине проблем с сетью), данные redo продолжаемые генерироваться на основной базе не могут передаваться на эти резервные базы. Когда связь восстанавливается, пропущенные номера архивных журналов (gap) автоматически обнаруживаются и нужные журналы автоматически передаются на резервные базы. Синхронизация резервных баз данных с основной базой происходит без ручного вмешательства администратора. 

Простое централизованное управление. 

Автоматизация управления и оперативных задач с участием множества баз данных в конфигурации Data Guard может осуществляться при помощи Data Guard Broker. Broker также мониторит все системы внутри единой конфигурации Data Guard. Для получения преимуществ инегрированного управления инфраструктурой, администратор может использовать Oracle Enterprise Manager или специализированный интерфейс командной строки (DGMGRL). 

Интеграция с сервером базы данных Oracle. 

Oracle Data Guard доступен как компонент, полностью интегрированный в сервер базы данных Oracle (Enterprise Edition) без дополнительной стоимости.