Ж у р н а л   о   к о м п ь ю т е р н ы х   с е т я х   и   т е л е к о м м у н и к а ц и о н н ы х   т е х н о л о г и я х
СЕТИ И СИСТЕМЫ СВЯЗИ on-line
  ПОИСК: ПОДПИСКА НА НОВОСТИ: НОМЕР:
    ДОМОЙ • Архив: Новостей | Конференций | НомеровПодписка
 
   
 
   
    
РЕДАКЦИЯ
 
Все о журнале
Подписка
Как проехать
Где купить
Отдел рекламы
График выхода журнала
Адреса в Интернет

РУБРИКАТОР
   
• Инфраструктура
• Информационные
   системы

• Сети связи
• Защита данных
• Кабельные системы
• Бизнес
• Колонка редактора
• Электронная
   коммерция

• Только на сервере
• Системы
   учрежденческой
   связи

• Новые продукты


Rambler's Top100

  

Базы данных с открытым исходным кодом

Нил Макаллистер

Деятельность любой компании, развернувшей реальное приложение на основе БД с открытым исходным кодом, может стать очередной демонстрацией успеха движения Open Source.

Доверили бы вы свои ключевые бизнес-функции ПО с открытым исходным кодом? Свободно распространяемые программные пакеты, такие, как MySQL и PostgreSQL, получили самое широкое признание у разработчиков приложений. Однако, когда тех же самых разработчиков спрашивают: решились бы они использовать одну из этих БД в критически важных бизнес-приложениях, то в их ответах часто не чувствуется уверенности.

Полную версию данной статьи смотрите в 5-ом номере журнала за 2003 год.

Вопрос заключается не в том, можно ли на базе ПО с открытым исходным кодом создать качественный продукт. Любой, кто инсталлировал у себя ОС Linux, ответит на него утвердительно. Да и согласно результатам исследований компании Gartner, около 80% респондентов используют Linux в своих организациях для тех или иных целей. Свободно распространяемое ПО всегда будет заманчивым приобретением для предприятий с ограниченным бюджетом. Кроме того, существует множество других причин, заставляющих предприятия использовать ПО с открытым исходным кодом.

Однако только то, что сообщество Open Source сумело создать популярную операционную систему, еще не означает, что оно может успешно создавать и такие продукты, как базы данных. "ОС по своей природе не должна быть очень надежной, -- говорит главный управляющий компании Oracle Ларри Эллисон, выступая на конференции Oracle OpenWorld в Сан-Франциско. -- ОС всегда можно перезагрузить. Если же БД потеряет данные, то это мало кому понравится, даже если такое будет происходить всего два раза в год. Люди абсолютно нетерпимы к отказам БД. Насколько я могу судить, это единственный вид ПО, ошибки в работе которого недопустимы".

С одной стороны, трудно найти такие аргументы, которые заставили бы умудренных опытом разработчиков приложений, основанных на БД Oracle, DB2 или SQL Server, рисковать, используя БД с открытым исходным кодом. С другой стороны, разработчики, успешно развернувшие крупномасштабные приложения на основе MySQL и PostgreSQL, нередко расценивают коммерческие БД как нерациональное вложение денег. Можно, конечно, попытаться найти золотую середину между этими двумя крайними подходами к использованию БД, но при решении такой задачи способен впасть в уныние любой менеджер по технологиям.

Успешные примеры

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

Безусловно, самой популярной БД с открытым исходным кодом является сегодня продукт MySQL, число инсталляций которого во всем мире достигает 4 млн. копий. "Никто не сомневается в том, что наш продукт стал реально используемой РСУБД, -- говорит Мартен Микос, главный управляющий компании MySQL AB. -- Нас иногда упрекают за отсутствие в MySQL тех или иных функций, присущих большинству других БД. Однако, на наш взгляд, число инсталляций красноречиво говорит само за себя".

Микос ничуть не сомневается в том, что MySQL с достоинством выдержит натиск конкурентов. "Мы полагаем, что сможем заменить его около 30% всех корпоративных инсталляций Oracle, -- говорит он. -- Примерами организаций, где этот процесс уже идет, являются Yahoo и НАСА. Последняя сэкономила около 500 тыс. долл. только за счет... миграции одного лишь приложения с платформы Oracle на платформу MySQL".

Хотя MySQL является эффективной БД для Web-сайтов, по мнению опытных администраторов, ее достаточно скудный набор возможностей будет сдерживать ее использование в качестве БД для серьезных приложений. С их точки зрения, реальным соперником Oracle в области ключевых бизнес-приложений становится БД PostgreSQL с ее богатым арсеналом возможностей, не уступающим многим коммерческим СУБД.

