Pull to refresh

Comments 28

Кто-то до сих пор использует это гумно?
О боже!

Ну как сказать, кто — вот Вы, после бессонной ночи отладки Ангуляра, идете во Вкусвилл, а там Firebird внутри POS Frontol-а — отвратительно! Заказчик прислал бабки за вебсайт, идете смотреть курс бакса на Мосбирже, а там тоже Firebird — ужас-ужас! Приставы списали деньги за неоплаченный штраф — и там ведь Firebird, зараза (а до того — и в компьютере у мирового судьи). От таких переживаний плохеет, идете в аптеку купить витаминов — а там тройной удар — производитель витаминов Фармстандрт, аптечные дистрибуторы и сама аптека тоже имеет POS на Firebird! В частные больницы лучше не соваться, это уже понятно из статьи, в государственных да — MSSQL, госуслуги, можно попробовать. В общем, от всего этого Вы расстраиваетесь, решаете покинуть #этустрану, берете билет на Аэроэскпресс — ааа! Опять жар-птица! Добравшись до аэропорта, садитесь в лайнер Аэрофлота, но и там работает эта клятая СУБД… И наконец, взлетев на Боинге — осознаете, что Боинг то тоже использует Firebird.
А можете написать, почему используют именно Firebird? Стабильность, легкость? Думаю, это будет полезно и для комментария выше, и для остальных.
Спасибо
Могу вам как дилер рассказать тысяча и одну гениальную имплементацию Firebird-а в Rkeeper
А мы сами про rkeeper много чего знаем — нам довольно постоянно присылают БД на починку с «серверов» из ресторанов и кафе, причем часто это такие сервера, которые с 2003 не пылесосились, и «вдруг» сломались. Сложно представить себе любую другую СУБД, которая выжила бы 10-15 лет в подсобке на IDE диске, между посудомойкой и духовкой, без УПСов и ECC RAM. Но почему разработчики rkeeper не могут сделать бат файл из одной строки, который бы бэкапил их БДшки хоть куда нибудь, я понять не могу, но СУБД то тут точно не причем, верно? :)

А вот тут начинается очень интересная политика, на самом деле. Сам кипер делает бэкапы, причём так часто что некоторые клиенты просто офигевают с объёмов бэкапов, а sql уже считается, по крайней мере в глазах дилера, обязанностью клиента. И опять же, не от красивой жизни вся эта чернуха происходит — редкий клиент выделяет больше 2-5% бюджета на айти структуру. Вот и получаются "решения побюджетнее".

А что исподьзуете Вы? Не зависимо от ответа, всегда найдется индивидум, который напишет комментарий в роде вашего: ОМГ, кто использует это…
На всевозможных форумах, посвящёных базам данных, регулярно возникают холивары по поводу выбора СУБД для проекта. И заканчиваются они всегда абсолютно ничем. Потому, что нет однознчного ответа.

Вполне рабочий инструмент. К тому же бесплатный. Для многих клиентов стоимость набора лицензий очень критична. У многих такое количество унаследованного кода, что переход на другую СУБД, при не очевидных для бизнеса преимуществах, не имеет никакого экономического смысла. А речь в статье, как я понимаю, не о новых проектах.
Живи Firebird! :))

А позвольте узнать, что не так с fb? Раз вы так резко высказываетесь, возможно у вас есть список конкретных претензий?
У меня за момент интеграции pos-систем(2года, более 100 новых точек) всего раз приходилось ехать и "поднимать" кассу одной строкой фикса бд.
Может у вас есть более интересный опыт?

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

Тогда от PostgreSQL вы вообще бежите как черт от ладана?


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

1) это не значит, что другие базы сразу в датафайлы не пишут. Пишут. Может не прям сразу, но пишут. Просто fsync делают только на log.
2) зато файербёрду не нужно прокручивать лог на старте в случае чего, не нужно иметь две сущности (датафайлы и лог). Если они смогли сделать так, что rps не сильно страдает, то чем же это плохо?
Конечно rps будет страдать. Но:
a) во многих охвученных применениях база локальна небольшому числу пользователей, а значит rps заведомо небольшой
б) некоторые озвученные применения подразумевают немаленький rps, а огнептах при этом справляется. Странно да?
Лог транзакций не является ценностью сам по себе. Это всего лишь инструмент решения задач. Если ОгнеПтах нашел другой инструмент, то что в этом плохого?

Тогда от PostgreSQL вы вообще бежите как черт от ладана?

да. убер хорошо расписал как все хреново там где нет полноценного undo. собственно enterprisedb — основной вкладчик в постгрес, признает преимущество undo и уже года 3 пилит undo для постгрес

1) это не значит, что другие базы сразу в датафайлы не пишут. Пишут. Может не прям сразу

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

б) некоторые озвученные применения подразумевают немаленький rps, а огнептах при этом справляется. Странно да?

пару лет назад Таблойд с sql.ru гонял тесты с 256 параллельными тредами. ФБ просто вставал колом. он отрепортил с десяток чудовищных проблем и наглядно показал, что такие нагрузки никто на ФБ не практикует

Лог транзакций не является ценностью сам по себе. Это всего лишь инструмент решения задач. Если ОгнеПтах нашел другой инструмент, то что в этом плохого?

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

О, Йо на хабре. Я думал, человек уже перерос флеймы и изжил свои детские комплексы по отношению к ФБ, ан нет, флаг «сравнений субд» снова поднят, и снова та же чушь, что на sql.ru десятком лет раньше.

Это конечно интересно… но что может побудить в 2019 выбрать именно эту бд для нового проекта? Чем она лучше более популярных? Я бы с удовольствием прочитал аргументы, а лучше статью) о том зачем вообще выбирать firebird.

Да, лучше статью написать, раз есть интерес :)
UFO just landed and posted this here
Поддержку. Интересна статья с рассмотрением вопроса о репликации.

Интересная статья, но страдает от распространенного явления — во многих местах говорится, что надо сделать, но не объясняется, почему и зачем.


Число VMA по умолчанию 64K, его необходимо увеличить в 4 раза

Зачем? На что это повлияет применительно к работе этой системы? А если в 2, а не в 4? А если в 8? А если БД не 600 гиг, а 100 или 1200?


Увеличили минимальный зарезервированный размер памяти для специальных процессов ОС

Опять же — а в каких случаях надо увеличивать? А если не увеличивать? А если еще больше увеличить? А от чего зависит, насколько увеличивать (косвенно указан только объем ОЗУ сервера безотносительно сценариев использования — неужели больше ничего не влияет?)


DefaultDbCachePages

Достаточно странный мотив для ограничения — а вдруг у нас там тестовая база… А если у нас все-таки нормальная контролируемая среда и база только боевая — тогда как?


FileSystemCacheThreshold

Тут вообще надо начинать с вопроса "а зачем нам этот файловый кэш на сервере БД нужен и нужен ли вообще, ибо если мы кэшируем сначала в ОС, а затем в кэше самой БД — зачем нам этот оверхед". И не упомянуто, что ежели всё-таки почему-то нужен, размер этого кэша тоже неплохо бы контролировать (при этом забавно, что в, судя по всему, вашей же презентации двухлетней давности про схожую БД тема раскрыта несколько более полно).


TempCacheLimit

Индивидуально для каждой системы — ОК, а как определить-то? Ну вот у кого-то другая структура БД, другие паттерны нагрузок и размеры, и что ему толку от ваших "20ГБ"?


LockMemSize и LockHashSlots

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

Запрошенные комментарии тянут на пару глав в книге :) Статья и так довольно объемная получилась — и, как Вы сами правильно заметили, мы вопрос тюнинга на семинарах и конференциях Firebird постоянно освещаем. Коротко — VMA надо увеличить из фрагментации памяти, число потребляемых VMA легко мониторится, до 2000 юзеров 250К достаточно (не надо рассказывать как VMA мониторить? :) Ограничить дефолтный DefaultDBCachePages — это полезная соломка из нашей практики. Файловый кэш всякой линуксовой СУБД нужен — если это не MSSQL, конечно :) TempCacheLimit — определить очень легко, используя HQbird с параметром TempSpaceLogThreshold (TempCacheThreshold). По лок таблице теория на отдельную статью тянет, причем довольно бесполезную статью, т.к. рекомендация точно такая же будет.
Для БД настроена репликация на резервный сервер (вопрос о репликации вне рамок этой статьи).

