Концептуальная модель предметной области
Определения элементов:
-
Проект (project) — рабочая область пользователя, в которой ему доступны прочие элементы в зависимости от его привилегий.
-
Граф (graph) — набор модулей, решающих единую бизнес-задачу репликации.
-
Кластер (cluster) — логическая группа из нескольких графов, обеспечивающая функциональность Stand-In.
-
Модуль (module) — полное описание правил репликации, включающее источники/приемники данных, описание структуры данных и правил преобразования. Модуль может быть запущен на исполнение при наличии исполнителя, умеющего исполнять модули нужного типа.
-
Конфигурация (config) — описание правил репликации и трансформации данных без привязки к конкретным источникам и приемникам данных. Конфигурация содержит:
-
«белый» список реплицируемых таблиц (или «черный» список нереплицируемых);
-
соответствие таблиц и полей в источнике таблицам и полям в приемнике;
-
правила трансформации данных, настройки синхронной репликации.
Для конфигурации можно задать произвольное число модулей. Модули, созданные для одной конфигурации, будут выполнять преобразования и репликацию по одним и тем же правилам, но между разными источниками и приемниками.
-
-
Соединение (connection) — URL конкретного источника данных. Например, PostgreSQL или файл.
Помимо URL источника/приемника для соединения можно задать дополнительные параметры в интерфейсе консоли, во вкладке Соединения, окне Редактирование свойств соединения, поле Опции. Например, для PostgreSQL это название слота логической репликации.
-
Представление (view) — произвольное объединение модулей для отображения и удобства массовых управляющих воздействий.
Для удобства управления и мониторинга пользователи консоли могут создавать произвольные представления, содержащие интересные пользователю модули. Модули, объединенные в представление, не связаны между собой и могут относиться к разным графам. Группировка модулей в различные представления позволяет удобно отображать все связанные задачи на одной странице консоли, быстрее искать нужные модули и выполнять массовые управляющие воздействия.
-
Метка (tag) — произвольная строка, позволяющая быстро найти модуль по ключевому слову.
С целью удобства поиска и фильтрации модули могут быть снабжены произвольным количеством текстовых меток – тегов.
-
Процесс (process) — запущенный модуль, то есть процесс операционной системы, выполняющий перемещение данных между хранилищами данных (БД, файловыми системами и так далее) в соответствии с настройками модуля.
Чтобы запустить процесс репликации, следует при помощи консоли или API запустить модуль, то есть породить процесс. В каждый момент только один процесс для каждого модуля может быть активен, но впоследствии возможно появление модулей, которые могут быть запущены в нескольких экземплярах.
-
Хост (host) — сервер, где установлены исполнители GraDeLy и где могут быть запущены процессы репликации.
При развертывании GraDeLy в конфигурации «клиент/сервер» администратор должен указать хост, на котором будет запущен процесс. Хост представляет собой сервер (физический или виртуальный). При развертывании в среде контейнерной виртуализации весь кластер Kubernetes представляет собой единственный хост, а физический сервер, где будет запущен процесс, определяет сам Kubernetes непрозрачно для потребителя.
-
Агенты взаимодействий - сущности, участвующие в процессе репликации
-
Клиентский модуль - java-библиотека, подключающаяся в клиентское приложение
-
Приемник изменений - сущность, принимающая изменения в процессе репликации, обычно БД приемника.
-
Источник изменений - сущность, отправляющая изменения в процессе репликации, обычно БД источника.
-
Модуль захвата - сущность, захватывающая поток репликации от источника изменений, обычно модуль платформы логической репликации.
-
Модуль применения - сущность, передающая поток репликации к приемнику изменений, обычно модуль платформы логической репликации.
-
Брокер сообщений - промежуточное хранилище данных в цепи передачи от модуля захвата к модулю применения.
-
Данные - информация, имеющая ценность для потребителя, которая подлежит логической репликации.
-
Вектор изменений - единица данных, участвующих в репликации.
-
Схема данных - сущность, определяющая нахождение данных в источнике и приемнике.
-
Формат данных - способ записи данных.