"Проповедник" этого продукта Джастин Клифт объясняет, каким образом за последние несколько лет специалистом его компании удалось превратить PostgreSQL в зрелую БД: "Пару лет назад у нашей БД была репутация продукта с привлекательным набором функциональных возможностей, но плохим программным кодом. Наши разработчики заявили, что так дело не пойдет, и принялись всерьез модернизировать код ядра. Их труд не пропал даром -- сегодня у PostgreSQL репутация надежной БД". И все же главным преимуществом ее по-прежнему остается свободное распространение.

"Даже если вы считаете, что вам необходима более "доверительная" среда, такая, как, например, Oracle или DB2, база данных PostgreSQL всегда пригодится вам, -- говорит Марк Вудуард, разработчик из компании Mohawk Software. -- Мой предшественник выбрал Oracle. И хотя многие наши приложения опирались на эту БД, я сумел перенести значительную часть периодически обновляемой информации с этой платформы на платформу PostgreSQL. Благодаря такой миграции нашей компании удалось сэкономить десятки тысяч долларов на лицензионных отчислениях Oracle".

SourceForge.net идет коммерческим путем

Несмотря на успехи в использовании БД с открытым исходным кодом, было бы ошибкой считать, что эти продукты подходят для любых приложений. В отдельных случаях, когда требуются новейшие возможности БД, даже самые стойкие приверженцы ПО Open Source вынуждены переходить на фирменные технологии. Рассмотрим случай с компанией SourceForge.net, которая долгое время применяла БД PostgreSQL для поддержки Web-сайта сообщества разработчиков ПО Open Source. Согласно заявлению директора компании Патрика Макговерна, совсем недавно в компании было принято решение мигрировать с платформы PostgreSQL на платформу DB2.

"Я не могу сказать ничего плохого о PostgreSQL, -- объясняет Макговерн. -- Она была и остается для нас великолепной базой данных. Ее используют многие компании, на ней основаны многие Web-сайты, и мы были ею вполне довольны. Однако решение перейти на DB2 было принято по двум причинам. Одна из них -- рост популярности нашего сайта: мы стараемся поспеть за кривой роста его посещаемости".

С самого первого дня запуска узла SourceForge.net не было ни одного месяца, чтобы его популярность не возрастала. В настоящее время узел поддерживает около 50 тыс. программных проектов Open Source, и ежедневно эта цифра растет примерно на 70 новых проектов. В среднем за день регистрируются около 700 новых пользователей. Эти цифры свидетельствуют об очень интенсивном трафике -- каждый день просматриваются около 4 млн страниц. Макговерн надеется, что возможности организации пула соединений и резервного копирования БД DB2 8.1 помогут его компании преодолеть "болезнь роста", которую она испытывала, используя PostgreSQL.

Джефф Джоунз, директор по стратегии отделения управления данными фирмы IBM, полагает, что производительность -- это один из главных козырей в пользу применения коммерческих баз данных. "Наши инвестиции в DB2 способствуют наделению ее мощными возможностями по поддержке крупных серверных комплексов, в которых насчитываются сотни серверов, одновременно выполняющих какую-нибудь общую задачу или хранящих терабайты данных. Таким базам данных, как MySQL или PostgreSQL, путь на эту территорию "заказан". Таким образом, не существует ни одного более или менее веского аргумента в пользу применения БД с открытым исходным кодом в высокопроизводительных приложениях. Зато существуют аргументы в пользу их применения в приложениях с невысокой производительностью, правда, при этом нужно смириться с их ограниченной функциональностью. Недостаток же расширений для БД с открытым исходным кодом не позволяет им конкурировать с коммерческими БД в крупных приложениях".

Конкуренция

Одним из преимуществ продуктов с открытым исходным кодом является "общественная" модель их разработки. Однако, по словам Джоунза, сам факт, что DB2 -- это коммерческий продукт, служит одним из главнейших факторов, определяющих ее успех. "Общественной среде разработки открытого исходного кода недостает такого ключевого стимулирующего фактора, как потребность клиента, который заставлял бы группу профессиональных разработчиков быстро и качественно удовлетворять ее", -- говорит он.

Эл Хилуа, менеджер по продуктам Microsoft SQL Server, соглашается с этим высказыванием. По мнению специалистов "Microsoft, модель разработки Open Source играет важную роль в поддержании "экосистемы программирования". "Мы действительно считаем, что открытый исходный код имеет важные достоинства. Тем не менее, наш продукт предоставляет определенные преимущества в отношении долговременной стоимости и качества, выбора приложений, сервиса и технической поддержки. Фундаментальное отличие "большой тройки" (Microsoft SQL Server, Oracle, IBM DB2) от остальных конкурирующих баз данных, как дешевых, так и бесплатных, заключается в возможности их производителей поддерживать определенный уровень финансирования исследований, позволяющий им сохранять свои позиции на "игровом поле" по мере эволюции оборудования, приложений и потребностей клиентов", -- говорит он.

