Статьи

Расследование Жар-птицы с Хелен Борри, руководителем проекта

Firebird родился, когда исходный код InterBase был выпущен в июле 2000 года тогдашней корпорацией Inprise (ныне известной как Borland Software Corporation). Есть целая вторая история об Inprise / Borland и о том, что произошло в те годы — и это слишком долго, чтобы рассказывать здесь. Однако, некоторая интересная история может быть найдена на сайте Firebird в Sourceforge .

Недавно у меня была возможность поговорить с Хелен Борри, руководителем проекта для Firebird, и она рассказала о целях, конкурентных преимуществах и многом другом на этой новой платформе базы данных с открытым исходным кодом.

В настоящее время Хелен работает с Apress над книгой, которая предоставит исчерпывающий обзор Firebird. Дата публикации пока не объявлена, однако в августе она будет представлена ​​на Linuxworld в Сан-Франциско.

SP: Можете ли вы дать обзор Firebird и его целей?

Firebird всегда был с открытым исходным кодом; это форк зрелой коммерческой базы данных под названием InterBase. InterBase — это база данных уровня предприятия — Firebird такой же, но лучше. Вы найдете Firebird за несколькими веб-сайтами, хранящими записи для телекоммуникационных компаний и управляющими данными для систем торговых точек — практически везде, где вы можете найти Oracle или SQL Server.

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

SP: Какие дистрибутивы Linux были протестированы и / или сертифицированы для Firebird?

Фонд, IBPhoenix и Broadview Software спонсируют тестирование для Red Hat / Fedora, Mandrake и SuSe. Участники проекта Debian делают Firebird доступным там. Любой Linux с относительно свежим gcc — хороший кандидат на Firebird.

SP: Как Firebird работает на OS X?

У нас есть версия, которая работает на OS X, и была почти со дня, когда Apple выпустила систему. Нам не хватает инструментов в стиле Mac и сторонников Mac со временем для евангелизации. Порт Mac не имеет технических проблем; это просто не привлекает особого внимания, потому что большинство наших разработчиков и членов Foundation используют Windows, Linux, различные дистрибутивы BSD и небольшую долю коммерческих Unix-систем.

SP: Что Firebird предлагает веб-разработчикам?

Firebird может многое предложить серьезным разработчикам веб-приложений. Если вы создаете что-то, что планируете продать, наша лицензия является существенным преимуществом. Если ваше приложение смешивает обновления, ввод и извлечение, у нас есть надежный механизм на основе транзакций, который работает под нагрузкой. Firebird обладает широким спектром поддержки драйверов — Java, JBoss, Tomcat, PHP, Python, ODBC, .NET, Borland-совместимые компоненты, ADODB … вы называете это, мы говорим с ним. Добавьте небольшой размер Firebird и минимальные административные требования, и вы получите хорошее решение для серьезных разработчиков приложений.

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

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

Firebird имеет небольшой след. Сервер занимает менее 1,5 МБ, клиент — около 350 КБ, и он работает практически на любой машине, которая может загружать операционную систему.

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

SP: Многие разработчики искали поддержку XML и, хотя большинство систем баз данных могут экспортировать или выгружать в XML, они ищут собственное хранилище XML. Оставлено ли разработчику использовать язык сценариев или программирования или это, возможно, особенность Firebird? Каковы ваши особенности XML?

Там нет ничего конкретного. У нас есть такие функции, как хранимые процедуры и пользовательские функции, которые позволяют разработчикам генерировать вывод XML или анализировать XML в качестве входных данных. И, конечно же, вы можете хранить полностью расширенный XML в больших двоичных объектах, если это то, что вам нужно. Вы можете написать модули «blob filter», к которым механизм запросов может получить доступ для анализа XML в других форматах.

SP: Можете ли вы описать возможные варианты поддержки?

Firebird Foundation — некоммерческая организация, которая централизует ряд административных аспектов, касающихся проекта Firebird и сообщества разработчиков программного обеспечения. Он собирает средства и спонсирует людей для конкретных работ и организации релизов. У него нет коммерческой деятельности.

Бесплатная поддержка доступна в списках поддержки. Большинство разработчиков и многие опытные пользователи следят за списками, поэтому ответы там намного выше среднего значения бесплатных консультаций. В дополнение к общему списку поддержки Firebird, есть отдельные списки для определенных областей: Java, .NET, Delphi, PHP, ODBC, Visual Basic и так далее.

Коммерческая поддержка доступна от ряда компаний. Крупной англоязычной компанией является IBPhoenix, в состав которой входят бывший генеральный менеджер InterBase в Borland и один из первых разработчиков InterBase. Другие группы предоставляют аналогичные услуги в ряде стран, например, в Бразилии, Германии, России, Франции, Испании, Италии и Японии.

SP: Есть ли у вас идея проникновения на рынок?

Мы получаем около 2000 загрузок в неделю от Source Forge, но необработанная статистика загрузок не является надежным индикатором использования. Наши списки поддержки являются лучшим индикатором, поскольку они представляют реальное использование. Основной список удвоился с прошлого года и теперь генерирует около шестидесяти сообщений в день, в основном в будние дни. Трафик на выходных снизился, что говорит о том, что все больше людей используют Firebird в своей работе, а не экспериментируют с ней в свободное время.

