Многие Web-сайты используют СУБД, подобные MySQL и PostgreSQL

Базы данных всегда считались нелюбимыми падчерицами сообщества программ с открытым кодом. Хотя такие компании, как Red Hat, и размещали программное обеспечение для работы с базами данных на своих дистрибутивах Linux, основное внимание поставщиков уделялось операционной системе, ее ядру и графическому интерфейсу. Базы же данных оставались всего лишь дополнением, подобным еще одной разновидности игры «Сапер». Однако сегодня компании и пользователи начинают наконец понимать, что высококачественные СУБД с открытым кодом являются достаточно привлекательными.

Компания NuSphere выпустила пакет, включающий базу данных MySQL, язык сценариев PHP и Web-сервер Apache. Достаточно выполнить всего одну установку, и все три продукта будут нормально взаимодействовать друг с другом

Наиболее известны две СУБД с открытым кодом: MySQL — стремительно распространяющийся по миру программный продукт, разработка которого начиналась в Швеции, и PostgreSQL — последняя версия проекта Postgres, разработанного специалистами Калифорнийского университета в Беркли. Как первая, так и вторая СУБД установлены сегодня на многих Web-серверах и часто включаются в состав других программных пакетов. На рынке можно встретить также другие версии и клоны этого программного обеспечения. Например, компания Sleepycat Software предлагает своим клиентам компактную СУБД Berkeley DB, предназначенную для встроенных систем.

Все подобные пакеты поставляются с лицензиями на открытый код, что упрощает их получение. Поставщики стремятся ослабить позиции своих коммерческих конкурентов и проводят активную политику стимулирования сбыта своих продуктов.

Найти клиентов для хороших СУБД с открытым кодом несложно. Владельцы многих популярных Web-сайтов (в том числе Yahoo и Slashdot) используют СУБД, подобные MySQL. Многие разработчики Internet-ресурсов предлагают MySQL в качестве недорогого решения, которое обеспечит нормальное функционирование «малобюджетных» сайтов.

Данные продукты привлекают все более пристальное внимание корпоративных клиентов. Программист из Лондона Роберт Биэр, отрекомендовавшийся как «знаток Oracle со стажем и недавний поклонник Postgres», отмечает, что Postgres поддерживает большую часть основных функций Oracle, причем реализация многих из них отличается большей логичностью и большей степенью совместимости со стандартами ANSI.

Правда, документация практически отсутствует. Недостает и некоторых функциональных возможностей. «Я обошел все крупные лондонские книжные магазины, ?облазил? всю Сеть, но нашел лишь одну хорошую книгу, посвященную PostgreSQL, — сообщил Биэр. — С другой стороны, книжные полки просто ломятся от прекрасных учебников и руководств по Oracle и SQLServer».

Не бросайтесь в омут с головой

Многие руководители корпоративных ИТ-отделов разделяют энтузиазм Биэра в отношении подобных инструментальных средств, однако опасаются доверять наиболее ценную информацию базам данных с открытым кодом. Директор Morgan Stanley Dean Witter & Co. Филип Мур заявил, что при реализации различных проектов в его компании довольно часто используются продукты с открытым кодом. Однако базы данных содержат важнейшую информацию, которую можно сравнить с кровью, текущей по жилам отрасли.

«Использование коммерческих СУБД в современном мире снижает вероятность риска, — пояснил Мур. — И все же складывающиеся тенденции заставляют задуматься. Скажем, у себя дома я бы сегодня отдал предпочтение PostgreSQL или MySQL».

Многие инструментальные средства с открытым кодом (к примеру, та же MySQL) не имеют таких сложных механизмов для обработки запросов, поступающих от множества пользователей, как Oracle или DB2. Однако в Morgan Stanley Dean Witter & Co. намерены внимательно следить за дальнейшим развитием технологий, и для решения каждой конкретной задачи они намерены выбирать наилучший вариант.

«В некоторых случаях компании доверяют приложениям с открытым кодом выполнение простых функций, — заметил разработчик компании Personal Fund Стефан Шаркански. — Лично я использую MySQL для хранения неизменяемых файлов системных журналов. Более сложные запросы, позволяющие, например, узнать, сколько денег находится на счету у клиентов, выполняются с помощью средств Oracle».

Многие специалисты дают программному обеспечению с открытым исходным кодом высокую оценку, однако отсутствие коммерческой инфраструктуры затрудняет его применение в бизнесе. Администратор баз данных из Сан-Франциско Филип Ханик использует MySQL или PostgreSQL для реализации персональных или малобюджетных проектов, но при решении сложных задач, подкрепленных соответствующим финансированием, он все же рекомендует отдавать предпочтение продуктам Oracle.

«Если у нас возникают какие-то осложнения, мы приглашаем консультанта по Oracle, — пояснил Ханик. — Мы платим ему 250 долл. в час, и он избавляет нас от всех неприятностей. Оперативно найти специалиста по PostgreSQL, способного помочь справиться с трудностями, практически невозможно».

Расширение поддержки

Некоторые компании пытаются изменить сложившуюся ситуацию и предлагают услуги технической поддержки по разумным ценам. Компания Great Bridge, к примеру, собирается стать первым официальным поставщиком СУБД Postgres.