Инвестиции в научные исследования и новейшие функции, реализуемые в ходе их, являются неотразимыми аргументами в пользу того, чтобы принять сторону производителей коммерческого ПО. По мере усложнения приложений растут и их требования к БД, на которые они опираются. По всей вероятности, потребности систем истинно корпоративного класса будут опережать возможности ПО с открытым исходным кодом.

"Как правило, приложение корпоративного класса -- это кластерная система, -- поясняет Вудуард. -- она способна обеспечивать доступ для считывания/записи данных на более высоком уровне, чем тот, который может обеспечить обычная система. Кроме того, кластерная система гарантирует резервирование в реальном масштабе времени, когда, несмотря на отказ какой-нибудь одной машины, работоспособность системы в целом сохраняется. Если ваше приложение относится именно к такой категории, то в настоящее время БД PostgreSQL не сможет удовлетворить его потребности".

Крупные производители ПО как раз и сильны своими продуктами, ориентированными на такие кластерные приложения. Джоунз поясняет, что главные усилия разработчиков БД DB2 направлены на реализацию возможности многосистемного масштабирования. "Вы действительно не сможете выбрать между MySQL, PostgreSQL или какой-нибудь другой базой данных с открытым исходным кодом, если всерьез планируете наращивание своих приложений, -- говорит он. -- Что же касается относительно небольших приложений, требующих поддержки минимального набора SQL-запросов, то здесь нет никаких препятствий, способных помешать вам использовать MySQL или PostgreSQL. Если же вы работаете с ОС Linux, то эти базы данных у вас уже есть и они вполне удовлетворят ваши потребности. Однако по мере роста ваших приложений их ограниченные функциональные возможности, масштабируемость и производительность не позволят вам делать многие вещи".

Производительность

Отказываясь от БД с открытым исходным кодом из-за их низкой производительности или масштабируемости, не следует преувеличивать свои реальные потребности. Независимый разработчик ПО Рувен Лернер считает, что требования к производительности во многих проектах неоправданно завышены. "PostgreSQL вполне подходит для тех приложений, данные которых укладываются в несколько миллионов строк. Если же у вас миллиарды строк, то, может быть, вам имеет смысл рассмотреть возможность использования Oracle. Но раз уж вы оперируете таким огромным объемом данных, у вас, вероятно, достаточно денег, чтобы покрыть расходы на приглашение штатного администратора БД, закупку высокопроизводительного оборудования и ... полнофункциональную инсталляцию Oracle", -- говорит он.

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

Вудуард полагает, что, исходя из реальных требований большинства проектов, они являются вполне подходящими кандидатами для использования в них БД с открытым исходным кодом. "Из своего опыта я могу сказать, что на второй уровень реализации БД приходится от 90 до 99% общего рынка SQL. По мере того, как машины и дисковые накопители становятся более производительными и дешевыми, этот средний уровень обретает все большую функциональную полноценность. Лучше всего в эту категорию вписывается PostgreSQL. Существует множество конкурирующих с ним продуктов как среди фирменных БД, так и среди БД с открытым исходным кодом. Нужный вам продукт вы выбираете, основываясь на таких характеристиках, как тип реализации SQL, производительность, надежность, стоимость и техническая поддержки".

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

Лицензирование и поддержка

Как это ни удивительно, но лицензионные ограничения на продукты с открытым исходным кодом редко становятся предметом озабоченности покупателей. "Если вы скрупулезно выбираете продукт с открытым исходным кодом, то вы, должно быть, знаете, что большинство их имеют различные модели лицензирования, позволяющие удовлетворить потребности любого покупателя", -- говорит Хилуа из Microsoft. Например, компания MySQL AB распространяет свой продукт как на условиях Универсальной общественной лицензии GNU (GNU General Public License -- GNU GPL), так и на условиях альтернативной коммерческой лицензии.

Согласно объяснению Микоса из MySQL AB, "коммерческая лицензия не имеет ничего общего со строгими предписаниями GPL, так как она предоставляет коммерческим покупателям определенные "послабления" по сравнению с последней. Кроме того, лицензия GPL является лицензией типа "как есть", т. е. она не предоставляет никаких гарантий и не признает никаких рекламаций. В соответствии с нашей коммерческой лицензией, мы берем на себя ответственность за изготовленный продукт точно так же, как это делают производители фирменного ПО".

