Свою стратегию движения в направлении к utility computing в Oracle теперь связывают, прежде всего, с корпоративными средами grid.
По традиции на OracleWorld 2003 новые технологии Oracle представил основатель компании Ларри Эллисон

Ключевым событием конференции OracleWorld 2003, прошедшей в Сан-Франциско с 8 по 11 сентября, стало объявление очередного поколения инструментов управления базами данных. В него вошли: СУБД Oracle Database 10g; сервер приложений Oracle Application Server 10g; инструментарий управления Oracle Enterprise Manager 10g. Все три продукта ориентированы на работу с корпоративными средами grid. За, казалось бы, незначительной модификацией названия (на единицу больший номер и маленький суффикс g, который сменил ставшую привычной со времен «восьмерки» букву i), скрываются радикальные перемены в стратегии и технической политике компании. Сущность перемен отражена в суффиксе, который своим происхождением обязан термину Grid и который стал символом ответа компании на сдвиг парадигмы в архитектуре корпоративных информационных систем, обозначившийся в последние годы. Новая парадигма имеет обобщенное название — utility computing — и целый ряд частных (computing on-demand, autonomous computing, organic computing и т.д., авторство которых принадлежит прежде всего IBM, Hewlett-Packard и Sun Microsystems). Теперь и Oracle сочла необходимым представить свое видение данной проблемы.

По традиции на OracleWorld 2003 новые технологии Oracle представил основатель компании Ларри Эллисон. Аргументируя поворот в сторону grid, он заявил, что компьютинг переживает сегодня переломный момент, своего рода кризис сорокалетия. Выход из кризиса требует отказа от сложившихся стереотипов и поиска новых решений. В течение предшествующих четырех десятилетий со времен мэйнфреймов прогресс в основном шел по линии совершенствования монолитных систем, а сейчас наступает время модульных. Мы становимся свидетелями успеха модульных накопителей, серверов, составленных из дешевых «лезвий». Создание сетевых систем обработки информации стало насущной необходимостью, и, поднимая grid в качестве нового знамени, Oracle делает тот шаг, который сделать необходимо.

Grid по-корпоративному

По традиции на OracleWorld 2003 новые технологии Oracle представил основатель компании Ларри Эллисон. Аргументируя поворот в сторону grid, он заявил, что компьютинг переживает сегодня переломный момент, своего рода кризис сорокалетия. Выход из кризиса требует отказа от сложившихся стереотипов и поиска новых решений

В Oracle называют свой подход к grid корпоративным. Обратим внимание на ограничение, накладываемое на данное понятие при добавлении к нему эпитета «корпоративный». Тем самым подчеркивается, что перед нами не grid вообще, а его подмножество. Как общая концепция построения среды распределенных вычислений данная идея зародилась примерно десять лет назад. Тогда в академических кругах в ней видели средство для сугубо специализированных научных и — реже — инженерных приложений. В качестве наиболее популярных примеров академических grid-сред можно назвать проекты SETI и Globus. Отличительная черта подобных решений в том, что они нацелены на консолидацию географически распределенных вычислительных ресурсов для решения одной и только одной задачи. С тех пор концепция прошла целый ряд эволюций, и сейчас grid можно представить как универсальный подход к сетевым вычислениям. В его рамках возможны самые разные реализации сетевых вычислительных структур, в том числе и «академические», и «корпоративные».

Преимущество корпоративного варианта grid — в практической реализуемости; его отличает прежде всего нацеленность на решение всей совокупности задач, образующих функционал корпоративной информационной системы. Корпоративная среда grid строится не из сторонних компьютеров, а только из вычислительных ресурсов, принадлежащих данному предприятию; это одно из важнейших ограничений, отличающих данный тип grid от академических глобальных сред, консолидирующих разнородные, принадлежащие разным собственникам ресурсы. В Oraclе пошли по пути ограничения еще дальше, основывая свое представление о grid преимущественно на собственной технологии кластеризации Real Application Cluster (RAC). Архитектуры grid, построенные с использованием RAC, могут состоять только из однородных по своему составу узлов. Говоря точнее, RAC — это технология параллельной кластеризации баз данных, позволяющая организовать взаимодействие между объединенными в кластер серверами, работающими с общей внешней памятью.

