К этому прибавилась и виртуализация баз данных. Обратимся к ретроспективе данной темы, чтобы подготовиться к изучению ее перспектив. Что готовит будущее для виртуализации баз данных?
Виртуализация на клиентском компьютере и сервере
Виртуализация началась на настольном компьютере: с VMware Workstation компании VMware можно построить множественные тестовые среды, не приобретая физических систем. Отсюда виртуализация выросла до серверного уровня. VMware перевела гипервизор на «голое железо» в составе серверной линейки VMware ESX. Это, в сочетании с новой волной многоядерных процессоров с технологией x64 от Intel и AMD, дало виртуализации серверов производительность и масштабируемость, необходимые для проведения консолидации серверов под все виды производственных нагрузок. Компания Microsoft поздно вышла на рынок виртуализации серверов, но платформа виртуализации Hyper-V 2.0, поставляемая с Windows Server 2008 R2, вывела компанию наконец на сопоставимый с VMware уровень.
Виртуализация приложений
Следующая волна прошла в области виртуализации приложений. Продукт одноименной компании SoftGrid, который впоследствии был приобретен Microsoft и переименован в Microsoft Application Virtualization (App-V), был пионером в этой области. Виртуализация приложений происходит при измененном взаимодействии между приложением и базовой операционной системой хоста. Приложение непосредственно не взаимодействует с системным реестром, оно работает с копией этого реестра и файловой системой. Уровень взаимодействия с физической файловой системой, как правило, настраивается. Виртуализация приложений предназначена в первую очередь для настольных приложений, поскольку это облегчает централизованное управление и развертывание приложений. Она не предназначена для серверных приложений, таких как SQL Server или Exchange Server. На сегодня существует два основных типа виртуализации приложений: тот, который использует агента на хост-системе, как в технологии Microsoft App-V, и устанавливающий поддержку виртуализации через исполняемый файл и работающий без каких-либо агентов, как VMware ThinApp. Вы можете комбинировать виртуализацию рабочей станции либо сервера с использованием виртуализации приложений.
Виртуальная инфраструктура Virtual Desktop Infrastructure (VDI)
Последний этап эволюции виртуализации представляет виртуальная инфраструктура рабочего стола пользователя. В ней настольные системы используют протокол удаленного рабочего пространства Remote Desktop Protocol (RDP) или иной протокол дистанционного отображения для подключения к виртуальной машине, работающей под соответствующей настольной операционной системой на внутреннем сервере Hyper-V или ESX. Обычно брокер связи расположен между клиентскими системами и внутренним сервером виртуализации; он направляет запросы клиентов на нужную виртуальную машину. VDI обеспечивает централизованное управление рабочими столами, но также имеет самые высокие требования к аппаратной инфраструктуре.
Виртуализация баз данных
Как мы видим, виртуализация набирает обороты, и «поезд не остановить». Независимые разработчики ISV продолжают искать пути изменений и адаптации виртуализации под различные сценарии. Будущее виртуализации баз данных активно обсуждалось на саммите PASS 2009. Сегодня виртуализация баз данных осуществляется на уровне сервера базы данных. Тем не менее реальное будущее виртуализации баз данных вполне может выглядеть как виртуализация самих баз данных. В таком случае сервер может быть виртуальным, а может и нет. Вместо этого виртуализация будет происходить на уровне базы данных; база данных может перемещаться между различными экземплярами сервера SQL как ответ на изменение рабочей нагрузки. Другие элементы сервера баз данных, такие как его свойства, учетные данные, разрешения, файлы и журналы, наверное, можно было бы переносить вместе с базой данных. Когда виртуализация происходит на уровне базы данных, а не на уровне сервера, базы данных можно незаметно перемещать между серверами без простоев для приложений и конечных пользователей. Потенциальные преимущества этого положения включают более детальный контроль рабочей нагрузки, под которой находится каждый сервер, а также более полный контроль времени отклика, которое предоставляется приложениями, использующими каждую из баз данных. В случае неактивного использования отдельных баз данных или групп баз данных можно было бы переносить их на серверы с более слабыми характеристиками, а при более высокой рабочей нагрузке?— на серверы повышенной мощности. Самой виртуализацией может управлять SQL Server, использующий что-то вроде Resource Governor.
Будет ли реализован этот тип виртуализации баз данных, можно лишь догадываться, но это, безусловно, лежит в сфере возможного.
В любом случае технология виртуализации на этом не останавливается и даже развивается в новых направлениях, обеспечивая более эффективные операции и предоставляя основу для динамических центров обработки данных и для таких приложений, как SQL Server, виртуализацию которого многие еще недавно считали едва ли возможной.
Майкл Оти (motey@windowsitpro.com)?— технический директор Windows IT Pro и SQL Server Magazine, автор Microsoft SQL Server 2008 New Features (Osborne/McGraw-Hill)