Архивы: по дате | по разделам | по авторам

Виды бесплатного сыра

Архив
автор : Алексей Ковязин   01.06.2006

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

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

В супермаркетах, к сожалению, о таком рае для потребителей приходится только мечтать, но вот в мире баз данных сложилась ситуация, весьма сходная с описанной: за последние годы среди производителей стало принято раздавать свои продукты бесплатно, причем это касается не только открытых СУБД вроде Firebird и PostgreSQL, но и коммерческих монстров вроде IBM DB2 и Oracle. Что же стоит за этими внезапными приступами благотворительности?

Бесплатное бесплатному рознь

Для тех, кто ничего не знает о бесплатных базах данных[Кстати, не бросайтесь сразу набивать карманы. Во-первых, эти продукты никуда не денутся, а во-вторых, некоторые дистрибутивы (например, DB2-C и Oracle XE) "весят" сотни мегабайт], сделаем небольшой обзор. Прежде всего отметим традиционные продукты с открытым кодом: PostgreSQL, Firebird и, конечно же, MySQL.

PostgreSQL

Эта СУБД, поддерживающаяся сообществом энтузиастов, особенно популярна в университетской и научной среде. Она также предлагается многими провайдерами в качестве back-end для веб-разработки. Однако в сфере бизнес-приложений PostgreSQL так и осталась "гадким утенком", поскольку для ее установки (до версии 8) под Windows требовались достаточно сложные телодвижения с установкой cygwin и другим наследием Linux.

По моему мнению, 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 Мбайт.

По-моему, Oracle XE это попытка быть ближе к начинающим разработчикам и стремление избавиться от имиджа дороговизны и монстроидальности, который препятствует применению Oracle в проектах среднего размера (но не в России, здесь благодаря процветающим идеям "свободного" софта на Oracle пишут каждую третью программу складского учета).

Microsoft SQL Server Express Edition

Microsoft долгое время выпускал версию MS SQL Developer Edition в составе пакета для покупателей-разработчиков продуктов вроде Visual Studio. Эту версию можно было использовать и распространять в своих приложениях.

MS SQL Express Edition стал отдельным продуктом, бесплатным для использования и распространения, но с техническими ограничениями: размер базы данных опять же не более 4 Гбайт, размер используемой оперативной памяти до 1 Гбайт и конечно, только один процессор.

У Microsoft есть целая линейка продуктов Express Edition c урезанной функциональностью (начиная с самой Visual Studio), поэтому им проще всего предложить студентам и начинающим разработчикам весь спектр инструментов - от среды до базы данных.

IBM DB2 Express-C

Компания IBM чрезвычайно загадочна и непрозрачна, и, похоже, немножко неповоротлива. Вот и бесплатную версию своей СУБД она выпустила позже остальных. На самом деле в IBM постоянно запускают массу различных инициатив для разработчиков, поддерживают Linux, Java и Open Source вообще; да и баз данных у них целый выводок (DB2, Informix, CloudScape)…

DB2 - очень мощная база данных, легко конкурирующая с Oracle, предназначаемая для обработки терабайтных баз данных. Но, к сожалению, в России она слабо приживается, то ли из-за неактивной позиции IBM в России, то ли из-за консерватизма разработчиков.

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

Дистрибутив весит 450 Мбайт, но зато это настоящие джинсы… то есть IBM!
Бери, кум, чего мне не надо

Отдельно стоит рассказать об умирающих СУБД вроде Ingres, SapDB и других. Когда-то эти базы были платными, но сил и желания их развивать у компаний-основателей не осталось, поэтому их исходные коды открыли, чтобы оставить хоть какую-то надежду на развитие. Сложно предсказать, что произойдет с этими базами, но прогнозы вряд ли утешительны, несмотря на прошлые заслуги (Ingres, например, успешно конкурировала с Oracle).

Сколько стоит бесплатный сыр

Стоимость владения

Для баз данных, как и для любого софта, существует понятие полной стоимости владения (Total Cost of Ownership, TCO).

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

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

Традиционно считается, что ТСО состоит из трех частей:

  • стоимость аппаратного обеспечения;
  • стоимость программного обеспечения;
  • стоимость персонала, необходимого для обслуживания ПО.

    Посчитали - прослезились…

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

    Затем - hardware. 1 Гбайт оперативной памяти для системы, основанной, скажем, на Firebird и обслуживающей 30–50 пользователей, вполне достаточно, тогда как для Oracle потребуется куда больше.

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

    И рос он не по годам, а по часам

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

    Вход бесплатно, выход - нет

    Все новые "коммерческие бесплатные" базы данных рассчитаны на то, чтобы через "попробовать" молодые разработчики и целые компании становились адептами этих СУБД или просто клиентами, покупая и используя в своей работе их базы данных.

    Немаловажен и другой вопрос - как долго будут поддерживаться бесплатные версии СУБД? Например, компания Borland, выпустив в 2000 году InterBase 6 Open Edition, которую стали использовать миллионы разработчиков, выпустила только два небольших апдейта, после чего вернулась к коммерческой модели, прекратив поддержку Open Edition. И если бы не появление Firebird, то выбравшие Inter-Base 6 Open Source разработчики должны были бы либо купить лицензии новых версий InterBase, либо переходить на другие СУБД.

    Обратите внимание, что многие "бесплатные" СУБД не открывают своих кодов, поэтому ситуация очень напоминает мышеловку: бегите сюда, мыши, кушайте сыр, мышеловка скоро захлопнется!

  • © ООО "Компьютерра-Онлайн", 1997-2024
    При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.