Следует заметить, что некоторые компании трактуют концепцию корпоративных сред grid шире. Так, IBM, Unisys и Sun Microsystems в своих подходах ближе к архитектуре Open Grid Service Architecture (OGSA). Их взгляды предполагают построение сред grid с использованием Web-служб; такого рода архитектуры стали называть «открытыми». По мнению Карла Олафсона, присутствовавшего на OracleWorld 2003 аналитика IDC, подход к построению grid в интерпретации Oracle скорее следует назвать «закрытым», поскольку он не использует имеющиеся немногочисленные пока стандарты.

Проблему соотношения «открытых» и «закрытых» сред grid мне удалось обсудить с вице-президентом Oracle Бенни Саудером, которого в компании называют «мистер Грид». Он признал, что исповедует частный подход, подчеркнув, что сегодня в Oracle делают то, что в состоянии сделать. Компания опирается на реально существующие (в том числе и на собственные) технологии, на то, что может дать практические результаты — не в отдаленном будущем, а в ближайшее время. При этом, отметил Саудер, проектирование ведется так, чтобы по мере совершенствования архитектур grid с появлением общепринятых отраслевых стандартов «grid по версии Oracle» можно было бы включить в них как составную часть.

Один за всех и все за одного

Развивая мысль Эллисона о грядущих изменениях, следует обратить внимание на то, что в течение всех предшествующих лет создание многопроцессорных сред основывалось на аппаратных решениях и средствах, предоставляемых операционными системами. Известны две очевидные закономерности. Первая: чем больше удельная стоимость аппаратного компонента системы, тем дороже система в целом; так, мэйнфреймы дороже Unix-серверов при равном числе процессоров. Вторая: чем больше процессоров в монолитной вычислительной системе, тем выше удельная стоимость одного процессора. Та же самая закономерность отмечается в системах хранения: монолитные накопители едва ли не на порядок дороже модульных, а удельная стоимость хранения на малых накопителях существенно ниже, чем на больших. Безусловно, современные монолитные системы аккумулируют большой инженерный опыт, обладают высочайшими эксплуатационными показателями. Но с появлением дешевых и стандартных устройств, простых и недорогих операционных систем возникает понятное стремление найти способ консолидации ресурсов, который позволил бы получить высокую производительность с малыми затратами. Именно поэтому на протяжении последних 10-15 лет строились и строятся различные параллельные кластеры из персональных компьютеров или рабочих станций, которые выходят на ведущие позиции в рейтингах наиболее высокопроизводительных компьютеров; однако они имеют ограниченное применение.

Нынешние сетевые и программные технологии дают возможность сделать следующий шаг по сравнению с мэйнфреймами и SMP-серверами, позволяя вынести функции управления процессорами и организации их совместной работы за пределы аппаратного обеспечения и операционной системы. Тогда общая стоимость системы будет складываться из арифметической суммы цен отдельных компонентов, а также программного обеспечения, которое возьмет на себя управление. Одной из первых индустриальных попыток использования более дешевых серверов в кластерных конфигурациях вместо больших монолитных серверов стала технология Real Application Cluster, реализованная в СУБД Oracle 9i. Теперь в Oracle решили пойти дальше, снизить уровень гранулярности и использовать в качестве элементов кластера совсем простые серверы. В пределе в качестве вычислительных модулей можно использовать, к примеру, Intel-серверы под управлением ОС Linux.

Можно сформулировать два базовых принципа, которые помогают двигаться в данном направлении.

  • Строить единое целое из множества однородных компонентов. Эта идея материализуется в непрерывном пространстве серверов, динамически разделяемом на отдельные кластеры. Распределяя нагрузку между кластерами и изменяя их состав, можно добиться желаемого качества обслуживания, в том числе требуемых показателей готовности, масштабируемости и производительности. Можно в динамическом режиме заменять вышедшие из строя серверы, наращивать их число или перераспределять между кластерами в зависимости от изменений нагрузки. Атрибуты этого принципа - виртуализация на всех уровнях, динамическое распределение или поставка нагрузки и ресурсов в соответствии с заданной политикой, консолидация ресурсов с целью максимально эффективного использования.
  • Интерпретировать множество как один. Технологии grid позволят управлять группами машин, группами баз данных и приложений как единым целым, решив актуальную проблему постоянно возрастающей стоимости администрирования. Реализовать данный принцип помогают саморегулируемое программное обеспечение и унифицированное управление.

Технологии, обеспечивающие grid

Появление сред grid в том виде, как их представляют в Oraclе, стало возможным благодаря ряду технологических прорывов, состоявшихся в последние годы. Отметим основные.

В выступлениях на конференции говорилось о возможности построения grid и из традиционных стоечных серверов, однако чем ближе был выступающий к подразделению, непосредственно занимающемуся проблематикой grid, тем в большей степени под серверами он подразумевал серверы-лезвия. А Саудер на свою пресс-конференцию и вовсе принес образцы лезвий от IBM, Dell, Sun, Fujtsu и HP. Продемонстрированные им образцы были построены на процессорах архитектуры IA-32, но, по его же словам, вот-вот должны появиться лезвия и на 64-разрядных процессорах.

Сетевые системы хранения — будь то сетевые накопители NAS или сети хранения SAN — позволяют существенно снизить стоимость хранения, строя среды grid из накопителей. Особенно интересны решения, идейно близкие к серверам-лезвиям.

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

Первые примеры решений, где множество серверов-лезвий группируются в единый серверный массив, появились год-полтора назад, но для практического использования им не хватало соответствующего программного обеспечения. Они оставались лишь набором серверов. В Oracle со своей технологией RAC первыми сумели воспользоваться преимуществами подобных систем, проинтерпретировав пространство серверов как среду grid, разделенную на кластеры.

Немного личных впечатлений

На основании множества выступлений на OracleWorld 2003 могло сложиться впечатление, что сегодня grid, и только grid, становится основой бизнеса Oracle. Разумеется, это не так. Grid — видимая часть айсберга, на которой легко развешивать жизненно важные маркетинговые лозунги. В версии 10g и Oracle Database, и Application Server приобрели целый ряд новых характеристик, необходимых для работы не только в рамках grid.

Что касается видов на будущее, то аналитики Gartner пришли к выводу о том, что grid имеет хорошие перспективы в корпоративной среде, но для полноценного утверждения этой технологии потребуется большая работа. Возможно, первыми пользователями grid от Oracle станут не крупные компании, а те, чей бюджет существенно ограничен. Мне показалось интересным сопоставление grid с сотовой телефонией: в странах с менее развитой системой телекоммуникаций она развивается быстрее кабельной, по существу заменяя ее. Те, кто не в состоянии позволить себе дорогие серверы, вполне могут начать строить свою корпоративную инфраструктуру сразу с grid, где не требуется (во всяком случае, так утверждают в Oracle) крупных начальных инвестиций и есть возможность плавного наращивания в перспективе.


Grid — это ПО

Среда grid в том виде, как ее представляют в Oracle, — это своего рода мегакомпьютер без аппаратной системы управления, без общей для процессоров операционной системы. Функции, образующие grid, распределены по трем компонентам: Oracle Database 10g, Oracle Application Server 10g и Oracle Enterprise Manager 10g.

Специальные функции, реализующие grid в Oracle Database 10g, таковы:

  • Real Application Cluster обеспечивает выполнение одного экземпляра базы данных на нескольких кластерных узлах grid. Также отвечает за гибкое распределение нагрузки на уровне кластера, освобождая и подключая узлы в случае необходимости. Пространство серверов может трансформироваться, серверы могут передаваться из одного кластера в другой. Все эти операции выполняются в динамическом режиме, без перерывов в работе.
  • Automatic Storage Management упрощает администрирование баз данных, реализует технологии RAID и логические менеджеры томов, перераспределяет диски между узлами grid.
  • Information Provisioning выполняет функцию распределения информации между дисками примерно так же, как RAC перераспределяет нагрузку.
  • SelfManaging Database поддерживается интеллектуальной инфраструктурой.

Oracle Application Server 10g дополнен функциями, которые позволяют выполнять приложения в среде grid:

  • Application Server Cluster, по своему предназначению аналогичный RAC, распределяет выполнение приложений в соответствии с заданной политикой.
  • Identity Management обеспечивает централизованное управление правами на доступ.
  • Application Development Framework позволяет разрабатывать ориентированные на работу в grid приложения и переносить в эту среду готовые приложения.

Oracle Enterprise Manager 10g Grid Control служит для поддержки консоли управления средой grid.