Насколько я могу судить, тенденция виртуализации вычислительных ресурсов не ослабевает. Ресурсы процессора, оперативной памяти, хранилища данных и операционной системы обычно доступны по требованию. Доступ к программному коду выполняется через Git или другие репозитории, и он может разворачиваться для автоматической сборки в тестовой среде за считанные секунды. Разработчики могут свободно заниматься своим делом, не беспокоясь об инфраструктуре, за исключением тех случаев, когда приходится работать с базами данных.

Реляционные базы данных отличаются большими размерами, так что для их копирования или перемещения и подготовки среды для разработки и тестирования могут потребоваться часы. Это трудная задача. Судя по результатам опросов, большинство компаний обновляют среду SQL Server для разработки и тестирования только дважды в месяц (или реже). Администраторы баз данных вынуждены задумываться о смене инструментария, чтобы создавать среды с производственными данными.

На их счастье недавно появились решения от Red Gate и Windocks, обеспечивающие простой в использовании и доступный метод клонирования SQL Server. В этой статье мы рассмотрим технологию и преимущества клонирования, а также решения от Red Gate и Windocks. Признаюсь сразу — я сотрудник компании Windocks.

Предоставление производственных баз данных для разработки и тестирования с помощью клонов

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

Клоны Red Gate и Windocks основываются на виртуальном диске Windows. Клонирование начинается с резервной копии или моментального снимка, восстанавливаемых на виртуальном жестком диске (VHD), для получения полной байтовой копии среды базы данных. Этот «родительский образ» становится доступным только для чтения источником, который «клонируется» путем создания разностных дисков. Разностные диски содержат указатели на родительский образ для доступа на чтение к исходным данным, а также хранят сведения о любых изменениях (рисунок 1). Важно, что клоны создаются за несколько секунд и не требуют сильного увеличения размеров хранилища. Если в родительском образе доступна терабайтная среда, клоны могут быть созданы и предоставлены в экземпляры SQL Server за несколько секунд, и каждый из них использует только 40 Мбайт в хранилище данных.

 

Схема процесса клонирования баз данных
Рисунок 1. Схема процесса клонирования баз данных

Red Gate SQL Clone

Продукт Red Gate SQL Clone имеет архитектуру клиент-сервер с пользовательским веб-интерфейсом для управления созданием родительских образов, предоставляющую подключаемые клоны экземплярам SQL Server. Сервер SQL Clone работает с Windows Server 2008 R2, 2012 и 2016 и совместим с контейнерами Virtual Machines и Windocks. Схема процесса, предоставленная Red Gate, приведена на рисунке 2.

 

Процесс клонирования с помощью Red Gate SQL Clone
Рисунок 2. Процесс клонирования с помощью Red Gate SQL Clone

SQL Clone предоставляет пользователям и администраторам простой веб-интерфейс для создания родительских образов и клонов, пример показан на экране 1.

 

Веб-интерфейс SQL Clone
Экран 1. Веб-интерфейс SQL Clone

Windocks 2.0

Windocks — результат переноса открытого кода Docker на платформу Windows. Поддерживаются все редакции Windows 8 и 10, Windows Server 2012 и Windows Server 2016, а также все редакции, начиная с SQL Server 2008.

Контейнеры именуются экземплярами SQL Server и формируются за несколько секунд, со встроенной поддержкой для клонирования баз данных. Группы работают с изолированными контейнерами на общем сервере и обычно уменьшают количество используемых виртуальных машин в соотношении 10:1. Контейнеры поддерживают многоуровневые среды и используются для предоставления сред SQL Server или сред, содержащих NET + SQL Server. Администраторы баз данных и разработчики могут выбирать между использованием стандартного клиентского программного обеспечения Docker или веб-интерфейса для создания родительского образа и связанных контейнеров. В результате одного щелчка мышью на образе SQL Server контейнер SQL Server с клонированной базой данных предоставляется за несколько секунд (экран 2).

 

Интерфейс Windocks 2.0
Экран 2. Интерфейс Windocks 2.0

Два удачных решения для администраторов баз данных и разработчиков SQL Server

SQL Clone компании Red Gate — хорошее решение для всех, кто нуждается в поддержке больших баз данных SQL Server. SQL Clone поддерживает Windows Server 2008 R2, Server 2012 и Server 2016 и предоставляет клоны как для контейнеров, так и для экземпляров SQL на основе виртуальных машин. SQL Clone предоставляется для пяти именованных пользователей по цене начиная с 6995 долл.

Windocks 2.0 предоставляет контейнеры со встроенным клонированием баз данных SQL Server, по цене начиная с 99 долл./мес. при поддержке 10 контейнеров с клонами одновременно. Клонирование Windocks поддерживает редакции Windows 8.1, Windows 10 Pro и Корпоративная, а также Windows Server 2012 R2 и Server 2016. Windocks предоставляет интегрированный контейнер и возможность управления клоном. Клоны и точки подключения очищаются каждый раз при удалении контейнера. Функция клонирования Windocks входит в состав бесплатной версии Community Edition, которую можно загрузить здесь: www.windocks.com/community-docker-windows. Допол­нительные сведения об SQL Clone можно получить по адресу: www.red-gate.com/products/dba/sql-clone.