Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

2008 г.
Доклад конференции "Корпоративные базы данных-2008"

Firebird в 2008 году: эволюция или революция

Дмитрий Кузьменко, iBase.ru

InterBase, как версионная РСУБД, существует на рынке коммерческих СУБД уже более 20 лет. Firebird является веткой кода, развивающейся самостоятельно с 2001 года.

Использование Firebird как сервера, поддерживающего многоверсионность, обусловило легкость его применения в самом широком спектре задач. На самом деле даже при случайном выборе названия какой-либо известной фирмы, можно на 90% утверждать, что для какой-либо задачи в этой фирме используется InterBase или Firebird (часто бывает, что в разных подразделениях используется и тот и другой сервер). Это большая часть сотовых операторов, многие банки, промышленные предприятия. На www.ibase.ru есть каталог подобного ПО, представляющий лишь малую часть программного обеспечения, использующего Firebird.

Операционные систем

Изначально код сервера разрабатывался под Unix, и в конце 80-х был портирован на ~12 различных вариантов Unix. В 1992 году появился вариант и для Windows, причем его характерной чертой была и остается способность работать на любом варианте настольной или серверной Windows – 98, ME, XP, 2000, 2003, Vista.

В настоящий момент поддерживается несколько популярных клонов Linux, а также других вариантов Unix, включая различные аппаратные платформы. Планируется портирование и под платформу ARM.

Примеры применения

Firebird используется практически везде. От задач мелкого бизнеса с базами данных от 300мб до 8 гигабайт и числом пользователей до 50, до крупных систем с базами в 150-300 гигабайт и числом одновременных пользователей до 600.

Также существует и широкое применение Firebird Embedded (встраиваемого варианта в виде dll) в однопользовательских системах, где пользователи программ не имеют представления, с какой СУБД они работают. Например, это ПО для диска к журналу UPGRADE (Пирит), CRM QuickSales, ПО оптимизации web-сайтов WebCEO (390 тысяч инсталляций).

Более крупные и многопользовательские БД – сеть магазинов Магнит (около 1000) в России и подобные за рубежом, филиалы различных банков и страховых организаций, и т.д. Из наиболее крупных систем известны внедрения ERP AVARDA (Ansoft) – FinnFlare, Ecco, CarpetHouse и др.

Драйверы и инструменты

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

На текущий момент существует

  • Около 45 драйверов к различным средам и системам
  • Компоненты прямого доступа, ODBC и OLEDB, .Net… - каждых по 5-8 вариантов
  • Поддержка почти во всех web-системах разработки
  • ~10 самых популярных инструментов разработчика
  • Множество сервисного инструментария
  • Репликаторы, копирование данных, наборы функций, сравнение БД…

Структура проекта Firebird

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

Для обеспечения стабильного и непрерывного развития Firebird 20 ноября 2002 года была создана некоммерческая организация Firebird Foundation, которая принимает спонсорские и членские взносы, и направляет их на выполнение грантов или заказов (специальных задач по развитию той или иной функциональности Firebird) и обслуживание затрат проекта (тестирование, администрирование, поддержка сайтов и т.п.). Вместе с финансированием существует группа администраторов, или "архитекторов" проекта, которые, обеспечивая тесную связь с пользователями Firebird определяют приоритетные направления развития (например, представляют в FF запрос на грант по определенной функциональности).

Из финансируемых областей можно упомянуть оптимизатор запросов, инкрементальный бэкап, odbc-драйвер, jdbc-драйвер, тестирование, сборка дистрибутивов и многое другое. Независимо от источника финансирования оплаченная разработка обязательно становится доступной всем пользователям Firebird.

Такая организация, в том числе обеспечивает уверенность пользователей в стабильности развития проекта.

Лицензия на код Firebird не ограничивает его коммерческое использование никаким образом (базируется на лицензии Mozilla). Единственное требование – при модификации оригинального кода и распространении основанных на таком коде версий сервера – предоставлять пользователям и проекту Firebird эти изменения кода.

