Софтерра: Из жизни жар-птиц…: Мифы и реальность СУБД Firebird
Софтерра:
Из жизни жар-птиц…: Мифы и реальность СУБД Firebird
Автор: Алексей Ковязин
Вокруг СУБД Firebird ходит множество мифов, но на самом деле она, наряду с PostgreSQL и MySQL, представляет собой обширный «OpenSource-фронт» в борьбе не только за «жадного» пользователя, но и серьезно угрожает коммерческим монстрам вроде MS SQL и Oracle, последовательно вытесняя их как из области малых и средних проектов, так и конкурируя с ними в традиционно больших корпоративных областях.
В связи с тем, что наиболее «раскрученный» MySQL недавно значительно ужесточил лицензию для тиражируемых приложений, оставив возможность бесплатного использования только в GPL-приложениях и для сугубо внутреннего применения, на первый план среди Open Source СУБД выходят Firebird и PostgreSQL, которые не имеют подобных ограничений.
В России Firebird традиционно более популярен, чем PostgreSQL, для разработки корпоративных приложений, прежде всего из-за своей хорошей поддержки Windows (которую PostgreSQL в удобном виде получил только в 8-й версии), множества компонент для Delphi и совместимости с ранними версиями InterBase.
Казалось бы, все для Firebird складывается замечательно: Delphi является одной из самых любимых сред разработки в России [Точнее, внутри МКАД ситуация складывается в пользу Java, PHP и .NET в связи с огромным количеством «сайтостроителей». За пределами Москвы большинство корпоративных приложений пишется на Delphi— достаточно посмотреть на тиражи и количество Delphi-книг на полках книжных магазинов], а InterBase был широко распространен благодаря тому, что он включен в поставку Delphi, но вся эта популярность и совместимость вылилась в упорно повторяемый неграмотными разработчиками миф о том, что…
Firebird — это бесплатный InterBase
Действительно, корни Firebird лежат в выпущенной в 2000 году версии InterBase 6 Open Source Edition, но затем радикально расходятся. Современные версии Firebird 2 и InterBase 7.5 несовместимы по новым форматам базы данных и имеют немало отличий в самом SQL. Среди современных баз данных немало близких родственников— например, MSSQL 6.0 был создан на основе Sybase SQL Server, — но никто их не путает. Справедливости ради заметим, что все меньше и меньше людей смешивают понятия InterBase и Firebird.
Чаще всего на базе Firebird создают корпоративные информационные системы [ММВБ, Сиа Интернешнл, ECCO, FinnFlare, ТД «Бурый медведь», SAS, Военно-морской флот США, Британские железные дороги… см. www.ibase.ru/cat] (наиболее известна Avarda от компании Ansoft), биллинговые приложения, CRM-системы (например, SalesExpert), системы охраны и контроля доступа. За рубежом ее тоже давно освоили крупнейшие банки, отели, сотовые операторы, эту СУБД можно встретить даже в зоопарках и тюрьмах!
К сожалению, и тут существует странный миф о том, что…
Firebird— это слабая СУБД для маленьких проектов
Да, программисты не привыкли пить из мелкой посуды… Oracle, только Oracle! Налейте бокалы полнее, купите серверы помощнее, памяти побольше и вперед. Firebird по сравнению с монстровидными коммерческими СУБД действительно выглядит крошкой— ее дистрибутив в постыдные в наши дни 3,5 Мбайта разочаровывает, ну что там может быть внутри?!
Однако это тот самый случай, когда «мал, да удал». Есть масса примеров, где многогигабайтные базы работают сразу с сотнями клиентов. А на выставке «Софтул’2006» (26—28 сентября) компания «Ансофт» представит стенд из «живых» рабочих станций и сервера, имитирующий одновременную работу сотни пользователей со 120-гигабайтной базой Firebird, которая моделирует функционирование крупного торгового холдинга в режиме «уплотненного» времени под управлением ERP.
У нас многие разработчики, особенно те, что сидят за забором режимного предприятия, слишком свободно относятся к лицензированию… Не надо быть семи пядей во лбу, чтобы догадаться, что подобная «малина» кончится со вступлением в ВТО и что по мере накопления опыта правоохранительными органами антипиратская активность будет только нарастать. Но одно дело, когда ты пользуешься ворованным софтом за сто долларов у себя дома, и совсем другое, когда предлагаешь солидному заказчику «спереть» СУБД… Ну или доплатить полсотни тысяч евро.
Кстати, «новые бесплатные» СУБД от Oracle, MS SQL и другие не позволяют добиться того же— смехотворные ограничения (прежде всего на размер базы в 4Гбайт) не смогут удовлетворить мало-мальски серьезную организацию и пригодны только в качестве сыра [См. «Виды бесплатного сыра», «КТ» #640 от 01.06.06.] в мышеловке… Но и «мыши» нынче пошли не глупые.
Однако есть мнение, что…
Firebird— это ненадежная СУБД
Надо признать, что этот миф очень распространен. Причина его возникновения, наверное, в том, что Firebird практически не требует администрирования и постоянной настройки, достаточно осуществлять регулярный (чаще всего автоматический) бэкап, и если приложение правильно спроектировано, оно работает годами «без рук». Многие администраторы [Уточним— люди, выполняющие их обязанности, чтобы не обижать грамотных сисадминов сравнениями с такими «специалистами»] злоупотребляют неприхотливостью Firebird и ставят ее на компьютеры без UPS, позволяют себе жать на Reset по поводу и без повода и бить ногой по серверу в случае неполадок. Особо экономные администраторы ставят Firebird на компьютер к какому-нибудь несчастному пользователю— вот, дескать, это и будет наш сервер.
Из-за большого количества установок в экстремальных условиях на бытовых компьютерах и несоблюдения элементарных «правил гигиены» для серверного продукта (бэкапы, бэкапы!!!) можно видеть множество поврежденных баз, красные глаза горе-администраторов и не менее красные (но по другой причине) глаза владельцев бизнеса… Что ж поделать, кроме как вспоминать анекдот про дровосеков, новую японскую пилу и стальные рельсы? ["Дзынь!"— сказала пила. «Не смогла!»— удовлетворенно хмыкнули дровосеки]
Вспомнив про новую пилу, вспомним и то, что…
Firebird основана на старых технологиях
И вот это уже не миф, а чистейшая правда, которая по неизвестной причине подается как нечто плохое и постыдное. И действительно, СУБД Firebird основана на многоверсионной архитектуре записей, впервые примененной еще в InterBase в далеком 1984-м. Подобная архитектура применялась и в Microsoft Exchange и PostgreSQL, тогда как остальные СУБД исповедовали «блокировочный» подход. Но совсем недавно идея версионности записей вдруг опять получила большую популярность и была (частично) реализована в MSSQL 2005! При этом версионность подается как новейшее изобретение, позволяющее «читателям» не блокировать «писателей».... Ну а то, что «изобретению» уже 20 лет, только подтверждает правило, что все новое — это хорошо забытое старое.
И еще к вопросу о «свежих» технологиях: недавно MySQL AB «купила» отца-основателя InterBase (и участника проекта Firebird) Джима Старки, заказав ему разработку версионного «движка» Falcon для применения в MySQL. Теперь есть риск, что туда просочатся и…
Недостатки Firebird
Конечно, утверждать, что Firebird— идеальна, было бы глупо (нет в мире совершенства, увы). К наибольшим недостаткам этой системы относятся трудности масштабирования на несколько процессоров (поддерживается лишь архитектурой Classic, обладающей повышенными требованиями к объему оперативной памяти) и неоптимальной реализацией сетевого протокола, что очень заметно на медленных линиях связи. Но в версии 2.1, чей выпуск запланирован на конец текущего года, уже исправлены и злополучный протокол, и вылечены многие другие «мозоли», преследующие в том числе и…
Firebird в России
У нас живут и творят главные архитекторы и разработчики Firebird: Дмитрий Еманов, Влад Хорсун и Алекс Пешков. Firebird— проект интернациональный, его участники работают в Германии, Австралии, Бразилии, США. Однако наши разработчики сумели занять ведущее место среди более чем пятидесяти контрибуторов проекта. Ну а поддержкой Firebird в мире занимается некоммерческая организация Firebird Foundation, с благословения которой пройдет…
Конференция Firebird в России
Конференция, намеченная на 14 октября, состоится в Москве. На ней будут присутствовать все ведущие разработчики Firebird, создатели инструментов, библиотек и компонентов для этой СУБД. Производители интересных решений на базе Firebird с удовольствием поделятся своим опытом не только с трибуны, но и в кулуарах. Ну а чтобы зарегистрироваться, загляните на сайт компании-организатора конференцииiBase.
Особое мнение
Firebird применяется в основном для небольших и средних встраиваемых приложений, то есть когда сервер ставится в комплекте какого-то приложения (бухгалтерского или складско-учетного) и работает в «невидимом» для пользователей режиме.
Конечно, стенд с ERP Avarda вызывает интерес, было бы очень любопытно на него взглянуть, но решения такого объема (десятки гигабайт) для Firebird скорее редкость.
Также можно отметить, что в крупных компаниях Firebird в основном используется как «вспомогательная» база данных— когда нецелесообразно ставить большую БД (с неизбежным администратором) в небольшой филиал или удаленное подразделение, в этом случае в качестве «заменителя» часто выбирают именно Firebird.
В одной очень крупной российской страховой компании (входящей в тройку лидеров) основную базу данных держат на Oracle, тем не менее Firebird стоит в каждом офисе, а данные из нее заливаются в центральное хранилище для последующей обработки. Собственно, из-за такой второстепенной роли в больших компаниях никто особо и не говорит о Firebird, она просто «не попадается на глаза» ИТ-менеджменту: бюджета для покупки она не требует, шумихи в Интернете про нее тоже нет. Этакая рабочая лошадка, вроде «Газели», ездит и ездит.
Помимо относительно узкой ниши на корпоративном рынке, у Firebird есть несколько особенностей, переходящих в недостатки: во-первых, очень маленький аскетичный дистрибутив, не включающий развитых средств администрирования, которые потом приходится устанавливать отдельно; и во-вторых, ограничения SQL, которые делают разработку хранимых процедур непохожей на MS SQL или Oracle: отсутствие временных таблиц и внешних хранимых процедур.
Разработчики, конечно, работают в этом направлении, но пока Firebird не в состоянии конкурировать с признанными лидерами вроде MS SQL или Oracle на действительно больших проектах.
Сергей Шевелев, специалист одной из компаний-интеграторов
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Функции СУБД
Функции СУБД Есть много способов реализации реляционной базы данных, но любая система управления ею должна предоставлять следующие семь функций:определение и описание таблиц базы данных;операции управления данными (вставка, выборка, обновление и удаление);возможность
Вирусы. Мифы и реальность
Вирусы. Мифы и реальность Вирусы, получившие широкое распространение в компьютерной среде, взбудоражили весь мир. Взлом сетей, грабеж банков и похищение интеллектуальной собственности – все это давно уже не миф, а суровая реальность. Ежегодные убытки, наносимые
InterBase как встраиваемая СУБД
InterBase как встраиваемая СУБД Материал этой главы будет посвящен углубленному рассмотрению процесса установки Intel Base и его клонов на ОС Windows. В этой главе мы попытаемся понять, что значит определение "встроенная" (embedded) СУБД, которое так часто используют по отношению к
Что такое "архитектура сервера СУБД ?
Что такое "архитектура сервера СУБД ? Архитектура - понятие столь широкое и столь часто употребляемое, что, пожалуй, стоит определить, что мы будем понимать под архитектурой в нашем конкретном случае, т. е. по отношению к серверу баз данных InterBase. Попытаемся очертить круг
Глава 1 Защищенность компьютеров: мифы и реальность
Глава 1 Защищенность компьютеров: мифы и реальность История возникновения компьютерных вирусовЧто такое вирусРазновидности компьютерных вирусовВирусные мистификацииЧто за зверь – троянский конь?Новаторские подходы хакеров – руткиты (rootkits)Уязвимости программ и
10.3.8. Совместимость с другими СУБД
10.3.8. Совместимость с другими СУБД Для совместимости с MaxDB эти две инструкции те же самые:CREATE TABLE t1 (f1 CHAR(N) UNICODE);CREATE TABLE t1 (f1 CHAR(N)CHARACTER SET
Мифы и их развенчание
Мифы и их развенчание Некоторые характеристики бумаги имеют неоднозначное толкование, причем не только в разных странах, но и в международных масштабах, что способно запутать даже специалистов. Рассмотрим этот вопрос.ПлотностьПлотность бумаги принято выражать в
1.1 Понятие СУБД сервера.
1.1 Понятие СУБД сервера. Традиционных возможностей файловых систем оказывается недостаточно для построения даже простых информационных систем. При построении информационной системы требуется обеспечить: поддержание логически согласованного набора данных;
1.1.1 Основные функции СУБД
1.1.1 Основные функции СУБД К числу функций СУБД принято относить следующее: Непосредственное управление данными во внешней памяти Эта функция включает обеспечение необходимых структур внешней памяти как для хранения непосредственных данных, входящих в БД, так и для
1.1.2 Типовая организация современной СУБД
1.1.2 Типовая организация современной СУБД Естественно, организация типичной СУБД и состав ее компонентов соответствует рассмотренному нами набору функций. Логически в современной реляционной СУБД можно выделить наиболее внутреннюю часть - ядро СУБД (часто его называют
2.1 СУБД сервер Informix.
2.1 СУБД сервер Informix. Работы над системой управления базами данных Informix были начаты в 1980 г. Согласно начальному замыслу программный комплекс Informix рассматривался как СУБД, специально ориентированная для работы в среде ОС UNIX. Для организации хранения данных был выбран
Мифы ноутбукостроения, или о маркетинговой шелухе
Мифы ноутбукостроения, или о маркетинговой шелухе Придя в магазин, вы, скорее всего, будете выбирать из второго класса ноутбуков – «обычных», которые «as is». Однако в рекомендациях, найденных в Интернете или каком-нибудь журнале, можно будет встретить такие варианты
НОВОСТИ: Мифы народов Америки
НОВОСТИ: Мифы народов Америки Автор: Алексей ЛевинПятилетняя годовщина американских терактов 11 сентября стала подходящим поводом для выхода провокационной статьи известного политолога, фактически ставящего под сомнение всю внешнюю политику США в новом
Мифы и реальность
Мифы и реальность С загадочным миром Интернета связано много разных слухов. Рассмотрим и разъясним некоторые из них. Кое-кто считает, что Интернет — это некий параллельный мир, в котором присутствуют разные вещи, которых в реальности вовсе не существует. Это, конечно, не
БЕЗОПАСНОСТЬ: Мифы и легенды высоких технологий
БЕЗОПАСНОСТЬ: Мифы и легенды высоких технологий Автор: Киви БердВ мире компьютерной криминалистики довольно часто приходится слышать спорные мнения о необходимом или желательном количестве проходов программы, удаляющей информацию с жесткого диска. Процедуру, в ходе