Firebird: 10 лет успешного развития

    image
    Firebird — универсальная СУБД с открытым кодом.
    Этот обзор посвящен 10 летию огненной птицы (которое состоится в июле), а так же скорому выходу финальной версии Firebird 2.5 (скорее всего конец апреля — начало мая).
    MindTheBird!
    www.MindTheBird.com


    Есть множество причин подумать о Firebird…


    image

    • 1+ миллион разработчиков на Firebird
    • 2500+ ежедневных инсталляций на Windows, не считая Linux-инсталляций
    • Миллионы копий Firebird устанавливаются вместе с коробочными приложениями (ISV)
    • Firebird включен во все основные дистрибутивы и репозитории Linux


    Firebird — это...



    многоверсионная архитектура


    image
    • Гибридные приложения
      Многоверсионная архитектура позволяет создавать на базе Firebird системы для одно-временной обработки онлайн-данных (OLTP) и построения отчетов (OLAP)
    • Автоматическое управление версиями
      Firebird по мере необходимости автоматически выполняет sweep (известный как vacuum в других СУБД)

    события (events)


    image

    События (Events)
    • Уведомления о событиях могут быть посланы из триггеров, хранимых процедур и блоков Execute Blocks
    • Гибкий механизм подписки
      -ON TRANSACTION START (на старт транзакции)
      -ON TRANSACTON COMMIT
      -etc

    Протоколирование и синхронизация
    • Мгновенные уведомления об событиях уровня базы данных могут быть вызваны (и запротоколированы) из триггеров уровня базы данных
      -ON CONNECT (на соединение)
      -ON DISCONNECT (на отсоединение)
      -etc

    мощные возможности sql


    • Высокая совместимость с ANSI SQL
    • Common Table Expressions (CTE)
    • Гибкое управление транзакциями
    • Мощные хранимые процедуры (селективные процедуры позволяют объединения с таблицами в рамках одного SELECT)
    • Запросы к нескольким базам данных

    trace api


    image

    Trace API
    • Мониторинг в реальном времени
    • Отладка SQL запросов

    Аудит
    • События
    • Частичное или полное протоколи-рование SQL
    • Через удаленные соединения!

    безопасность


    image

    Безопасность на уровне SQL
    • Пользователи и роли
    • Установка разрешений на все основные операции с данными и объектами БД
    • Концепция владельца БД

    Windows Trusted Authentication
    • Единый вход (single-sign) в Windows и в клиентскую программу
    • Интеграция с доменами Windows и Active Directory

    Сеть
    • Необходим только один порт (3050 по умолчанию, конфигурируется)
    • Алиасы скрывают реальные пути к файлам баз данных

    4 архитектуры


    • Classic
      Архитектура для мощных систем с несколькими ЦПУ и большим количеством ОЗУ
    • SuperServer
      Компактная и высокопроиз-водительная версия для встраивания в тиражирумое ПО
    • Embedded
      Однопользова-тельская СУБД в DLL. Прозрачная миграция на старшие версии!
    • SuperClassic
      Новая архитектура в 2.5! Комбинация лучшего от SuperServer и Classic. Идеально для виртуализации

    масштабируемость


    • 4 архитектуры позволяют создавать базы от 1Мб до 1Терабайта
    • От 1 пользователя до 1000
    • От DLL до нескольких ЦПУ

    многоплатформенная субд


    image
    • Поддержка Windows, Linux, HP-UX, Solaris, Mac OS X, FreeBSD и т.д.
    • 32 и 64 бита
    • 100% совместимость между ОС и одношаговая миграция между платформами


    средства разработки


    image
    • Firebird.NET
    • JayBird (Java)
    • UIB, FIBPlus*, IBObjects* (Delphi/C++ Builder)
    • FreePascal & Lazarus
    • PHP for Firebird
    • FireRuby
    • и не только!

    * — коммерческое ПО

    уверенное движение


    image
    • За последние 12 месяцев Firebird был установлен на Windows 672114 раз (фиксируется ссылкой на веб-страницу официального сайта из инсталлятора). Или — 1800 установок каждый день за последний год (от 1500 год назад до 2500 сейчас). Количество установок на Linux (и др.), embedded или собственных инсталляторов не отслеживаются
    • www.firebirdsql.org — 7000 уникальных посетителей в день, и 1.8 миллионов посетителей в год
    • 6,583,438 загрузок с 2000 года только с sourceforge.net
    • Включен в репозитории всех главных дистрибутивов Linux (Mandriva, Fedora, Debian, OpenSuse, и др.)
    • Ежегодный рост использования +10%
    • Разработка с 2000: 5 релизов (1.0, 1.5, 2.0, 2.1, 2.5) и четкий план развития (3.0 находится в альфа-тестировании)
    • 12 активных разработчиков ядра и драйверов
    • Большое сообщество по всему миру:
      Brazil
      Germany
      Russia
      USA
      Australia
      Italia
      France
      Turkey
      Spain
      и другие!


    Ссылки:

    P.S.
    Кроме того, основными разработчиками являются наши соотечественники, с которыми можно пообщаться на родном языке. Например, тут: www.sql.ru
    P.P.S.
    Если интересно, то есть почти готовый обзор конкурентов Firebird и сравнение с Птичкой.
    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 24
    • +5
      Мне щас напуляют, но не люблю я Firebird (не мог пройти мимо топика).

      Думаю, что многие в процессе ассоциируют любые программные продукты с каким-то ощущениями (у всех по разному). Например MySQL — ощущение свободы, PostgreSQL — ощущение надежности (тут еще и слон везде). Можно привести кучу примеров «наоборот».

      Firebird вызывает у меня чувство хаоса, ненадежности, ощущение топорности. Причем практически все что с ним связано, начиная от того как выглядит API, заканчивая представлением на жестком диске. У меня нет ощущения, что передо мной коробочный продукт, даже когда вижу красивые картинки в этом топике.

      Все вышесказанное всего лишь желание выхлопа по наболевшей теме, пробовал подойти к использованию Fb раз пять наверное.
      • 0
        Довольно часто встречаюсь с таким мнением, в том числе и для развенчания мифов написан этот топик.
        Мне лично известны бд, которые работают более 10 лет без администрирования (там interbase, но это не принципиально)

        Допустим, нам потребовалось запустить бд, работающую под линукс, на виндовс сервере. Для этого нужно 1. потушить лиукс сервер 2. перенести бд (копированием!) 3. запустить виндовс сервер. Все!

        Или апгрейд сервера бд, для перехода с 1.0 на 1.5 было достаточно просто подменить библиотеку (полторы минуты времени). С более старшими версиями так просто не получится, но процесс сводится к накатке скрипта и замене библиотек.

        Ну и несколько примеров реальных бд:
        Bas-X (Австралия) является лидирующим поставщиком ПО для ритейлеров, складских операторов и торговых холдингов.
        Bas-X интенсивно использует Firebird: один из крупнейших клиентов Bas-X эксплуатирует базу данных Firebird размером более 450Гб, а множество других клиентов эксплуатируют имеют БД Firebird размером 200Гб и выше.

        Watermark Technologies (Великобритания) создает решения для предприятий финансового и государственного сектора, а также для страховых компаний.
        Watermark Technologies разрабатывает ПО, на базе Firebird для управления документооборотом, включая распознавание текста и полнотекстовый поиск. Клиенты Watermark эксплуатируют несколько БД размером более 300Гб.

        Профитмед (Россия) – крупный фармацевтический дистрибьютор.
        Несмотря на относительно небольшой размер БД (~60Гб, растет на 2Гб/мес), эта база данных Firebird примечательна очень большим числом одновременных соединений, которые позволяют работать сотням аптек по всей России.
        Профитмед использует 64-битную архитектуру Firebird чтобы эффективно исполь-зовать возможности современного серверного оборудования.

        Если Вас еще что то смущает, готов ответить на вопросы о мнимой надежности.
        • 0
          Я понимаю о чем вы, но большинство указанных вами пунктов столь же легко применимо практически к любой СУБД вышедшей из детсадовского возраста. И беспрецедентно долгий uptime и отсутствие необходимости в администрировании (ну тут все от проекта зависит, само собой).

          Перенести базу с Linux на Windows? Или наоборот? Нет проблем ни у кого с этим. Это ж надо умудриться сделать разный формат под разные платформы, переход осуществляется таким же образом — копирование самой БД и копирование сопутствующей информации (индексы, конфиги и прочее).

          На меня может быть сильно повлияло ощущение от FB в embedded варианте, либо остаточные ощущение от Interbase и предков. Тут меня, боюсь, не переубедить.

          Но, в любом случае, спасибо за напоминание о FB как таковом.
          • 0
            >> Мне лично известны бд, которые работают более 10 лет без администрирования…

            Блин, что я делаю не так??? Есть несколько баз firebird, ну если не админить база больше гига слетит через неделю. Что я делаю не так?

            >> Запросы к нескольким базам данных
            Можно поподробнее?

            • +2
              У нас в конторе около 3000 баз больше гига, и ничего, если винт или память не сыпятся — работают себе. Наверное что-то у вас с архитектурой напутано.

              А последний файбёрд позволяет выполнить прямо из кода в одной базе селект к другой. Не знаю, насколько это будет полезно, но такая возможность есть.
              • 0
                [FOR] EXECUTE STATEMENT <query_text> [(<input_parameters>)]
                [ON EXTERNAL [DATA SOURCE] <connection_string>]
                [WITH {AUTONOMOUS | COMMON} TRANSACTION]
                [AS USER <user_name>]
                [PASSWORD ]
                [ROLE <role_name>]
                [WITH CALLER PRIVILEGES]
                [INTO ]

                Если этот страшный код о чём-то говорит — то это синтаксис вызова SQL с возможностью выполнения на удалённой базе.
                • 0
                  Удаленная база может быть не Fb, я правильно понял? А через что проксирование запросов то выполняется? У MS SQL, если мне память не изменяет, есть аналогичный функционал, но там решение через ODBC, соответственно, лимитация платформы — MS Windows only.
                  • 0
                    Нет, только firebird, и, насколько я понял, вызов идёт непосредственно через api.
                  • 0
                    ну не знаю может дело в клиенте к бд.

                    да про EXECUTE STATEMENT я слышал… пот только примеры видел только для одного DATA SOURCE.
                  • 0
                    даже на древнем 1.0 не было такого, что слетит. Кстати, что это значит?
                    • 0
                      это значит что ошибок в ней будет очень много.
                      • 0
                        какого рода ошибки? как они туда попадают?
                        вовремя сделанный b/r влияет только на скорость, ошибки он не лечит, как и администратор бд
                        • 0
                          Ошибки, которые видны при валидации, и повреждения БД. Как появляются знаю только про повреждения.

                          b/r в моем случае помогает предотвратить их появление.

                          а кто лечит ошибки?
                          • 0
                            ну так обращайтесь к нам в саппорт (ibase.ru). Сами собой ошибки не вылечатся, и причину своего появления не скажут.
                  • 0
                    С удовольствием бы посмотрел сравнение FB с конкурентами (кстати, кто сейчас «конкурирует» с FB? с embedded — понятно — тут порядка 20 движков [MySQL Embedded, SQLite, AbsoluteDB, VolgaDB & etc], а как дела обстоят в других сферах?).

                    Причем сравнение хотелось бы адекватное и объективное насколько это возможно.

                    — Базовый функционал
                    — Расширенный функционал (full-text search, geospatial & etc)
                    — Бенчмарки

                    Было бы очень интересно!
                    • 0
                      FB Embedded это полноценный сервер в DLL. Поэтому его сравнение с файловыми движками типа SQLite будет неполноценно, извините за каламбур :-)

                      бенчмарки СУБД уже давно всерьез никто не воспринимает. на sql.ru как-то сделали бенчмарк. Там потом долго люди удивлялись. Но результат и понятен — абстрактно сравнивать СУБД без настройки нет смысла. А неабстрактно с настройками — тоже, потому что сравнивать можно только сравнимое по архитектуре.
                      Можно обсравнивать блокировочник с версионником, но настоящие решения на них будут совершенно разными и непереносимыми. А следовательно и сравниваться могут только в самых общих чертах.
                • +2
                  Если бы я тебя не знал, то подумал бы что в firebird тебе заплатили деньги за этот пост, уж больно стиль рекламный.
                  • 0
                    так это и есть ПИАР!
                  • НЛО прилетело и опубликовало эту надпись здесь
                    • 0
                      бесплатной для жителей exСССР (хотя на деле только для тех, у кого кодовая страница 1251)
                      ну и размер сервера-клиента, всего 5 мб
                      • 0
                        Думаю можно еще упомянуть InterBase/Firebird Development Studio, там нет привязки к странице 1251, только при установке нужно выбрать русский язык. Но: в Windows 7 падает, в XP/Vista — все ок.
                        • 0
                          с ibexpert конкуренции не выдерживает
                      • +2
                        Только хотел написать про нее. Это реально большой плюс! Работал с FB еще когда вышла только 1.5 последний раз. после этого работал и с MS SQL и MySQL и c PostgreSQL и SQLite, но до сих пор скучаю по IBExpert — очень хороша консоль.
                      • 0
                        Неистово кармаплюсую, изливая потоки крупных белых капель на всемогущую «надежность» и «долговечность» Фс^wБ!

                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.