Основные изменения в Firebird 2.1

  • Мониторинг состояния сервера
  • расширения SQL
    • Common Table Expressions
    • Replace/Merge
  • Временные таблицы
  • Аутентификация Windows
  • Триггеры уровня БД

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

    Данные изменения всего-лишь эволюционные – хотя они являются абсолютно новой функциональностью, архитектура сервера при этом никак не изменилась. Сервер продолжает существовать в виде немасштабируемой на многопроцессорных системах архитектуры SuperServer, и масштабируемой – Classic.

    Firebird 2.5

  • Размер кэша БД более 2 гигабайт
  • Регулярные выражение в WHERE (SIMILAR)
  • Расширение списка 64-разрядных дистрибутивов для новых операционных систем
  • Автономные транзакции
  • Гетерогенные запросы
  • Архитектура СуперКлассик
  • Трассировка (аудит)

    Версия 2.1 была чисто эволюционной. В ней добавили много функций. Но ничего глобального там не решено. Потому и номер минорный относительно 2.0.

    Версия 2.5 устанавливает новую технологическую платформу в плане многопоточности (как в свое время 1.5 стала платформой в плане перехода на С++). Большинство изменений не очевидны при взгляде снаружи.

    Попробую их перечислить:

    • Все билды сервера теперь изначально многопоточны. Включая posix-классик, который раньше был врожденно однопоточным. Это делает возможным, например, такие вещи, как закрытие коннекта сервером в случае обрыва связи с клиентом. Раньше это работало только на SuperServer. Так же в 2.5 клиентская библиотека стала полностью потокобезопасной. Сервисы классик-сервер теперь выполняет в отдельных потоках, работает это быстрее.
    • Сильно переработан менеджер блокировок. На posix он больше не требует редиректа сигналов через fb_lock_mgr, в 2.5 его больше нет. Также снято ограничение на кол-во семафоров и убрана соответствующая часть параметров конфигурации.
    • Синхронизация сервера единым мьютексом канула в лету. Сейчас каждая подсистема сервера синхронизируется самостоятельно, на низком уровне. В ядре пока все еще не так замечательно, т.к. синхронизация в SuperServer пока сделана на уровне БД, следовательно разные соединения по-прежнему будут ставиться в очередь, но это все равно лучше, чем раньше, т.к. коннекты к разным базам будут абсолютно параллельно работать на SMP-системах. Введен новый режим работы, т.н. супер-классик: по сути это классик с потоками вместо процессов. За счет более эффективного менеджера блокировок использующего преимущества работы в одном адресном пространстве) он выигрывает в нагрузочных тестах по сравнению со старым классиком порядка 15-20%. Кроме того, он поддерживает пул потоков, т.е. менее требователен к ресурсам. Напоследок, он лучше масштабируется (у обычного классика есть проблемы с числом коннектов более 600-800).

    По сути, 2.5 это намного более "длинный" шаг вперед к обещанным в 3.0 SMP-чудесам, чем все предыдущие версии вместе взятые. Именно поэтому она, как и 1.5 в свое время, является довольно революционной.

    Дополнительных расширений в ней будет немного, стоит отметить самые заметные:

    • запросы к внешним БД
    • автономные транзакции (уровня процедуры/триггера/PSQL-блока)
    • трассировка/аудит всей активности
    • асинхронное отключение коннектов через MON$-таблицы
    • регулярные выражения в предикатах
    • ALTER VIEW

    Разработка 3.0 на базе 2.5 начнется ориентировочно в мае, основная цель распараллеливаемая многопоточность с общим кешем.

  • Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

    Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

    Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

    Виртуальные VPS серверы в РФ и ЕС

    Dedicated серверы в РФ и ЕС

    По промокоду CITFORUM скидка 30% на заказ VPS\VDS

    VPS/VDS серверы. 30 локаций на выбор

    Серверы VPS/VDS с большим диском

    Хорошие условия для реселлеров

    4VPS.SU - VPS в 17-ти странах

    2Gbit/s безлимит

    Современное железо!

    Новости мира IT:

    Архив новостей

    IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

    Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
    тел. +7 495 7861149
    Пресс-релизы — pr@citforum.ru
    Обратная связь
    Информация для авторов
    Rambler's Top100 TopList This Web server launched on February 24, 1997
    Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
    Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...