Spec-Zone.ru › MySQL 5.7

17.9.5.2 Восстановление по состоянию на определённый момент времени

Для синхронизации сервера, присоединяющегося к группе, с донором до определённого момента времени, присоединяющийся сервер и донор используют механизм идентификаторов глобальных транзакций MySQL (GTID). См. Раздел 16.1.3, «Репликация с глобальными идентификаторами транзакций». Однако GTID предоставляют лишь способ определить, какие транзакции отсутствуют на присоединяющемся сервере, но не помогают обозначить конкретный момент времени, к которому присоединяющийся сервер должен синхронизироваться, а также не обеспечивают передачу сертификационных данных. Это задача маркеров просмотра бинарного лога, которые отмечают изменения в потоке бинарного лога и содержат дополнительную метаданную информацию, предоставляя присоединяющемуся серверу недостающие данные, связанные с сертификацией.

Просмотр и изменения просмотра

Для объяснения концепции маркеров изменения просмотра важно понять, что такое просмотр и изменение просмотра.

Просмотр соответствует группе участников, активно участвующих в текущей конфигурации, то есть в определённый момент времени. Они корректны и онлайн в системе.

Изменение просмотра происходит при изменении конфигурации группы, например, при присоединении или выходе участника. Любое изменение членства в группе приводит к независимому изменению просмотра, переданному всем участникам в один и тот же логический момент времени.

Идентификатор просмотра однозначно идентифицирует просмотр. Он генерируется при каждом изменении просмотра.

На уровне коммуникации группы изменения просмотра с соответствующими идентификаторами просмотра являются границами между данными, обмениваемыми до и после присоединения участника. Эта концепция реализована посредством нового события бинарного лога: «событие изменения просмотра». Таким образом, идентификатор просмотра также становится маркером для транзакций, переданных до и после изменений в членстве группы.

Сам идентификатор просмотра состоит из двух частей: (i) случайной и (ii) монотонно возрастающей целой. Первая часть генерируется при создании группы и не изменяется, пока в группе есть хотя бы один участник. Вторая часть увеличивается каждый раз при изменении просмотра.

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

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/group-replication-recovering-from-a-point-in-time.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API