Oracle (Редвуд-Шорз, шт. Калифорния) активно готовится к официальному представлению крупного обновления своей СУБД под названием Oracle 10G, которое будет включать поддержку модели распределенных вычислительных ресурсов Grid Computing (см. PC Week/RE, N 30/2003, с. 3).
По отзывам пользователей бета-версии, новый вариант СУБД будет иметь легко настраиваемые grid-функции. Вместе с тем одним из идейных аспектов прошлогоднего выпуска корпорацией продукта RAC (Real Application Clusters) была ОС Linux, использование которой, по словам директора Linux-разработок Oracle Уима Кокертса, может "скосить" до пяти шестых стоимости платформы.
Остается немаловажный вопрос: готова ли Linux к реальной поддержке корпоративных баз данных? Часть экспертов считает, что нет. Они отмечают: эта ОС исходно проектировалась как вариант Unix для ПК с процессорами Intel 486, а не как платформа для корпоративных баз данных и уж тем более не как платформа для распределенных баз данных в grid-варианте.
"Linux изначально не предназначалась быть СУБД-платформой, - заявил аналитик компании Pacific Data Works (Сан-Карлос, Сан-Франциско) Эндрю Бинсток. - Для настоящей, корпоративного масштаба платформы баз данных в Linux еще есть элементы, требующие дальнейшей проработки".
Ключевым компонентом ядра системы, нуждающимся в усовершенствовании, по мнению Бинстока, является модель организации потоков. Многопоточность - критический фактор для поддержки корпоративных СУБД. Без нее СУБД придется выполнять каждый запрос в порядке поступления, а остальные запросы будут ждать в очереди, так как система неспособна к параллельной обработке.
Поддержка потоков пришла в ядро Linux только в последние годы, и даже сейчас там имеются дефекты, которые надо устранить. Например, считает Бинсток, хотя в варианте Linux-ядра под номером 2.6 появится дополнительная поддержка интерфейсов поточности - функция Pthreads, она еще не вполне совершенна.
Тем не менее некоторые пользователи реально эксплуатируют корпоративные базы данных под Linux. Один из них - директор SourceForge.net Патрик Мак-Говерн. SourceForge.net (Фримонт, шт. Калифорния) - крупнейший Web-узел для разработок с открытым исходным кодом. Открывшийся в 1999 г. сайт переживает экспоненциальный рост и ныне вмещает свыше 66 тыс. проектов.
По соображениям масштабируемости в SourceForge.net приняли решение перейти с СУБД PostgreSQL на IBM DB2 в среде Linux. Инициативу реализовали несмотря на потенциальные недоработки ядра Linux, и сайт, по словам Мак-Говерна, продолжает расти, ежедневно регистрируя около 700 новых пользователей.
"С моей точки зрения, в последние два года ситуация с Linux намного улучшилась, - сказал он. - В Advanced Server фирмы Red Hat появилось множество усовершенствований ядра, повышающих производительность ОС при работе с базами данных, например дополнительная поддержка потоков и распределения памяти".
Без Advanced Server, считают специалисты, перевод корпоративных баз данных под Linux неоправдан. "Я знаю много людей, использующих СУБД под Linux, - отметил Ян Абрамсон, технологический руководитель фирмы Ian Abramson Systems (Торонто). - Получается неплохо, но если вы начинаете осваивать что-то новое, неизвестное или свежеразработанное, неизбежны проблемы. А Advanced Server их минимизирует".
Есть и иные взгляды. Так, Крэг Рид, президент Toronto Oracle Users Group и ИТ-директор фирмы Mtrilogix (Торонто), не рекомендует своим клиентам использовать Linux в распределенной среде с повышенными требованиями к стабильности, резервированию и дублированию данных даже при наличии Advanced Server. В числе слабых мест этой ОС - отсутствие готового инструментария, сложная установка и эксплуатация. Linux, считает он, "...еще не созрела ни в плане способности ядра поддерживать ресурсоемкие, как в grid-системах, вычисления, ни в плане отказоустойчивости".
С точки зрения Брайана Стивенса, вице-президента Red Hat (Уэстфорд, шт. Массачусетс) по разработке ОС, многие недостатки Linux-ядра, проявляющиеся при поддержке корпоративных СУБД, уже исправлены или будут устранены в версии 2.6, которая выйдет в следующем году. Так, она сможет поддерживать гораздо большую память, позволит СУБД кэшировать гораздо большие объемы данных и, значит, работать намного быстрее, а также будет иметь улучшенную масштабируемость процессов ввода-вывода, что ликвидирует узкие места и конфликтные ситуации.