Заметки из Зазеркалья

10.09.2024

Развитие механизма копий баз данных

Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.

Планируется в версии 8.3.28

Мы продолжаем развивать механизм копий баз данных, предназначенный для ускорения работы с большими объемами данных.

img-001.png

Поддержка расширений

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

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

После добавления расширений с областью действия «информационная база» при обновлении копии новые поля расширенных объектов, уже включенных в копию, автоматически добавляются в копию в соответствии с существующим алгоритмом включения (аналогично тому, как добавляются в копию новые поля объектов основной конфигурации). Собственные объекты расширения автоматически в копию не добавляются, но могут быть включены в копию (через функцию для технических специалистов «Управление копиями базы данных» или с помощью встроенного языка).

В состав копии не могут входить собственные объекты расширения данных, имеющего область действия «область данных».

Встроенный язык будет расширен для поддержки новой функциональности.

Возможность полной перезагрузки копии базы данных

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

В версии 8.3.28 появится возможность полной перезагрузки всех или отдельных таблиц существующей копии.

Во встроенном языке объекту МенеджерКопииБазыДанных будет добавлен метод ОчиститьДанные(Clear Data), переводящий все таблицы копии (или только заданные таблицы) в не загруженное состояние. При обновлении копии данные таблиц будут очищены и вновь загружены в режиме начального обновления.

В функции для технического специалиста «Управление копиями базы данных» для строки списка копий в меню добавится команда «Очистить данные».

img-002.png

В отдельных сценариях, когда за короткое время происходит очень большое количество изменений данных (например, упоминаемый выше режим ETL – единовременная массовая загрузка или перезагрузка всех или отдельных таблиц) новая функциональность поможет сократить время синхронизации копии: очистка таблиц(ы) в копии и безусловный перенос всех данных таблиц(ы) из рабочей БД в копию работает быстрее, чем стандартный перенос транзакций (т.е. перенос запись за записью) из рабочей БД в копию. Обратим внимание: использование новой функциональности рекомендовано в отдельных сценариях с очень большим одномоментным количеством изменений; при обычной работе с информационной базой использование новых возможностей не требуется.

Рассказать друзьям: