Декабрь 2005

Репликация из TimesTen в TimesTen
(REPLICATION – TIMESTEN TO TIMESTEN)


Источник: сайт корпорации Oracle, ORACLE DATA SHEET,
http://www.oracle.com/technology/products/timesten/pdf/ds/ds_timesten_replication.pdf

  • Высокая готовность
  • Распределение нагрузки
  • Гибкая архитектура
  • Производительность и согласованность
  • Репликация кешированных данных

 

 

 

 

 

 

 

 

 

 

 

 

Управление данными в реальном времени для приложений, критичных по производительности:

  • Телекоммуникация и работа в сети
  • Рынки капитала
  • Оборона и разведка
  • Путешествия и бронирование
  • Сервис ориентированная архитектура (SOA)
  • Кеширование данных на среднем уровне
  • Оперативные сборки данных
  • Бизнес-анализ
  • Мониторинг бизнес-деятельности
  • Порталы самообслуживания

     

     

     

    Связанные продукты и сервисы:

  • Replication – TimesTen to TimesTen
  • Cache Connect to Oracle
  • Репликация из TimesTen в TimesTen - это опция базы данных в оперативной памяти Oracle TimesTen In-Memory, с помощью которой можно тиражировать между серверами данные в реальном времени для повышения работоспособности и распределенности нагрузки. Репликация данных может осуществляться в конфигурации active-standby (активный-резервный) или active-active (активный-активный), использовать синхронную или асинхронную передачу с определением и разрешением конфликтов и автоматической ресинхронизацией после восстановления работы отказавшего сервера. Репликация данных полностью совместима с опцией Cache Connect to Oracle (Кеш-соединение с Oracle).

    Высокая готовность

    Готовность – это основное требование к большинству приложений реального времени. Отрасли промышленности, работающие 24 часа 7 дней в неделю, например, телекоммуникация, глобальные системы, доступные через Интернет, так-то: сайты туристических агентств, бронирования билетов и т.д., не могут допустить простоя своего сервиса. Системы торговли ценными бумагами должны оставаться доступными все время, пока открыты финансовые рынки. Чем большей степени система функционирует в режиме реального времени, тем с большей вероятностью она должна быть очень высоко доступной.

    Рисунок 1. Репликация, осуществляемая в TimesTen In-Memory.

    Репликация данных является основной технологией для обеспечения высокой готовности в базах данных Oracle TimesTen In-Memory. Репликация поддерживает копии одних и тех же данных на двух и более серверах в сети. В случае отказа одного из серверов копии данных на других серверах доступны для продолжения работы. Репликация данных позволяет также автономно использовать отдельный сервер для администрирования, внесения изменений в схемы и обновления программного обеспечения, пока другие серверы продолжают непрерывную работу. Когда отключенный сервер снова включается в работу, репликация автоматически проводит все изменения, необходимые для того, чтобы сервер соответствовал текущему состоянию системы, затем восстанавливается обычный процесс репликации.

    Распределение нагрузки

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

    Рисунок 2. Разнообразие конфигураций

    Гибкая архитектура

    Репликация данных имеет разнообразные опции конфигурирования, для того чтобы соответствовать различным сценариям, включая такие конфигурации как active-active (активный-активный) и active-standby (активный-резервный).

    Репликация данных следует концепции модели “мастер-подписчик” (“master-subscriber”), в соответствии с которой зафиксированные изменения определенных таблиц или сборок данных копируются из их источника в одну или несколько подписных сборок данных. Определяя сборки данных одновременно, как мастер (master) и подписные (subscriber), двунаправленная репликация может быть сконфигурирована с возможностью многоузловой репликации “Nway”. Когда двунаправленная репликация сталкивается с конфликтной ситуацией, предотвращение появления противоречивых репликантов осуществляется механизмом определения и разрешения коллизий.

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

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

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

    По умолчанию репликация данных является асинхронной. При использовании асинхронной репликации приложение обновляет мастер-сборку данных и продолжает работать, не ожидая получения обновлений от подписчиков. Мастер- и подписные сборки данных имеют внутренние механизмы для подтверждения удачного получения и применения обновлений подписчиком. Эти механизмы гарантируют, что обновления были применены подписчиком только один раз.

    Асинхронная репликация обеспечивает максимальную производительность, поскольку приложение полностью освобождается от процесса получения подписчиком реплицируемых элементов. Для “пессимистичных” (“pessimistic”) приложений, требующих высокого уровня защиты, чтобы реплицируемые между мастером и подписчиком данные не противоречили друг другу, применяются такие сервисы, как опциональные return receipt (возвращение квитанции) или return twosafe (двойная надежность).

    Сервис, возвращающий квитанцию (return receipt), соединяет, или “синхронизирует”, приложение с механизмом репликации путем блокирования приложения до тих пор, пока репликация не получит подтверждения, что обновление было принято подписчиком. Сервис, обеспечивающий двойную надежность (return twosafe), обеспечивает полностью синхронный вариант, блокируя приложение до тех пор, пока репликация не получит подтверждения о том, что подписчик принял и применил обновление.

    Репликация кешированных данных

    Когда сконфигурирована опция Cache Connect to Oracle (Кеш-соединение с Oracle), подмножества данных из базы Oracle должны быть кешированы и обновляться в “cache group” (кеш-группа) в базе данных в оперативной памяти Oracle TimesTen In-Memory. Кеш-группа может быть сконфигурирована так, чтобы передать обновления кешированных данных в базу данных Oracle.

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

    E-mail this page