Это различие между лицензиями выглядит весьма существенным, поскольку самые большие опасения многих потенциальных пользователей продуктов с открытым исходным кодом связаны именно с технической поддержкой. Как считает Хилуа из Microsoft, "похоже, рынку требуется определенный уровень поддержки, соответствующие квалификационные навыки, примеры успешного развертывания, образующие некоторую "критическую массу", которую многие производители продуктов с открытым исходным кодом до сих пор не набрали".

И все же было бы ошибкой полагать, что после того как вы инсталлируете БД с открытым исходным кодом, вам придется вариться в "собственном соку". Даже те покупатели, которые получили MySQL с лицензией GPL, могут получить поддержку со стороны третьих фирм. То же самое можно сказать и о других БД с открытым исходным кодом. Что же касается PostgreSQL, то первоочередной задачей сообщества ее разработчиков было формирование надежной инфраструктуры поддержки этого продукта. "Совсем недавно мы развернули свои представительства по всему миру и отныне можем предоставлять круглосуточную поддержку клиентам, в какой бы точке земного шара они не находились", -- говорит Джастин Клифт.

Хотя Макговерн из SourceForge.net высоко оценивает поддержку со стороны IBM, он по-прежнему остается сторонником ПО Open Source. "Мы всегда можем позвонить в службу технической поддержки IBM и получить ответы на свои вопросы. До сих пор это здорово помогало нам при миграции с платформы PostgreSQL, -- говорит он. -- Однако сообщество Open Source нередко реагирует на наши вопросы во много раз быстрее".

Взвесьте все "за" и "против" еще раз

Решение о том, использовать или нет ПО Open Source, часто сопровождается "идеологическими" спорами по вопросам лицензирования и юридических прав на интеллектуальную собственность. Хотя разработчики, как правило, остаются каждый при своем мнении на этот счет, при оценке продукта -- особенно такого важного, как БД, -- во главу угла следует ставить требования бизнеса. В конце концов, имеет значение только то, что, как говорится, "работает на вас".

Хотя многочисленные пользователи SourceForge являются стойкими приверженцами Open Source, Макговерн до сих пор почти не встречал отрицательной реакции на решение компании мигрировать на DB2. "Число людей, которые спросили меня, почему мы это сделали, можно пересчитать на пальцах, -- говорит он. -- Я думаю, что большинство разработчиков ПО Open Source используют узел SourceForge.net из-за сервиса, предоставляемого нами. Высокий уровень сервиса, позволяющий создавать великолепные мощные приложения, -- вот то, что им нужно на самом деле, поэтому мы постараемся и дальше "не упасть в грязь лицом"".

Хилуа из Microsoft ни секунды не сомневается в том, что в большинстве практических случаев фирменные продукты будут обеспечивать наивысшее качество обслуживания клиентов. "Если вы посмотрите на большинство бесплатных продуктов, то увидите, что они обладают достаточно скудными функциональными возможностями, и это не позволяет использовать их в качестве платформы для критически важных приложений. Однако в отдельных случаях они могут оказаться прекрасным выбором. Так, например, MySQL должна хорошо вписаться в среды, где доминирует считывание информации и где транзакционная нагрузка очень мала".

Таким образом, критическим шагом процесса развертывания любой базы данных является тщательное определение параметров вашего приложения. Если высокая производительность и стабильность работы при выполнении относительно простых SQL-операций вполне отвечает вашим требованиям, то MySQL -- это самый предпочтительный кандидат на роль базы данных вашего приложения. С другой стороны, более сложные SQL-приложения (предполагающие, например, высокие транзакционные нагрузки, использование хранимых процедур, триггеров и т.д.) выиграют от применения PostgreSQL. В любом случае, экономия затрат на лицензирование фирменного ПО может составить вполне внушительную цифру.

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





  
5 '2003
СОДЕРЖАНИЕ

инфраструктура

• Системы питания постоянного тока

• Выбираем 19-дюймовые монтажные шкафы

• Тестируем коммутаторы 10 Gigabit Ethernet

информационные системы

• Повышение производственных показателей call-центров

• Базы данных с открытым исходным кодом

• Управление Web-проектами с помощью CVS

• Российский рынок систем аудиоконференц-связи

• Управление Web-проектами с помощью CVS

сети связи

• Проснись, VoIP зовет

• RPR "впитывает" лучшее

кабельные системы

• Основные вопросы, касающиеся СКС для жилых зданий

• Технология IEEE 1394 и СКС

новые продукты

• Коммутаторы Cisco для сетей Industrial Ethernet


• Калейдоскоп



 Copyright © 1997-2007 ООО "Сети и Системы Связи". Тел. (495) 234-53-21. Факс (495) 974-7110. вверх