«Команда ведущих разработчиков Postgres сейчас состоит из шести человек, — сообщил вице-президент компании по маркетингу Дэвид Мил. — Трое из них полностью заняты в Great Bridge. Наш коллектив консультантов насчитывает 14 ведущих распространителей этой базы данных. Круг наших задач ограничен технической поддержкой. Для этого создан целый штат экспертов. Я бы не стал называть это необходимым злом. Ведь никто не заставляет вас обращаться к нам. Можно вести разработку своими силами. Но у нас накоплен богатый опыт консультационной деятельности. И мы можем помочь вам во многом».

Red Hat также выпустила собственную версию PostgreSQL, названную Red Hat DB. Менеджер Red Hat по продуктам Марк Эванс отметил, что его компания ориентируется на тех руководителей ИТ-отделов, которые сразу хотели бы получить комплексное решение задачи. Red Hat предлагает простые в эксплуатации, полнофункциональные и хорошо отработанные программы по очень низким ценам. Руководство компании намерено и в дальнейшем предоставлять своим клиентам возможность бесплатно копировать последние версии программного обеспечения с Web-сайта Red Hat.

«Примерно 30-40% пользователей предпочитают все делать самостоятельно, и мы не собираемся препятствовать им в этом, — подчеркнул Эванс. — Мы по-прежнему будем включать PostgreSQL в комплект поставки своих программ, распространяемых на компакт-дисках. Наша компания планирует более полно удовлетворять потребности корпоративных клиентов, у которых нет времени своими силами решать все возникающие вопросы и которые готовы платить за предлагаемые услуги».

Другие поставщики также стремятся расширить спектр своих продуктов с открытым кодом. Компания NuSphere выпустила пакет, включающий базу данных MySQL, язык сценариев PHP и Web-сервер Apache. Достаточно выполнить всего одну установку, и все три продукта будут нормально взаимодействовать друг с другом.

«Программное обеспечение с открытым кодом сегодня можно сравнить с поездом, стремительно набирающим скорость, — заметил директор NuSphere по технологиям Брит Джонстон. — Наши услуги предусматривают по крайней мере ежеквартальное обновление поставляемых продуктов. У всех пользователей установлены самые свежие версии. Многие заказчики говорят: ?Конечно, я мог бы сделать все это самостоятельно, но у меня нет времени следить за всеми изменениями?. Работая с нами, они получают самые последние обновления в той конфигурации, которая обеспечивает четкое взаимодействие всех компонентов».

Джонстон исходит из того, что недорогое программное обеспечение требует дополнительных затрат времени и более высокого уровня технической поддержки. Однако многие сегодня считают, что подобные утверждения не выдерживают критики. Такие инструментальные средства, как MySQL и PostgreSQL, выполнены на очень высоком уровне и с каждым днем становятся все лучше.

Разработчик баз данных из компании Linko Data Systems Кэлвин Додж считает, что тщательно продуманные и «отшлифованные» профессиональные СУБД не имеет смысла использовать при реализации небольших проектов. Додж полагает (и многие другие разработчики разделяют эту точку зрения), что существующие между продуктами различия исчезают, как только вы начинаете писать код. Особенности СУБД — как коммерческих, так и с открытым кодом — в равной степени требуют времени для изучения.

«У Access, в частности, имеется множество программ-?экспертов?, помогающих создавать простые формы и таблицы, но все они становятся бесполезными, как только перед вами встает задача построить нечто более сложное, — пояснил Додж. — Если количество записей достигает определенного уровня, для выборки данных приходится писать специальную программу, а эта процедура требует приблизительно одинакового времени при использовании любых продуктов».


Безвозмездно, но не даром

Сводка свободно распространяемых СУБД и инструментов управления данными

  • PostgreSQL. Данный проект был начат в Университете штата Калифорния (Беркли), но вскоре его реализация вышла за рамки факультета информатики. В предоставлении услуг ее поддержки соревновались компании GreatBridge и Red Hat. Это программное обеспечение распространяется на условиях, аналогичных лицензии BSD: каждый может свободно получить его и использовать так, как пожелает. Лицензия не требует, чтобы программист бесплатно предоставил внесенные им в исходный текст изменения.
  • MySQL. Данный инструментарий официально производится шведской компанией MySQL AB, но он распространяется по условиям лицензии GNU Public License. Пользователям платить не обязательно, но компаниям, которые хотят распространять это программное обеспечение на коммерческих условиях, не нарушая условия GPL, следует приобрести лицензию. MySQL отличает высочайшая производительность. Разработчики добились этой скорости за счет реализации упрощенной модели обновления базы данных — модели, которую некоторые разработчики считают не такой надежной и всесторонней, как Postgres или Oracle. Этот инструментарий тем не менее достаточно популярен среди Web-разработчиков, поскольку для многих сайтов и для многих пользователей скорость важнее целостности данных.
  • Firebird/Interbase. Эта полнофункциональная СУБД Borland стала свободно распространяемой в июле 2000 года. В настоящее время Borland соперничает с независимой группой разработчиков, объединившихся в рамках проекта Firebird. Это одно из старейших и самых распространенных инструментов управления базами данных, предлагающих полную поддержку механизмов транзакций и триггеров.
  • HSQ. Небольшая, облегченная СУБД, написанная на Java. Программисты могут связать ее код непосредственно со своим программным обеспечением.
  • SQLite. Базирующееся на Си подмножество языка запросов SQL, которое предлагает многие из основных функций управления реляционными базами данных.