Firebird был особенно успешным за пределами США. Списки поддержки португальского языка в Бразилии насчитывают более 3000. Один из самых активных новостных сайтов Firebird находится в России, где проживают некоторые из наших самых плодовитых разработчиков. У нас есть активная группа пользователей в Японии, которая планирует конференцию на сентябрь.

SP: Что отличает Firebird от конкурентов — как коммерческих, так и открытых?

Дифференциация бывает во многих формах, не так ли? Есть цена и общая стоимость владения, которые трудно превзойти. Существует тот факт, что он работает на многих операционных системах и минимальном аппаратном обеспечении. Тогда есть нормальные дифференциаторы, особенности и производительность.

Firebird поставляется с инструментами командной строки, которые работают на всех платформах. Для тех, кому нужен графический интерфейс, есть огромный выбор отличных графических инструментов, коммерческих и бесплатных, для любой работы.

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

Отличить Firebird от РСУБД с открытым исходным кодом в том же пространстве развертывания — например, PostgreSQL — немного сложнее. Каждый из них имеет свое следующее, основанное на истории, функциях, ссылках на пакеты, инструментах приложений и так далее. Мудрый новый пользователь попробует их обоих с данными, специфичными для требований. Судебный процесс бесплатный и неограниченный. Вы можете установить и оценить Firebird и PostgreSQL со всеми функциями, если вам нужно: без таймаутов, без ограничений по загрузке, без соглашений о неразглашении и без проблем.

SP: Можете ли вы предоставить некоторую информацию о будущем Firebird?

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

Во-первых, позвольте мне рассказать вам немного об исторической перспективе. Когда Borland выпустил код InterBase, он был доступен только для чтения, и сценарии сборки не работали. Цели Firebird 1.0 заключались в том, чтобы создать код, работать и исправлять несколько сотен самых вопиющих известных ошибок.

У Firebird 1.5 была чуть более агрессивная цель: преобразовать код из C в C ++. В процессе работы закрался ряд функций, но они также не были целью 1.5. Только с версией 2 мы достигли мастерства в коде и готовы взять на себя основные функции. Для проекта с открытым исходным кодом Firebird очень консервативен в отношении изменений и выпусков. Мы работаем для разработчиков и знаем, что люди делают ставку на свои компании и свои карьеры на программное обеспечение, которое мы производим. Хотя большинство наших разработчиков — добровольцы, Firebird — не хобби.

Сегодня три различных проекта вносят вклад в версию 2. Один из них — это обычная головная ветка, которая имеет новые функции SQL, улучшения производительности и ряд изменений, которые позволяют Firebird поддерживать гораздо большие базы данных, чем можно было представить даже четыре года назад, когда Проект начался. Другой — Yaffil, бывший форк Firebird, который мы реинтегрируем с основной базой кода. Третий — это Vulcan, основная реструктуризация всей кодовой базы, восстановление и модернизация оригинальной архитектуры InterBase, которая была скрыта за 20 лет работы.

SP: Чем ваша лицензия отличается от MySQL по сравнению с проблемами лицензирования, которые были вновь затронуты в техническом выпуске MySQL 4.0.20?

Наша лицензия, по сути, является публичной лицензией Mozilla v.1.1, измененной только для отражения того, что код не Netscape и что первоначальными разработчиками были Inprise / Borland (для кода, который они выпустили) и люди, которые разрабатывают новый код. Это единственные лицензии, которые у нас есть, и они специально позволяют коммерческим продуктам включать и поставлять Firebird. Никто не платит за Firebird, и все используют его под одной лицензией.

SP: Кто ключевые игроки в команде Firebird?

Основные разработчики — очень важные игроки, и мы дорожим ими. Со временем команда меняется, появляются новые лица, некоторые на время отступают на задний план. В нынешнем составе основная команда подчиняется Дмитрию Еманову, который делает выбор между разными подходами к разработке. Арно Бринкман и Николай Самофатов — талантливые дизайнеры и программисты. У Алексея Пешкова есть особые обязанности по вопросам безопасности. Клаудио Вальдеррама внимательно изучает входящий код. Павел Цисар разрабатывает новые испытательные стенды. Многие другие помогают в разработке кода, очистке и разработке тестов.

Второй — это крупная архитектурная перестройка Джима Старки для клиента IBPhoenix. Джим разработал и написал оригинальный код InterBase, на котором основан Firebird. Заказчик хочет, чтобы работа Джима — в настоящее время помеченная как «Project Vulcan» — была с открытым исходным кодом для вклада в более широкую базу кода Firebird.

Третий — расширенная реализация Windows-сервера Firebird 1.0, известного как «Yaffil». Владельцы Yaffil передали исходный код проекту Firebird в ноябре прошлого года. Его главный разработчик Олег Лоа присоединился к Firebird и контролирует интеграцию улучшений Yaffil с кодом Firebird 2.

Проекты разработки драйверов также являются ключевыми ветвями продукта Firebird. Они включают в себя драйверы Jaybird JDBC типа 2 и типа 4 (руководитель группы: Роман Рокицкий), поставщик Firebird.NET и драйверы ADODB (Карлос Гузман Альварес) и драйвер ODBC / JDBC Firebird (первоначальный автор, Джим Старки, руководитель группы Владимир Цвигун). ).

Завершение

Firebird — удивительный проект с захватывающим будущим. Более подробную информацию о Firebird можно найти на сайте Firebird . Мы благодарим Елену за участие в интервью.