Было бы интересно почитать как это делается для Firebird
Я б не стал хвалить то что создал редсфот, их проклинают каждый день все работники фссп за это тормознутое убожество с которым им приходится каждый день работать… Каждый день задумываюсь почему не выбрать для столь нагруженных сервисов что-то более производительное…
То есть база на 3ТБ таки тормозит? Информация 146%?
База на 3Тб это от системы межведомственного взаимодействия, она на госуслугах работает и ее производительность строго мониторится. Нет, она не тормозит. А человек в комментарии, как я понимаю, говорит о локальной БД приставов, на которой, как я понял из личной переписки, запускаются произвольные запросы и кастомные отчеты.
1) Предложил однажды заказчику переехать с windows сервера на Linux на сервере под инфоклинику, на что получил гениальный по своей сути отказ. Нет, нельзя, сдс-овцы не умеют пользоваться линукЦом. Мой вопрос, что они должны делать на сервере, кроме одной команды systemctl restart firebird, ответа не получил. Остаёмся на винде.
2) После переезда на 3 версию фаерберда в режим superserver, появилась странная особенность: если одновременно от сервера отваливается примерно 15-20 клиентов, например из-за обрыва связи, то firebird иногда почему-то перестаёт принимать новые подключения. Штатно как сервис перезапуститься не может, приходится убивать сам процесс.
3) сама инфоклиника, на мой взгляд какой-то чемодан без ручки.
— Ребят, а вы можете собрать sql-запрос, чтобы сосчитать количество оказанных услуг?
— Нет не можем, если услуги по профосмотрам, то они в одной таблице, а если платные, то в другой.
— Это как так?
— ну вот так…
— А вы можете посчитать себестоимость услуги по расходным материалам?
— ну если каждая услуга будет в отдельном приеме, то да. А если несколько услуг в одном, то будет непонятно, что к чему относится. И такая же фигня с оплатой, нельзя в одном приеме оплатить одну услугу полностью, а вторую полностью оставить в долг, только разделять на два приема…
— Ребят, а вы можете в таблицу добавить новый столбец, и вносить туда данные?
— нет, не можем.
— как так-то?
— ну там или столбец пропадёт после обновления, и в интерфейсе программы он все равно не появится.
— а если заказчику захочется учитывать какой-то новый параметр пациента или врача для лечения, ну например, совместимость врача и пациента по знаку зодиака, (реальный случай, кстати) то что делать?
— ну это будет скорее всего платная доработка со стороны СДС.
— шта?
— ну да, так и живем…
И тут выходит статья на хабре про инсталляцию инфоклиники на 1,5к пользователей. Даже и не знаю, как реагировать, пожалеть людей или порадоваться за них.
Добрый день. Не знаю, что у Вас за заказчики, но 90% больших инсталляций Инфоклиники на Linux. Что касается вопросов с SuperServer 3 — добро пожаловать к нам в техподдержку, тут разбираться надо, а телепатический локатор плохо работает. По п3 — это лучше к самим СДСовсцам, но я соглашусь с ними, что лезть в схему, которая будет обновляться в рамках техподдержки приложения вендором, нелогично. Это же не инхаус разработка, вы даже правами на структуру БД не владеете.
Но я соглашусь с ними, что лезть в схему, которая будет обновляться в рамках техподдержки приложения вендором, нелогично.

В таком случае, уровень этой разработки, как вы говорите «инхаус», а не для крупной ЛПУ, которой нужна уже полноценная ERP-система, в которой нужно добавлять произвольные справочники и классификаторы, в том числе цветов глаз и знаков зодиака, как бы это парадоксально не звучало.
Насколько я понимаю, там можно добавить произвольный справочник, и вообще все что угодно, просто за это хотят денег :) Т.е. Вы хотите на бизнес-модель СДС пожаловаться? Ну это точно не со мной надо обсуждать
Нет, я хочу пожаловаться на инфоклинику, не знаю только где :)
Я долго сопровождал одну широко известную в узких кругах синюю программу, и думал что все плохо. Но снизу постучали.
Sign up to leave a comment.

Articles