Copy-on-Write (COW)

Copy-on-Write (COW)

технология для СУБД, которая позволяет создавать копии рабочих баз данных для разработчиков:

  • быстро
  • практически без затрат дискового пространства

Технология работает за счёт того, что база данных не копируется полностью. Вместо этого используется готовый слепок (snapshot) рабочей базы как общий начальный образ.

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

Проблема, которую решает технология

Разработчикам и тестировщикам 1С необходимы актуальные копии продуктивной базы для поиска ошибок и тестирования нового кода. При традиционном подходе это приводит к ряду проблем:

  • длительное время создания копии базы (чем больше объём, тем дольше процесс)
  • высокие требования к дисковому пространству
  • (например, при базе 5 Tb и 10 разработчиках требуется до 50 Tb хранения — 5 Tb × 10 копий)
  • необходимость участия администраторов при восстановлении базы
  • (разработчики обычно не имеют доступа и компетенций для самостоятельного развёртывания)

Решение: Copy-on-Write с Database Lab

Развёртывание копии продуктивной БД занимает 1.6 секунды (без учёта создания контейнера)

1

Каждая копия базы не дублирует исходные 5 Tb данных, а использует общий слой данных

2

После создания копии хранится только «дельта» изменений разработчика (обычно 5–10 Gb, зависит от объёма изменений)

3

Дополнительно используется реплика продуктивной БД объёмом около 500 Gb, которая поддерживается в актуальном состоянии через WAL-записи

4

Особенности продукта


Продуктивная зона
  • Размер БД: 5 Tb
  • Создаётся снапшот с использованием ZFS
  • Итоговый размер снапшота: около 500 Gb (зависит от уровня сжатия)

Предпродуктивная зона / тестирование
  • Database Lab хранит сжатую реплику продуктивной БД: 500 Gb (всегда актуальные данные)
  • создаётся снапшот состояния базы
  • разворачивается БД на основе выбранного снапшота
  • каждая копия для разработчика увеличивается только за счёт изменений (5–10 Gb)

Архитектура и требования
  • технология совместима с PostgreSQL и его форками (Postgres Pro, Tantor, Pangolin и др.)
  • инфраструктура Database Lab использует Docker-контейнеризацию
  • поддерживаются большинство Linux-подобных операционных систем
  • требуется ZFS или LVM + ext4/xfs
    (при отсутствии ZFS сжатие реплики не применяется, и размер может составлять до 5 Tb)

Выводы

Ускорение разработки и тестирования за счёт:

  • быстрого развёртывания базы
  • отсутствия необходимости участия администраторов (автоматизация процессов)

Существенная экономия дискового пространства

По вопросам сотрудничества вы можете связаться с нами:


© 2013 — 2026 «1С-Корпоративные системы управления»
Политика конфиденциальности
Мы используем файлы cookie. Продолжив работу с сайтом, вы соглашаетесь с Политикой обработки персональных данных.