Search
Write a publication
Pull to refresh

Comments 27

А как вы познакомились с СУБД Firebird?
Напишите в комментариях!
Присоединяйтесь к Telegram-каналу СУБД Firebird

После успешного прохождения курсов по Java (в 2008 году, был студентом 3 курса) оказался номинирован на прохождение стажировки в Reksoft. Там и рассказали. Ещё показывали GUI, вроде, IB Expert называлась.

В 2003-м году разрабатывал софт для автоматизации диспетчерской службы такси одного на Delphi 7. Сначала использовал Interbase, который с делфи комплектный был, а потом перешёл на Firebird.
Такси это в целом проработало недолго, но поспешу заверить - совсем не по вине софта ;)

Работал с интербейз в конце 90, когда школьником изучал Delphi )

На старших курсах универа на первой работе делали систему с БД на Firebird (и сервером приложений COM+ - она протянула почти 20 лет), выбор был конечно не в последнюю очередь обусловлен знакомством с Delphi.

Познакомился с Firebird 2.5 в позапрошлом году, когда устроился на работу. Зафорсил постгрес и теперь сижу, радуюсь жизни

Спасибо за статью и экскурсию в историю создания.

Первая СУБД, Delphi 7. Версия 1.5. 2005 год.

Потом все настольные приложения на делфях только с ней. В какой-то момент подключил источник данных даже в Django приложение.

Столько приятных ностальгических моментов связано с Firebird.

Книга Мир интербейз была настольной. Потом книга Хеллен Борри.

Ну такое было знакомство...
Наша фирма поставила сервер на новых Intel Xeon Scalable 3rd одному клиенту. Это год 2022, самое начало. Клиент, получив изделие, начал дико вопить, что его FireBird тормозит на нем сильнее, чем на старой однопроцессорной модели, какой, уже не вспомню. Повозились, потестировали - нет, с сервером все нормально. Стало быть, архитектура самой БД. Была смутная идея, что это как-то связано с размерами файлов, в которой хранились таблицы БД, но дальше разбираться не стали.

Самое начало, 2022? 😂

Там поди был какой-то старый Firebird архитектуры супер-сервер, который не умеет параллелиться. Старый сервер был, условно с одним ядром, но с большой частотой, и FB его успешно использовал. А на вашем новом сервере поди 64 ядра, но с частотой в 3-4 раза меньше, вот FB сел на одно медленное ядро, и слил всю скорость :)

возникло решение переписать проект на С++

Не для ругани, а для интереса: А где можно почитать про мотивировку этого шага подробнее ? Тод-же postgresql живет себе на C. С другой стороны не просто так это было сделано то - явно были серьезные мотивы ...

Еманов про это рассказывал, внимательнее перечитайте, там вроде обосновано.

Я не спец, но попробую ответить на основе своего текущего понимания исходников. У FB есть некоторые подсистемы, построенные по принципу иерархии классов. Один пример - dsql, внутреннее представление исполняемого запроса, выглядит как класс StmtNode с абстрактными методами типа execute(), которые уже реализуются в большом количестве классов-потомков. Второй пример - RecordSource, абстрактная ленивая последовательность строк, у которой есть очень много реализаций: фильтрованная последовательность, агрегирующая последовательность, ... . Я даже не представляю, как это выглядело без классов и наследования. Но в FB ещё есть подсистемы, которые и сейчас выглядят как код на C, например самая фундаментальная VIO.

Я даже не представляю, как это выглядело без классов и наследования.

Можно использовать явную передачу указателей на разные функции обработки при разном ипользовании.

Технически можно в структурах и таблицу виртуальных методов вести самостоятельно. Но тогда получится тот самый «Си с классами», из которого родился C++.

В гите вроде можно увидеть в истории как это было

Очень тяжко было уходить с Yaffil - долго тестил каково падение производительности у Firebird (уж больно скорость нравилась), но через какое то время фичи перевесили. По моему на Firebird 2.1 перешел. Это была БД небольшого предприятия на 40 онлайн пользователей, суперсервер. Классик мне сразу не зашел и никогда его не использовал.

IBExpert разве не кто-то из давших интервью делал?

Помню news-конференцию, читал пару лет в первой половине 2000-х, все фамилии "старичков" знакомы ещё оттуда :)
Рад, что Ded в строю, он вроде в каком-то году уходил из комьюнити.

нет. IBExpert это Хвастунов, который в HK-Software (Германия). Заблочено сразу с началом СВО.

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

Сейчас IBExpert уже не такой доступный как был. Смотрите в сторону RedExpert от Ред Софт.

Вот смотрю сейчас на ужасные (на мой взгляд) pgAdmin и MySQL Workbench и понимаю насколько более крутой и удобный IBExpert был еще лет 20 назад.

В году эдак 2015-м мне была поставлена задача интегрировать сторонний тикет-трекер колл центра с программой, записывающей разговоры упомянутого коллцентра. Разумеется никакой документации, поддержки производителя не было, флайщиттаун всё-таки. Путём "обратного инжиниринга", состоящего из гуглежа, просмотра открытых портов, файлов в установленной директории программы и научного тыка было установлено, что в качестве СУБД использовалась Firebird. Нагугленный дефолтный дароль к нему не подходил, пришлось на коленке варганить скрипт для брутфорса. Оказалось пароль состоял из первых 6 (?) букв дефолтного пароля, и вообще при установке пароля пользователя он отсекал лишнюю часть и использовал только первые 6 букв. Я не помню было ли это ограничение той версии Firebird, или производители программы-записывалки наложили свой патч на него.

У Firebird до 3 версии ограничение на длину пароля в 8 символов :)

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

Где Delphi, там эта пара баз и встречалась.

Познакомился с Firebird году примерно в 2006м. Мы тогда портировали один известный кассовый софт с морально устаревшего Paradox и искали что-то современное opensource'ное. Нам были нужны развитые серверные возможности, процедуры, транзакции, генераторы и вот это вот всё. При этом, скромные системные требования и легкость в развертывании. И с такими требованиями альтернатив Firebird'у 1.5 на тот момент казалось что и не было. Выбор был верный - тот софт до сих пор существует, развивается и продается, спустя 20 лет. И продолжает работать на Firebird.


В конце нулевых бывал не раз на конференциях, очень рад видеть знакомые лица!
Желаю здравствовать продукту и команде!

Sign up to leave a comment.

Articles