Вам приходилось слышать модное словечко из сферы IT - grid computing (сетевые вычисления)? Эта технология известна также как utility computing (вычисления по запросу) или on-demand computing (вычисления по требованию). Она имеет столько же определений, сколько и названий. На базовом уровне grid computing призвана решать те же задачи, что и инициатива Microsoft Trustworthy Computing (доверенные вычисления) - сделать вычислительные ресурсы столь же доступными и надежными, как водопровод и электричество. Включая свет, вы ожидаете, что лампочка загорится - точно так же и при подключении к вычислительной среде вы сможете рассчитывать на доступность различных служб, предоставляемых данной средой.
Более строгое определение grid computing, поддерживаемое другими ведущими компаниями, такими как HP и IBM, подразумевает нечто большее, чем просто доступность. Эти компании продвигают концепцию динамического перераспределения ресурсов между платформами для удовлетворения потребности в вычислениях с использованием всех доступных вычислительных ресурсов. В то время как потребность в объемных вычислениях может нарастать и снижаться в течение дня, вычислительная среда остается неизменной. Пиковые нагрузки могут вызвать перегрузку, низкие нагрузки означают недоиспользование вычислительных ресурсов. С приходом сетей вычислительных ресурсов по требованию (on-demand grid computing) вычислительная среда становится динамичной, выполнение приложений распределяется и перемещается между различными серверами в соответствии с потребностями и нагрузкой. Даже конфигурация сети может динамически изменяться на уровне коммутаторов.
Oracle предлагает собственное понимание grid computing - это система управления базами данных, включающая в себя множество узлов и позволяющая распределять ресурсы базы данных между узлами. Этот подход Oracle 10g представляет собой новейшую версию технологии кластеризации баз данных.
В основе предлагаемого компанией Oracle подхода лежит технология кластеризации приложений Oracle Real Application Clusters (RAC), использующая технологию разделяемых дисков. Разделяемые диски предоставляют некоторые дополнительные функции по сравнению с технологиями SQL Server 2000 и SQL Server 7.0, которые не обеспечивают возможности совместного использования ресурсов. Во-первых, поскольку применяется совместное использование диска, диск может управляться как единое целое - это удобнее, чем предлагаемая SQL Server технология распределенных раздельных представлений. Во-вторых, при добавлении дополнительных вычислительных ресурсов, например, узлов в кластер, Oracle RAC может автоматически подключать их к вычислениям. В SQL Server разбиение на разделы по-прежнему должно выполняться вручную.
Следует иметь в виду, что предлагаемая компанией Oracle архитектура совместного использования дисков требует наличия универсального механизма блокировки записей между всеми узлами кластера для обеспечения синхронизации. Этот механизм блокировки существенно снижает возможности масштабирования. Не поддерживающие совместный доступ кластерные решения лишены этого недостатка (к таким системам относятся, например, SQL Server 2000 и SQL Server 7.0). Это подтверждают проведенные недавно измерения производительности TPC-C. В некластерных вариантах испытаний первое место прочно удерживает Oracle 10g. Но даже возможности использования сетевого распределения не позволяют Oracle 10g претендовать на призовые места в кластерном испытании TPC-C, первые три места в тесте по-прежнему принадлежат SQL Server 2000.
Возможность динамического выравнивания распределения системных ресурсов по требованию является частью стратегии Microsoft в области баз данных, начиная с версии SQL Server 7.0. И хотя Microsoft пока запаздывает с объявлением своей стратегии в области распределенных сетевых вычислений, SQL Server обладает более широкими возможностями масштабирования, чем Oracle 10g с ее механизмом кластеризации совместного доступа к диску. В настоящее время Microsoft активно работает над упрощением задачи администрирования распределенных кластеров и высокопроизводительных вычислительных систем. Таким образом, хотя SQL Server пока не обозначен на поле распределенных сетевых вычислений, он остается лидером в области высокопроизводительных баз данных.
Майкл Оти (mikeo@teca.com) - Научный редактор американского журнала Windows & .NET Magazine, президент компании TECA, специализирующейся на разработке программного обеспечения и оказании консультационных услуг; соавтор книги ADO.NET: The Complete Reference (издательство Osborne/McGraw-Hill).