По моему мнению, PostgreSQL представляет собой мощный и перспективный «конструктор» для продвинутых разработчиков, которые ценят возможность расширения и доработки движка под свои нужды. Хорошей иллюстрацией «духа» этой СУБД может служить то, что список рассылки ее разработчиков называется «pgsql-hackers». Если уж они сами называют себя хакерами…

Никаких ограничений на использование PostgreSQL нет – это действительно бесплатная СУБД, без всяких подводных камней (в том числе технических и юридических).

Firebird

Побочный результат эксперимента компании Borland c ее СУБД InterBase в 2000 году, когда она была опубликована под лицензией InterBase Public License. Группа бывших разработчиков InterBase и просто энтузиастов скопировала исходные коды и затеяла проект под названием Firebird (любопытно, что проектом никто не владеет – существует только некоммерческая организация Firebird Foundation для поддержки процесса разработки Firebird).

Благодаря почти полной совместимости с InterBase и наличию готовых дистрибутивов для Windows и различных вариантов Linux/Unix, новая СУБД быстро завоевала популярность. Долгое время ее называли «бесплатный InterBase». В настоящий момент готовится к выходу версия Firebird 2.0, которая хоть и сохраняет совместимость с предыдущими версиями InterBase, но сильно отличается от своего предка.

Надо отметить, что коммерческий InterBase (ныне версии 7.5) поныне живет и здравствует, причем наличие InterBase 6 Open Edition и Firebird сыграло ему только на руку в плане увеличения популярности среди начинающих разработчиков, ведь Firebird очень удобна для разработки в качестве «встраиваемого» приложения – то есть «молчаливого» сервера базы данных, который устанавливается в тиражируемых приложениях (например, Firebird используется в качестве движка для компакт-диска журнала «Upgrade»). Конечно, это не означает, что сервер годится только для маленьких приложений, он прекрасно обслуживает системы с числом пользователей 100–150 человек и размером баз данных до 60 Гбайт.

Firebird не имеет никаких юридических или искусственных технических ограничений по использованию.

MySQL

MySQL – первая база данных с открытым кодом, на которой ее создателю, компании MySQL AB, удалось-таки заработать деньги (любой OpenSource-проект финансируется либо спонсорами, как Firebird и PostgreSQL, либо живет за счет продажи услуг и платных лицензий, как MySQL). Это, по утверждению ее PR-службы, самая быстрая в мире СУБД (при определенных условиях, естественно), ее использует NASA (вернее, на ней построены несколько сайтов агентства) и большинство динамических сайтов (а вот это сущая правда).

У MySQL существует два вида лицензий – Commercial и GPL (community edition). По лицензии GPL пользоваться MySQL можно бесплатно, если обладатель СУБД а) разрабатывает и выпускает OpenSource-продукты, б) использует MySQL только для своих внутренних разработок не-OpenSource-проектов (включая веб-сайты). Как только вы начинаете распространять приложение с закрытым кодом на базе бесплатной MySQL, вы обязаны купить коммерческую лицензию или опубликовать исходный код своего приложения.

Экзотические сыры с плесенью

Бесплатных СУБД с открытым кодом достаточно много – интересующиеся могут посетить, например, сайт www.faqs.org/faqs/databases/free-databases или набрать в Google «free DBMS» [То есть бесплатные СУБД].

BerkleyDB, SQLite, GnuSQL – вот всего лишь несколько СУБД, про которые можно узнать из обзоров, новостей и рейтингов, но которые большинство разработчиков в глаза не видели, а если и пытались попробовать, то почти всегда сталкивались с одной и той же проблемой – нужно быть крупным специалистом (или нанять такового), чтобы заставить их работать на реальных промышленных данных, а тем паче построить на их базе тиражируемое приложение, которое не страшно отдать в руки чужого администратора с тремя неполными курсами политехнического образования.

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

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

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

Вообще говоря, если задача, возлагаемая на СУБД, нестандартная, поройтесь в Интернете, – возможно, для вашей задачи существует отдельная СУБД.

Новые бесплатные СУБД

Кое-кто из посетителей бакунианских сайтов бурно приветствовал появление бесплатных версий больших промышленных СУБД возгласами вроде «Одумались!»[Вообще-то, кричали больше «Халява!», «Ура!», «Что это?», но «Одумались» лучше отражает глубину переживаний борцов за свободную информацию…]. Однако стоит разочаровать их, так как даже бесплатные СУБД используются исключительно как средство развития бизнеса. Дело в том, что в мире растущей конкуренции труднее всего найти и удержать покупателя своего продукта. Маркетологи говорят, что удержать существующего клиента в пять раз дешевле, чем найти нового. Особенно это заметно на примере баз данных.

СУБД – вещь сложная, и за пятнадцать минут ее не освоишь, как новый мобильник. И даже за две недели к ней не привыкнешь, как к новому автомобилю. Чтобы стать специалистом по той или иной СУБД, нужно проработать с ней несколько лет. И если разработчик освоил определенную СУБД – зачем ему другая?

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

Поэтому у производителей коммерческих баз данных две основные задачи: а) «подсадить» на свои продукты как можно больше начинающих разработчиков, б) завлечь молодые или реорганизующиеся компании с неустоявшейся информационной инфраструктурой.

Sybase ASE Express Edition for Linux

В 2004 году Sybase выпустила бесплатную версию одной из своих СУБД (Adaptive Server Enterprise) под Linux. Похоже, она и стала родоначальником бесплатных версий коммерческих СУБД, так как была выпущена с практически теми же техническими ограничениями, что и все последующие бесплатные СУБД: только один процессор, используется не более 2 Гбайт ОЗУ, размер базы данных не более 5 Гбайт, не более 25 одновременных пользователей.

Однако запустив пробный шар, Sybase почему-то не пошла дальше. И на текущий момент из всех крупных поставщиков коммерческих СУБД только Sybase не имеет бесплатной версии (кроме упомянутой ASE for Linux). Фактически именно маркетинговые просчеты привели к тому, что у всех на устах сейчас именно MS SQL Express Edition или Oracle XE, а не Sybase.

Oracle XE

Oracle eXpress Edition – бесплатная версия большого Oracle. Oracle eXpress имеет технические ограничения на использование: размер базы данных до 4 Гбайт и поддержка только одного процессора и 1 Гбайт оперативной памяти.

Сложно сказать, зачем выбирать Oracle XE в качестве основы для своих приложений – по своему назначению Oracle это база для огромных массивов данных, и 4 Гбайт для него – это только расправить плечи. Ограничения на один процессор и особенно на 1 Гбайт используемой памяти тоже чувствительны, поэтому можете расстаться с надеждой сделать сверхпроизводительное приложение на базе бесплатного Oracle XE.

Надо отметить, что Oracle давно раздает ознакомительную полнофункциональную версию своих продуктов, в которой нет никакой защиты, поэтому главным новшеством в Oracle XE являются лицензия, позволяющая законно использовать урезанную версию для разработки и распространения своих приложений, и относительно небольшой размер дистрибутива в 150 Мбайт.