Перепост, про Firebird
ссылка
В бане (или борделе, кто куда ходит), после грамотной попарки (или еще чего), распаренный партнер подсказывает генральному, что во всем виноват тормозной Firebird, и надо переходить на "промышленные" СУБД.
...
Правильно затюнигованный Firebird держит 1500 активных клиентских подключений, обслуживает 400Гб базу, и экономит предприятию как минимум от $6000 за каждый процессор.
У меня на почве Firebird когнитивный диссонанс в крайней стадии.
Во-первых, он у меня работает в количестве нескольких сотен штук у разных клиентов. Во-вторых, я на его использовании съел собаку. В третьих, у меня кодогенератор пока заточен строго под Firebird и свои модели хранит тоже в Firebird. То бишь мне по долгу службы положено всюду Firebird пропагандировать и пиарить.
Но периодически возникают срачи с разного рода админами, коллегами-программистами и прочими причастными к теме, и все они крайне не любят оный Firebird. Типа истории про неуловимый баг "если в процессе работы почитать(скопировать) базу извне сервера, то база сдохнет. Оригинал сдохнет, не копия". Ну и прочие urban legends. У людей без мозгов вообще первая реакция примерно такая: "Firebird? А, ну идите в топку, пионеры из НИИГиТ.".
Ребе
theiced вообще убеждает меня, что базы Firebird регулярно отправляются на марс, со всеми данными :) И таки да, надо признать, такое бывало, меньше 1% случаев, но бывало. Я не знаю, как обстоят с таким дела у всяких Ораклов или PostgreSQL, но меньше 1% излечимых отказов, при жестоко удолбищных условиях эксплуатации - это имхо, вполне хорошо. Возможно, я чего-то не понимаю, и отказов вообще быть не должно.
Если посмотреть на среднего вопрощающего на sql.ru или на отвечающих ему местных "гуру", то причины такой ситуации становятся более понятны - вопрощающий обычно реально пионер из НИИГиТ, отвечающие или модераторы - несдержанные на язык красноглазики, в самом лучшем случае - делающие гешефт на Firebird и около того товарищи.
И еще один аспект - это те самые условия эксплуатации. Oracle/MSSQL - это значит заведомо нормальный сервер, инфраструктура и наличие обслуживающих админов. PostgreSQL/MySQL - наличие в дельта-окрестности следящего за инфраструктурой красноглазика.
Для Firebird же типичная инфраструктура - "первый попавшийся десктоп с виндой, с матерью на nvidia чипсете, съеденными мышами проводами, на котором кишат вирусы, админов нет, а пользователи качают с китайских серверов зоофильское порно с троянами и червями".
Я до сих пор не могу забыть, как админы клиентов базу данных бухгалтерской системы один раз удалили вместе с образом виртуальной машины, а в следующий раз, уже после переселения на физическую машину, у них просто ВЫПАЛ ПРОВОД из винчестера во время работы. Слава богу, база была на другом винчестере.
В бане (или борделе, кто куда ходит), после грамотной попарки (или еще чего), распаренный партнер подсказывает генральному, что во всем виноват тормозной Firebird, и надо переходить на "промышленные" СУБД.
...
Правильно затюнигованный Firebird держит 1500 активных клиентских подключений, обслуживает 400Гб базу, и экономит предприятию как минимум от $6000 за каждый процессор.
У меня на почве Firebird когнитивный диссонанс в крайней стадии.
Во-первых, он у меня работает в количестве нескольких сотен штук у разных клиентов. Во-вторых, я на его использовании съел собаку. В третьих, у меня кодогенератор пока заточен строго под Firebird и свои модели хранит тоже в Firebird. То бишь мне по долгу службы положено всюду Firebird пропагандировать и пиарить.
Но периодически возникают срачи с разного рода админами, коллегами-программистами и прочими причастными к теме, и все они крайне не любят оный Firebird. Типа истории про неуловимый баг "если в процессе работы почитать(скопировать) базу извне сервера, то база сдохнет. Оригинал сдохнет, не копия". Ну и прочие urban legends. У людей без мозгов вообще первая реакция примерно такая: "Firebird? А, ну идите в топку, пионеры из НИИГиТ.".
Ребе
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Если посмотреть на среднего вопрощающего на sql.ru или на отвечающих ему местных "гуру", то причины такой ситуации становятся более понятны - вопрощающий обычно реально пионер из НИИГиТ, отвечающие или модераторы - несдержанные на язык красноглазики, в самом лучшем случае - делающие гешефт на Firebird и около того товарищи.
И еще один аспект - это те самые условия эксплуатации. Oracle/MSSQL - это значит заведомо нормальный сервер, инфраструктура и наличие обслуживающих админов. PostgreSQL/MySQL - наличие в дельта-окрестности следящего за инфраструктурой красноглазика.
Для Firebird же типичная инфраструктура - "первый попавшийся десктоп с виндой, с матерью на nvidia чипсете, съеденными мышами проводами, на котором кишат вирусы, админов нет, а пользователи качают с китайских серверов зоофильское порно с троянами и червями".
Я до сих пор не могу забыть, как админы клиентов базу данных бухгалтерской системы один раз удалили вместе с образом виртуальной машины, а в следующий раз, уже после переселения на физическую машину, у них просто ВЫПАЛ ПРОВОД из винчестера во время работы. Слава богу, база была на другом винчестере.
no subject
у меня складывается впечатление, что напиши товарищ один раз промежуточный tier для sqlite, например, - и все были бы довольны все эти долгие 10 лет непоймичегоделанья.
..только о sqlite такие редкости обычно и не слышали, как и о присноупомянутом стэндбае.
no subject
sqlite же блокирует базу целиком на момент записи, хоть и работает в многопоточных приложениях. Кроме того, у него с типизацией полей печаль.
А, и да - firebird имеет embedded вариант - как раз та же ниша, что sqlite. И переход от embedded к нетворк - замена одной либы, из-за чего практикуется такое: показываем клиенту продукт, вообще его не инсталлируя, тупо скопировав в флешки, один пользователь пользуется, потом переселяем на сервер, когда захотят остальные пользователи и запинают свое начальство и ИТ-службу.
no subject
да, у sqlite нет многоверсионности (лень в педивикию лезть, по-моему так называется по-русски), - и что?
- в "этой нише" ("в этой стране"..))) вполне сойдёт.
для баз 2-3 Гб и парой-другой тысяч пользователей - запросто, думаю. - А это - уже не ниша для fb, кстати. Оно там сдохнет неминуемо. А настраивать - нечего. И покупка "полки" - лишь отсрочит окончательное и неминуемое.
Я просто немного удивлен. - Как за десять лет человек с этим не сталкивался? Автоматизацию бань, прачечных-х*чечных налаживал?
no subject
sqlite и nosql конкретно мне не нравятся тем, что нет принуждения со стороны СУБД использовать правильные структуры данных - в sqlite можно записать строку в числовое поле и никто не почешется, а в nosql вообще структура(вроде бы) определяется клиентским приложением, и разработка чего-то более-менее осмысленного гарантированно закончится собственной реализацией sql/транзакций и прочего поверх nosql баз.
Ну я с требованием standby и прочего подобного тоже не сталкивался ни разу. Все просто: клиенты до сих пор работают с прогой на кларионе под DOS и файл-серверные БД. По сравнению с этим софт на Firebird - это уже небо и земля.
no subject
no subject
В частности, внешние и прочие ключи используются как последний эшелон защиты от ошибок. Т.е. пользователю клиентское ПО, конечно, не дает ничего плохого сделать, показывая осмысленные сообщения, но ограничения в БД делают это дело более надежным.
no subject
- я примерно понял, о чем Вы говорите.
- не проще ли тот же постгре освоить? он-то ведь и настройками побаловать может, и позволяет на пару-другую Гб/Тб базу раздуть. - да, вполне..
no subject
no subject
то же самое и с постгресом случится, - то же самое, что и с MySQL.
а у постгреса есть многое от оракла. после него на оракл (и db2?) переходить проще..
(no subject)
(no subject)
no subject
> кстати. Оно там сдохнет неминуемо.
С чего бы. У вас я вижу охуенный опыт работы с Firebird?
> Я просто немного удивлен. - Как за десять лет человек с этим не сталкивался? Автоматизацию бань,
> прачечных-х*чечных налаживал?
Оптовая и розничная торговля. Регион от Новосибирска до Иркутска.
В центральном офисе максимальное кол-во коннектов к базе - порядка 30 наверное.
Соответственно все ваши рассуждения про тысячи коннектов и тербатайтные базы - для меня пустой звон. У меня этого не и не будет.
no subject
>Оптовая и розничная торговля.
- да понял, понял. не переживайте так.
no subject
2-3 гига и 2-3 тысячи пользователей - это что-то странное.
Вы цифры с потолка берете, по аналогии с веб-сайтами с которым наверное и имеете дело...
Нишу эту FB покрывает нормально, но что могут делать 2 тысячи пользователей с такой небольшой базой...
У меня менее 30 пользователей набивают 1,5 гига за 1,5 года.
no subject
- с какой стороны посмотреть. я его давно не юзал. последний раз - под тиклем, - что в тикле - каждая переменная - строка, что в sqlite (а он из тикля и вырос) - то же самое.
под питоном поюзал слегка - для внутренних нужд, - переменные и файлики хранить, - какие проблемы с типизацией?
- или я где-то ошибся и надо левым ухом правую руку чесать?
no subject
В реляционных БД система типов конечно, слабее, чем во всяких хаскелях и агдах, но обладает некоторыми свойствами, которые в обычных языках до сих пор сделать невозможно, без выворачивания мозгов наизнанку.
no subject
- т.е. своей проверки в Вашем коде нет? ни эксепшнов правильных?
no subject
Некоторые проверки, впрочем, в таком случае можно вообще не делать - пользователю будет показано осмысленное сообщение, а действия откатятся.
Ну и клиентских софтин может быть много разных, вплоть до доступа к БД из систем других производителей, лучше пусть БД от особо деструктивных действий охраняет.
no subject
- программер все-таки должен выполнять проверки у себя. то, что это база может - хорошо. - они все это умеют, между прочим..
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
Моя контора например
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
И в таком все стиле..
Для очень мелких вещей и встроенных хранилищ - да, вполне подходит.
no subject
а насчет даты-времени - так вот оно - чего искать-то? http://www.sqlite.org/lang_datefunc.html
no subject
no subject
- одну функцию написать для времени/даты - много ли надо..
(no subject)
no subject
Это писец. офигенный программер :)
Вы походу кроме своего питона ничего освоить не смогли :)
no subject
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
Круче было бы, если бы Вы кроме вижуал бейсика ничего не видели..
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
А FB весьма неплохо развививается, не требует никаких дописываний лично мной и покрывает все мои задачи.
Зачем мне скакать с сервера на сервер следуя текущей моде если есть нормальное решение, не хуже других и ничего уже переделывать ради просто переделывания - не надо?