Открыть сервис

Репликация (Lotus Notes)

Репликация (Lotus Notes) — это механизм синхронизации и обмена данными между несколькими серверами и клиентскими рабочими станциями в среде Lotus Notes и IBM Domino, обеспечивающий автоматическое согласование изменений в базах данных, почтовых ящиках, документах и других объектах в распределённой сети. Репликация является ключевой технологией платформы Lotus Notes, позволяющей работать с данными в автономном режиме, поддерживать актуальность информации на всех узлах и обеспечивать отказоустойчивость системы.

История и развитие

Репликация как концепция была заложена в архитектуру Lotus Notes с момента её создания в 1980-х годах. Разработчики компании Lotus Development Corporation (позже приобретённой IBM) стремились создать систему, в которой пользователи могли бы работать с документами независимо от подключения к центральному серверу. Первая версия Lotus Notes (1989 год) уже поддерживала репликацию между серверами и клиентами, что было революционным для того времени, когда большинство корпоративных систем требовали постоянного сетевого соединения.

В последующих версиях (Notes 4.x, 5.x, 6.x, 7.x, 8.x и Domino 9.x, 10.x) механизм репликации совершенствовался: появились возможности выборочной репликации, репликации по расписанию, репликации через HTTP и HTTPS, а также поддержка репликации между разными платформами (Windows, Linux, macOS). С переходом на облачные решения (HCL Notes/Domino, начиная с 2019 года) репликация стала поддерживать гибридные сценарии — синхронизацию между локальными серверами и облачными инстансами.

Основные принципы

Репликация в Lotus Notes основана на модели «документ-ориентированной» базы данных, где каждый элемент (документ, форма, представление) имеет уникальный идентификатор (UNID — Universal Note ID). При репликации система сравнивает идентификаторы и временные метки изменений, чтобы определить, какие данные были добавлены, изменены или удалены на каждом узле.

Ключевые принципы:

Типы репликации

По направлению

По способу инициализации

По объёму данных

Архитектура и механизм работы

Идентификация изменений

Каждый документ в Lotus Notes имеет поле $Revisions, в котором хранится список временных меток изменений (timestamps). При репликации сервер или клиент сравнивает свои метки с метками на удалённом узле. Если метка на удалённом узле новее, документ загружается; если метка на локальном узле новее — документ отправляется; если метки совпадают — документ не реплицируется.

Репликационные формулы

Для настройки выборочной репликации используются формулы, написанные на языке LotusScript или @Formula. Например, формула SELECT @All реплицирует все документы, а SELECT Form = "Memo" & Status = "Active" — только активные заметки.

Репликационные идентификаторы (Replica ID)

Каждая база данных Lotus Notes имеет уникальный идентификатор — Replica ID. Две базы данных считаются репликами друг друга, если у них одинаковый Replica ID. Это позволяет системе автоматически определять, какие базы нужно синхронизировать. Replica ID генерируется при создании новой базы и не может быть изменён.

Конфликты репликации

Если два пользователя одновременно изменяют один и тот же документ на разных узлах, при следующей репликации возникает конфликт. Lotus Notes не разрешает его автоматически, а создаёт два документа: основной (с изменениями, внесёнными первым) и конфликтный (с изменениями, внесёнными вторым). Конфликтный документ помечается специальным полем $Conflict и отображается в представлении «Конфликты». Администратор или пользователь должен вручную объединить изменения или выбрать одну из версий. В более поздних версиях (Notes 8.5 и выше) появилась возможность автоматического разрешения конфликтов для простых полей, но для сложных документов всё равно требуется ручное вмешательство.

Применение

Репликация в Lotus Notes используется в корпоративных средах, где требуется:

Преимущества и недостатки

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

Недостатки

Современное состояние

С появлением облачных технологий и переходом на веб-ориентированные платформы (Microsoft 365, Google Workspace, Slack) популярность Lotus Notes снизилась. Однако в ряде крупных организаций, особенно в государственном секторе, банках и промышленности, Lotus Notes/Domino продолжает использоваться благодаря своей надёжности и возможности офлайн-работы. Компания HCL Technologies, которая приобрела права на Lotus Notes и Domino у IBM в 2019 году, продолжает развивать платформу, добавляя поддержку современных протоколов (REST API, JSON, интеграция с мобильными устройствами) и улучшая механизм репликации для гибридных сред.

Репликация остаётся востребованной в сценариях, где требуется синхронизация данных между локальными серверами и облачными инстансами HCL Domino, а также в системах с высокими требованиями к автономности (например, в военных или авиационных приложениях).

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →