metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2011-04-05 07:18 pm

Перепост, про Firebird

ссылка
В бане (или борделе, кто куда ходит), после грамотной попарки (или еще чего), распаренный партнер подсказывает генральному, что во всем виноват тормозной Firebird, и надо переходить на "промышленные" СУБД.
...
Правильно затюнигованный Firebird держит 1500 активных клиентских подключений, обслуживает 400Гб базу, и экономит предприятию как минимум от $6000 за каждый процессор.

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

Но периодически возникают срачи с разного рода админами, коллегами-программистами и прочими причастными к теме, и все они крайне не любят оный Firebird. Типа истории про неуловимый баг "если в процессе работы почитать(скопировать) базу извне сервера, то база сдохнет. Оригинал сдохнет, не копия". Ну и прочие urban legends. У людей без мозгов вообще первая реакция примерно такая: "Firebird? А, ну идите в топку, пионеры из НИИГиТ.".

Ребе [livejournal.com profile] theiced вообще убеждает меня, что базы Firebird регулярно отправляются на марс, со всеми данными :) И таки да, надо признать, такое бывало, меньше 1% случаев, но бывало. Я не знаю, как обстоят с таким дела у всяких Ораклов или PostgreSQL, но меньше 1% излечимых отказов, при жестоко удолбищных условиях эксплуатации - это имхо, вполне хорошо. Возможно, я чего-то не понимаю, и отказов вообще быть не должно.

Если посмотреть на среднего вопрощающего на sql.ru или на отвечающих ему местных "гуру", то причины такой ситуации становятся более понятны - вопрощающий обычно реально пионер из НИИГиТ, отвечающие или модераторы - несдержанные на язык красноглазики, в самом лучшем случае - делающие гешефт на Firebird и около того товарищи.

И еще один аспект - это те самые условия эксплуатации. Oracle/MSSQL - это значит заведомо нормальный сервер, инфраструктура и наличие обслуживающих админов. PostgreSQL/MySQL - наличие в дельта-окрестности следящего за инфраструктурой красноглазика.
Для Firebird же типичная инфраструктура - "первый попавшийся десктоп с виндой, с матерью на nvidia чипсете, съеденными мышами проводами, на котором кишат вирусы, админов нет, а пользователи качают с китайских серверов зоофильское порно с троянами и червями".
Я до сих пор не могу забыть, как админы клиентов базу данных бухгалтерской системы один раз удалили вместе с образом виртуальной машины, а в следующий раз, уже после переселения на физическую машину, у них просто ВЫПАЛ ПРОВОД из винчестера во время работы. Слава богу, база была на другом винчестере.

[identity profile] metaclass.livejournal.com 2011-04-08 03:00 pm (UTC)(link)
Не, MVCC это отдельная история.
sqlite и nosql конкретно мне не нравятся тем, что нет принуждения со стороны СУБД использовать правильные структуры данных - в sqlite можно записать строку в числовое поле и никто не почешется, а в nosql вообще структура(вроде бы) определяется клиентским приложением, и разработка чего-то более-менее осмысленного гарантированно закончится собственной реализацией sql/транзакций и прочего поверх nosql баз.

Ну я с требованием standby и прочего подобного тоже не сталкивался ни разу. Все просто: клиенты до сих пор работают с прогой на кларионе под DOS и файл-серверные БД. По сравнению с этим софт на Firebird - это уже небо и земля.

[identity profile] sgalitsky.livejournal.com 2011-04-08 04:34 pm (UTC)(link)
а что, - для нормального ПО это характерно? - ссылаться на ошибки СУБД?

[identity profile] metaclass.livejournal.com 2011-04-08 06:31 pm (UTC)(link)
Для нормального ПО характерно использовать СУБД и язык по максимуму, не изобретая велосипеды.
В частности, внешние и прочие ключи используются как последний эшелон защиты от ошибок. Т.е. пользователю клиентское ПО, конечно, не дает ничего плохого сделать, показывая осмысленные сообщения, но ограничения в БД делают это дело более надежным.

[identity profile] sgalitsky.livejournal.com 2011-04-09 01:25 pm (UTC)(link)
> Ну я с требованием standby и прочего подобного тоже не сталкивался ни разу.
- я примерно понял, о чем Вы говорите.
- не проще ли тот же постгре освоить? он-то ведь и настройками побаловать может, и позволяет на пару-другую Гб/Тб базу раздуть. - да, вполне..

[identity profile] metaclass.livejournal.com 2011-04-09 01:30 pm (UTC)(link)
Да, с постгресом имеются планы на будущее.

[identity profile] sgalitsky.livejournal.com 2011-04-09 01:47 pm (UTC)(link)
Проще прямо сейчас. - фб пара лет осталось. - либо сами загнутся, либо кто-нибудь купит.
то же самое и с постгресом случится, - то же самое, что и с MySQL.
а у постгреса есть многое от оракла. после него на оракл (и db2?) переходить проще..

[identity profile] fraks-nsk.livejournal.com 2011-04-11 01:56 am (UTC)(link)
У Firebird тоже есть многое от оракла, даже есть такая версия, неофициальная - Fyracle - Firebird с синтаксисом от оракла.

[identity profile] fraks-nsk.livejournal.com 2011-04-11 01:57 am (UTC)(link)
> фб пара лет осталось. - либо сами загнутся, либо кто-нибудь купит.

У вас отчетсво не Вангович? Откуда такие прогнозы?

С другой стороны - мы все умрем. Ааааа, что делать????