Классика баз данных - статьи

       

Виртуализация ресурсов и GRID-технологии


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

Выходом является виртуализация ресурсов. При этом все диски центра обработки данных (ЦОД) объединяются в один большой виртуальный диск, на котором располагаются все данные всех приложений, и мы можем гибко на ходу увеличивать этот виртуальный диск, добавляя к нему новые физические диски, или легко отдавать место для хранения тем приложениям, которым оно сейчас необходимо. Та же картина и с процессорным ресурсом. Объединение множества компьютеров в один виртуальный компьютер, на котором одновременно работает множество приложений, мощность которого можно легко увеличивать, на лету добавляя новые компьютеры, и возможность перераспределения вычислительных ресурсов этого суперкомпьютера между приложениями по мере необходимости позволяют резко повысить гибкость вычислительной системы, снизить ее стоимость и увеличить эффективность использования оборудования. Примером такой виртуализации является Oracle GRID [], где диски объединены в Storage Grid, а компьютеры в Database Grid – виртуальный сервер БД и Application Grid – виртуальный сервер приложений. Для управления таким множеством элементов используется ПО Grid Control, которое позволяет работать с множеством объектов как с единым целым (рис. 1).


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

Такой подход очень привлекателен для организаций, он позволяет создавать вычислительный ресурс неограниченной мощности и не заботиться о том, на каких компьютерах реально работает ваше приложение. Главное – запросить и получить тот вычислительный ресурс, который вам сейчас нужен. Система сама выполнит балансировку нагрузки для вашего приложения, создаст, если надо, БД с учетом обеспечения зеркалирования данных и снижения нагрузки по вводу/выводу, задействует столько элементов GRID, сколько необходимо для обеспечения требуемой вам надежности и производительности. И, по мере изменения внешних условий и ваших требований, она будет подстраиваться под эти требования.

Сегодня уже реализованы такие Еntеrprise GRID первого поколения на Oracle (Amazon, e-Bay Латинской Америки, EDS ABNAMRO и т.д.), компания IBM активно проводит исследования в области GRID-технологий для научных вычислений, существует специальный инструментарий Globus Toolkit для использования Grid-технологий при разработке приложений. Однако подход Oracle, который не требует использования специальных инструментов и подходов для разработки корпоративных приложений, которые будут работать в среде GRID, кажется более перспективным.

Основой Database GRID у Oracle является архитектура Real Application Clusters, реализующая подход shared disk (все узлы кластера одновременно работают с единой БД). Еще одним подтверждением перспективности подхода послужила информация о разработке компанией Sybase продукта Sybase ASE Cluster Edition, который очень похож на Oracle RAC, похожую архитектуру реализует и IBM DB2 для Mainframe.

У Enterprise Grid первого поколения был ряд ограничений. Так, выделялось два виртуальных компьютера – Database Grid и Application Grid (вместо одного единого большого виртуального компьютера для СУБД, серверов приложений, Веб-серверов, HTTP-серверов и т.д.), ресурсы не перераспределялись автоматически в соответствии с заранее заданной политикой, система не адаптировалась автоматически к постоянно изменяющейся нагрузке, приложения не могли без остановки работы переезжать с более слабых узлов GRID на более мощные и т.д. Большинство из этих ограничений будет снято в архитектуре Enterprise GRID 2, примером которой будет Oracle 11.2.



Рис 1. Oracle GRID 2


Содержание раздела