27.3.06

Бесплатный сыр СУБД

На ibase.ru я уже писал, недавно, про "волну" бесплатных серверов БД. Если выпуск InterBase 6.0 в OpenSource можно считать эдаким недоразумением, то бесплатные и облегченные версии Oracle, MS SQL и DB2 за последние три-четыре года сыпались как снег на голову, по вполне сознательной инициативе компаний-производителей платных версий этих продуктов. Сначала Microsoft поэкспериментировал с MSDE, а потом расширил это до MS SQL 2005 Express. Затем Oracle ошарашил всех своим XE. Ну и, самый свежий "бесплатник" - IBM DB2 Express. Собственно, для разработчиков и ранее DB2 был бесплатен, однако IBM теперь дозволяет даже распространять бесплатно эту специальную версию, которая имеет намного меньше ограничений, чем бесплатные "коммерческие" альтернативы.

Давайте посмотрим, что у нас сейчас есть на рынке СУБД. Для каждой категории я приведу характерные примеры (всех поименно не перечисляю, это утомляет):

  • бесплатные OpenSource
    Firebird, PostgteSQL, MySQL, ...
  • бесплатные коммерческие
    MS SQL Express, Oracle XE, IBM DB2 Express, Sybase ASE for Linux
  • платные коммерческие
    MS SQL, Oracle, DB2, InterBase, Sybase ASA, Sybase ASE
  • платные OpenSource
    MySQL, Yaffil, Fyracle

MySQL не случайно попал в категорию "платные OpenSource". Дело в том, что лицензия на MySQL не позволяет использовать бесплатный вариант при распространении его со своими приложениями. Конечно, да, если вы готовы распространять исходники своих приложений, то нет проблем. А если не готовы, то увы. Причем, Пол Ризендаал (автор Fyracle), косвенно вычислил среднюю стоимость лицензий (на 1 сервер) платного MySQL - ~$5000 ! Вот вам и бесплатный сервер... Заметьте, про платность технического сопровождения к бесплатным серверам я вообще молчу.

Итак, первое противостояние состоялось уже давно, и оно заключалось в OpenSource vs Commercial. Грубо говоря, бесплатное против платного. Разработчики, производящие частные и тиражируемые системы давно определились - или мы платим за СУБД, за спиной которой стоит крупная компания, или мы не платим и надеемся на сообщество OpenSource.

Конечно, OpenSource как идея весьма неплоха, вот только очень много проектов умерло по причине отсутствия у них основных китов развития ПО - администрирования и финансирования (на одном энтузиазме, при наличии бардака, далеко не уедешь). Выплыли и неплохо живут те, кому удалось организовать вокруг бесплатного OpenSource ПО платные сервисы или некоммерческие фонды. Ближайшие примеры - MySQL AB и Firebird Foundation. Оплата участникам проекта за работу (!) и грамотное администрирование является гарантом стабильности проекта и ясных перспектив его развития.

Собственно, можно привести и обратные примеры, когда платная СУБД вдруг исчезает с рынка, и хорошо если переходит в OpenSource. Не вдаваясь в причины и подробности я упомяну Ingres, InterBase и SAP DB (еще можно упомянуть InnoDB, как обратный пример - было в MySQL, а потом его купил Oracle).

Второе противостояние - платное OpenSource vs бесплатное OpenSource. Кому-то может показаться безумной идея просить денег за ПО в исходных текстах, однако здесь на стороне платного OpenSource стоит объем и сложность такого ПО. Действительно - СУБД, это не программа для закачек, да простят меня авторы таких приложений. Например, Firebird - это около десятка миллионов строк кода, плюс серьезная теоретическая база, заложенная в этот код. Взять, к примеру, Yaffil - при своей платности кто-нибудь из покупателей спросил исходники? Нет. Просто потому, что им и не надо с ними разбираться. Им надо использовать сервер для создания своих приложений. Конечно, можно взять исходники, закачать их на флэшку, и носить "у сердца", чтобы исходный код такого близкого и родного сервера согревал душу. Можно почитать эти исходники, почесать затылок, и вернуться к разработке прикладных программ. Но - не более того.

И вот теперь мы плавно подходим к самому свежему противостоянию - бесплатное коммерческое vs бесплатное OpenSource. Можно охарактеризовать эту ситуацию фразой из анекдота - "а где подвох?". Подвох состоит в том (я уже сразу раскрываю карты, потому что вам, наверное, уже надоело читать, а мне надоело писать), что бесплатность коммерческого - это фактически "подсаживание" на платную коммерческую версию. Почему?

Из бесплатных коммерческих только один герой с минимальными ограничениями - это DB2 Express. Остальные, в основном, имеют ограничение на размер БД в 4 гигабайта.
Однако, по моим оценкам, еще год назад средний размер баз данных InterBase и Firebird составлял от 1 до 15 гигабайт. Причем, разработчик, который только начал с базы в 100 мегабайт, имеет высокие шансы довести ее до 4 гигабайт, легко - дисковые носители все больше и дешевле, скорость "железа" постоянно растет, так чего-ж экономить на размере БД?
И понятно, что кинувшийся к бесплатному сыру от MS, Oracle и IBM разработчик, может с удивлением обнаружить, что его фирме пора бы заплатить четырехзначную сумму за СУБД, которая только недавно была такой милой и бесплатной.

Я не отрицаю качество и функциональность коммерческих СУБД, ни в коем разе. Но для OpenSource СУБД, платных и бесплатных, они представляют сейчас определенную опасность. Как примерно лет 5-6 назад звучали безумный призыв "перепишем все на Java", так и сейчас начинают раздаваться возгласы вроде "срочно переделаем с Firebird на Oracle XE, ибо оно тоже бесплатное".
И не понимают революционеры, что коммерческая СУБД и была сделана бесплатной, чтобы этот наркотик одурманил их мозг, извините за такое выражение. Бесплатные коммерческие сервера вовсе не "легче, проще, и не требуют администрирования", чем аналогичные платные. Это просто слегка урезанный или лимитированный софт, который как был "платным монстром" (с той же сложностью управления и сопровождения), так и остался. Он также тяжел в настройке, так же требует квалифицированного администрирования, и т.п. А про то, что переход с одного сервера на другой требует серьезных переделок как базы данных, так и клиентских приложений - вы и так понимаете.

Вот такая история. Разумеется, я не навязываю вам свое мнение, и не хочу сказать что-нибудь вроде "от этого бесплатного сыра надо шарахаться". Я предлагаю более трезво подходить к выбору. А для разработчиков OpenSource СУБД отсюда можно взять вывод - надо быть еще агрессивнее в маркетинге, и делать все, чтобы еще больше упростить освоение этой СУБД начинающими. Надеюсь, что так оно и будет.

Комментариев нет: