metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-03-03 11:51 am

Вы конечно, меня извините,

но PostgreSQL с первого взгляда выглядит более правильной СУБД чем Firebird.

1) Логи, много понятных логов. Небо и земля, по сравнению с ничего не значащим бредом, которым firebird.log заполнен чуть более чем полностью. Т.е. там даже нет возможности включить что нибудь вроде "протоколирование доступа к базе", не говоря уже о запросах, итд.

2) Читабельный вывод консольных утилит. Posix-командная строка этих самых утилит. Вменяемые параметры их же.

3) Несколько вариантов аутентификации, управление аутентификацией c детализацией по адресам-маскам, именам базы, юзеров

4) доступ через ssl.

5) И наконец, ключевой аспект: документация. 2100 страниц нормальной понятной хорошо структурированной документации, доступной в виде PDF с официального сайта. В отличие от, блядь, документации по Interbase 6 на которую до сих пор ссылаются на сайте FB и потока сознания разработчиков в виде quick start quide и release notes.

[identity profile] osdm.livejournal.com 2010-03-04 04:06 pm (UTC)(link)
Справедливости ради надо заметить, что процедура инсталляции у всех СУБД сейчас приблизительно одинаковая

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

А там где скорость не нужна можно всё просто в XML положить или в sqlite.

XML - сразу видно большого специалиста. Скорость важна = миллионы и десятки миллионов записей. Скорость не важна - сотня тысяч записей и меньше. XML - это файлы конфигурации. Sqllite - не многопользовательская СУБД и не поддерживает вложенных SQL.

[identity profile] restoran.livejournal.com 2010-03-04 04:12 pm (UTC)(link)
спрошу, но результат не гарантирую.

[identity profile] enternet.livejournal.com 2010-03-04 04:21 pm (UTC)(link)
А я и не рассказываю сказок. У оракла сейчас реально простой инсталлятор, можно отдать любому дауну - даун установит. Для MSSQL всегда можно было делать кастомные инсталляторы. Я делал. Но не с целью упростить, он там и так простой как валенок, а с целью развернуть ещё кое-какие свои пакеты сразу с инсталляцией сервера.

А про XML и Sqllite прошу прощения - совсем забыл что нужна многопользовательность.

[identity profile] interbase.livejournal.com 2010-03-04 04:26 pm (UTC)(link)
что значит "кривоподелка"? Это такая же "кривоподелка", как минимум как MySQL и PostgreSQL.

>стандартам уже лет 25.
23. а InterBase-у 25 лет. про это я уже говорил.

>вот выяснилось что оно в логи ничего не пишет ещё - где ЭТО можно использовать?
в какие логи и что не пишет? Кто выяснял? Или опять кто-то п...ул, а Вы повторяете?

>по отзывам работавших с этим - постоянная чорная магия и
>прочие вуду при попытках сделать что то чуть более сложная чем одна-табличка-с-двумя-полями.
откровенный пиздеж, или упомянутые "работавшие" - дауны. С IB/FB очень просто начать работать, продолжать работать и сделать нормальную промышленную систему. Книжку Грабера можно использовать как учебник по SQL с IB/FB без проблем. И т.д. С Ораклом или MS SQL начать работать куда сложнее.

>а мы и не заметили, сейчас поправим и будут
>все-все логи` так начали хуесосить и писать отмазки.
ты приди с аналогичной херней в любой другой сервер, и тебе то же самое ответят.
переделывать интерфейс командной строки - ради кого и чего? Это что, блядь, производительность сервера повысит? Или поможет идиотам-админам, которые командной строки как таковой не знают? Или у всех серверов бэкап одинаковой командой делается?

Блин, вылезут из болота, и начнут нести херню. А еще "не тролль".

>а где же плюсы? так нет их, плюсов то. или я их не вижу
Тебе зачем? Тебе же неинтересно. Если бы было интересно, давно бы прочитал Release Notes по 2.5, и заткнулся.

[identity profile] metaclass.livejournal.com 2010-03-04 05:05 pm (UTC)(link)
Кстати, насчет начала работы - FB в этом отношении проще. Уж не знаю почему, но он оказался понятнее 5 лет назад, чем оракл и postgres в плане "поставить, сделать базу, начать пилить софт".
Черной магии там не сильно много, на самом деле.

[identity profile] metaclass.livejournal.com 2010-03-04 05:10 pm (UTC)(link)
А, с зависимостями это мрак, да. Сложновато переделывать бывает.

А вот эксклюзивного доступа вроде и в FB не требуется - главное чтобы объект изменяемый сейчас не трогал никто.

[identity profile] theiced.livejournal.com 2010-03-04 05:11 pm (UTC)(link)
>что значит "кривоподелка"? Это такая же "кривоподелка", как минимум как MySQL и PostgreSQL.

мусикль он тоже непонятно зачем нужен если есть сиклайт и постгре.

>23. а InterBase-у 25 лет. про это я уже говорил.

ну и что? это скорее показатель того что это кривоподелка отстала на 23 года.

>в какие логи и что не пишет? Кто выяснял? Или опять кто-то п...ул, а Вы повторяете?

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

>откровенный пиздеж, или упомянутые "работавшие" - дауны. С IB/FB очень просто начать работать, продолжать работать и сделать нормальную промышленную систему. Книжку Грабера можно использовать как учебник по SQL с IB/FB без проблем. И т.д. С Ораклом или MS SQL начать работать куда сложнее.

делать промышленную систему на основе субд котороя может не всосать только что сделанный ей же дамп... это извините идиотизм. вакуум в процессе селекта это тоже... спорное немного решение. про уёбищный мссикль я даже говорить не хочу, хуже него нет наверное ничего (работал - хоть по месяцу-два - но почти со всеми более-менее популярными субд, включая интербэйз, исключая файрбёрд по причине того что до этого видел интербэйз ;]).

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

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

>переделывать интерфейс командной строки - ради кого и чего? Это что, блядь, производительность сервера повысит? Или поможет идиотам-админам, которые командной строки как таковой не знают? Или у всех серверов бэкап одинаковой командой делается?

ебаааать. вы не понимаете или издеваетесь? ойти - это сложная область. знать надо неебические объёмы всего. и изучение ещё отдельного формата ключиков для отдельной поделки бесит неимоверно. есть стандарты. их для того и придумали. точка.

>Блин, вылезут из болота, и начнут нести херню. А еще "не тролль".

кто не тролль? я известный, потомственный тролль. только вот в данном случае мне очень интересен вопрос - зачем. до уровня постгре оно не доползёт ни в какой перспективе. если вы не осилили за 10 (!) лет написать документацию хоть какую (а нету её - нееетуууу - и на вопрос `где доки` вы предпочли не отвечать, ибо ответить нечего) то шансов вообще нет. пионерская поделка, пилимая пионерами для пионеров. ничего личного. софт встречают по докам, всё такое.

>Тебе зачем? Тебе же неинтересно. Если бы было интересно, давно бы прочитал Release Notes по 2.5, и заткнулся.

прочитал, ещё до того как спрашивал прочитал. не нашёл там ничего интересного. то есть если бы даже не было пиздеца с доками, велись нормальные логи, не было бы разговоров о нерабочих дампах - то и тогда непонятно зачем её использовать если есть superior (как это по русски будет?) альтернативы. постгре тот же.

[identity profile] restoran.livejournal.com 2010-03-04 06:30 pm (UTC)(link)
>мусикль он тоже непонятно зачем нужен если есть сиклайт и постгре.
в таком случае и Оракл непонятно зачем нужен.

>я не имею основания не верить господину метаклассу ибо за всё время нашего с ним >плодотворного общения он не был замечен в намеренном или ненамеренном искажении >фактов.
он тоже пытается ступить на тропу "слышал, и считаю".
firebird.log всю жизнь был предназначен для вывода сообщений об ошибках. Как и обычный лог. Аудита не было вплоть до 2.5. Аудит пишется в другой лог. И его можно получать и не в лог, а в приложение. Кроме аудита есть системные таблицы мониторинга. Поэтому высказывания типа
"а, звездец, нет лога!"
выглядят весьма странно.

>делать промышленную систему на основе субд котороя может не всосать только что >сделанный ей же дамп... это извините идиотизм
идиотизм - это считать что любая СУБД может восстановить базу из поврежденного дампа, и надеяться на это. Кстати, вещи, которые без повреждений приводят к невосстановимому бэкапу IB/FB - это действия разработчиков, которые пользуются фичами, которых нет в других СУБД. Или - результат явного повреждения базы.
Кстати, с момента, когда писалась моя статья db_repair.htm, на которую я сам же и сослался, в FB много изменений, которые снижают вероятность получения невосстановимого бэкапа.

Так что и тут, "ах, какой караул!", может говорить только человек, который ни разу не администрировал промышленные системы.

> в итоге лично для меня (!!!) сделали патчик (ну костыль, но он работал)
здесь то же самое. Вчера человек взял и сделал себе полный вывод в лог (!) протокола коннектов-дисконнектов. Надо было ему отловить один комп.
Основные разработчики сервера заняты основной же работой над сервером.
Понятно, что добавить некоторые вещи это как "два пальца", но OpenSource тоже не означает "мы тут только что поправили - жрите". Есть же тесты, и прочее.
И в отличие от PG, обычные разработчики Firebird не компилируют.

> есть стандарты. их для того и придумали. точка.
да на что стандарты-то? на утилиту бэкапа? на функции бэкапа?
Или спец по командной строке не осилил gbak? Ему не открылся хелп, он не смог прочитать доку, и так и умер от досады?
Людям, использующим FB, это пофиг, а Вам почему-то до этого есть дело, как будто прямо мир переворачивается. Кстати, я почитал
http://ru.wikipedia.org/wiki/Интерфейс_командной_строки
и не понял, с чего такой вой.

>её использовать если есть superior (как это по русски будет?)
>альтернативы. постгре тот же.
Постгре ваш по распространенности до FB не дотягивает, и не дотянет, не ждите.
Я бы тоже мог повыражаться и про инсталлятор, и про жуткий процедурный язык, и про косяки в документации, и т.д. Но я не лезу. Потому что это мне не надо.
Вы вот в FB не спец? Ну и чего тогда Пастернака-то осуждать?

[identity profile] theiced.livejournal.com 2010-03-04 07:02 pm (UTC)(link)
>в таком случае и Оракл непонятно зачем нужен.

у оракля есть свои применения. другое дело что в 99% случаев (где он применён) он там вхуй не впился.

>он тоже пытается ступить на тропу "слышал, и считаю".

ну он какбэ эту поделку пользует уже долго, видимо в курсе. ребе, ваши комменты.

>Кстати, вещи, которые без повреждений приводят к невосстановимому бэкапу IB/FB - это действия разработчиков, которые пользуются фичами, которых нет в других СУБД

Какими? И почему база _ПОЗВОЛЯЕТ_ так наебнуть себя что бы получился невосстановимый дамп? Клёво. Вы только все такие фичи вынесите в отдельный список `не используйте, мы криворукие и это ещё нормально не написали`.

>в FB много изменений, которые снижают вероятность получения невосстановимого бэкапа.

я уже неоднократно видел крики по этому поводу. насколько я понял ситуация простая - работает база, делаем бэкап, он рапортует о полном и окончательном успехе процесса бэкапа, делает импорт этого бэкапа, получаем пиздец. так или не так?

>здесь то же самое. Вчера человек взял и сделал себе полный вывод в лог (!) протокола коннектов-дисконнектов. Надо было ему отловить один комп.
Основные разработчики сервера заняты основной же работой над сервером.
Понятно, что добавить некоторые вещи это как "два пальца", но OpenSource тоже не означает "мы тут только что поправили - жрите". Есть же тесты, и прочее.

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

>И в отличие от PG, обычные разработчики Firebird не компилируют.

извините не понял. разработчики субд или разработчики решений на основе субд? и причём тут это? если про лично-патчик-метаклассу-для-клёвых-логов - то он я думаю бы не поленился собрать ;]

>Или спец по командной строке не осилил gbak? Ему не открылся хелп, он не смог прочитать доку, и так и умер от досады?

Итить. Вы не понимаете или издеваетесь?

>Постгре ваш по распространенности до FB не дотягивает, и не дотянет, не ждите.

Трололо? Нет - если брать сираный совок - то да, не дотягивает. Но кому этот совок в плане ойти интересен? Рашка - дыра в который _ничего_ не производится и не изобретается (и не будет никогда). Бульбостан родной - он и маленький слишком и основной процент инноваций - это разные там интеграловские мониторы. В нормальных странах этим не пользуются.

>Я бы тоже мог повыражаться и про инсталлятор, и про жуткий процедурный язык, и про косяки в документации, и т.д. Но я не лезу. Потому что это мне не надо.
Вы вот в FB не спец? Ну и чего тогда Пастернака-то осуждать?

emerge postgresql, всё ок. файрбёрд у меня просто не собрался вот только что, так что убедиться я не могу ни в чём ;]

какие косяки в доках постгре? они _иногда_ отстают на версию, всё. и где таки хоть какие доки по файрбёрду?

[identity profile] metaclass.livejournal.com 2010-03-04 08:14 pm (UTC)(link)
В firebird.log пищется:
1) 10054 - почему-то отвалился клиент от сервака
2) когда базе пришел имманентный пиздец - ассерты внутри кода сервера (хз что такое, но базу после этого нужно чинить и делать бэкап-ресторе)
3) когда исключения во внешних либах.

Никаких INFO,WARN,DEBUG уровней, никаких настраиваемых сообщений нет. Логи плохо приспособлены для парсинга линуксово-текстовыми утилитами - в две строки каждая запись зачем-то.

4) Невосстановимые бэкапы изредка бывают. Не настолько часто, чтобы это сильно парило, с другими серверами сравнить не могу - нет опыта продакшена.

5) Ключевой аспект: из убитого бэкапа вытащить НИХУЯ нельзя, если не пользоваться вуду-утилитами, которые, вроде бы, как раз и продает твой оппонент. Бэкап - бинарник, безумный и беспощадный. есть, к примеру, 90% живой бэкап, убился на левой таблице - но можно его в жопу поцеловать, ничего не сделаешь.

[identity profile] metaclass.livejournal.com 2010-03-04 08:51 pm (UTC)(link)
Во, кстати, вспомнил еще один фетишистский вопрос, который среди сторонников FB нельзя поднимать ни в коем случае: работа на SMP системах, использование нескольких ядер и разделение сервера на две архитектуры - классик и супер, т.е. "процесс на коннект" и "поток на коннект". Сейчас правда еще одна появилась - суперклассик, с какими-то вариациями на обе темы.
До сих пор при инсталляции сервера выбирается, какой ставить - классик или супер, каждый со своими заморочками.
По последнему пункту меня как-то травил пульсар, я тридцать минут пытался с него добиться, чем ему это не нравится, но он так и не объяснил.

[identity profile] osdm.livejournal.com 2010-03-04 09:41 pm (UTC)(link)
В теории, наверное, не требуется, но на практике почему-то приходится всех с базы выгонять. Где у кого какой объект затронут - установить не удается. Может быть, конечно, где-то в нашей софтине проблема, но с ораклом при аналогичной схеме использования проблем нет.

[identity profile] theiced.livejournal.com 2010-03-04 09:55 pm (UTC)(link)
аааа. вот оно в чём дело. они рекламируют мощь и силу этой поделки, люди её ставят... а потом они продают платные утилиты для починки дампов. продают, я надеюсь, за смски на 4242?

[identity profile] restoran.livejournal.com 2010-03-05 07:18 am (UTC)(link)
примерно то же самое по смыслу, что и shared cache/dedicated cache в Оракле. Только dedicated для каждого коннекта.
С этим вопросом ничего страшного нет. Борланд, который сделал SuperServer в 95 году, написал его так, что по процессорам он не распараллеливался. Т.е. threads и все такое, но io шло в одну дырку.
Но одновременно был и Классик, исторический. Напомню, что в это время unix/linux были не очень совместимы по pthreads (как я понимаю), так что универсальный суперсервер для всех платформ написать было нельзя. Потом наступил 2000 год. И поехало.
Borland убрал Классик, и сделал себе один SuperSever, но распараллеливаемый по процам-ядрам (IB 7.0 и выше). Но кол-во операционок пришлось сократить. Win/Lin/Mac.
Firebird сосредоточился на оптимизации, sql и прочем, оставив две архитектуры.
В 2.5 появилась промежуточная архитектура - superclassic, а в 3.0 предполагается сделать распараллеливаемый супер, а от классика то-ли избавиться, то ли сделать его с shared cache.

Собственно, и весь сказ. Ничего фетишистского или страшного и ужасного не вижу. Если некоторые думают, что переделать ядро РСУБД это трах-бах-и-все, то они слишком наивны.

[identity profile] restoran.livejournal.com 2010-03-05 07:19 am (UTC)(link)
успокойся, я уже и не упомню, когда последний раз видел у людей "невосстановимый бэкап".

[identity profile] metaclass.livejournal.com 2010-03-05 08:30 am (UTC)(link)
А что происходит если не выгнать?
Я помню несколько вариантов:
1) в какой-то версии просто не давало менять занятые SP и ругалось сообщением. Сейчас просто пишет в лог.
2) сейчас если менять объект, прямо сейчас используемый в незавершенной транзакции - вроде тоже ругается
3) на классике не сразу обновляется кэш метаданных, во всяком случае, другие процессы сразу изменения не видят (давно не перепроверял, может уже и исправили).

Вообще ключевой аспект, что достаточно делать транзакции короткими и всегда закрывать их (commit или rollback) - тогда никаких проблем нет.

[identity profile] metaclass.livejournal.com 2010-03-05 08:36 am (UTC)(link)
Не, я то знаю, что ничего страшного нет, оно у меня и так и так работает.
Но почему от этого нервничают линуксоиды - непонятно. Впрочем, там человек всегда был немного двинут на почве наездов на то, что ему не нравилось.

[identity profile] a-sure.livejournal.com 2010-03-05 09:14 am (UTC)(link)
3. а кто не? Вчера СВО решил, что nested loop это негламурно, и решил, что cartesian join over TEMP будет крчЕе. Ага, запрос отожрал 80Гиг темпа, темп кончился.
Металинк сказал - "ага, знаем-знаем! в 9.2.0.5 патчили (я помню), потом в 9.2.0.6, но в 10.2.0.3 еще раз надо патчить. Ну, есть еще _параметр=врешь"...

Оно обычно либо до бениной мамы всяких ручек(ОРАКЛ), либо "коробка-автомат". промежуточные варианты почему-то не приживаются.

Девелоперы тоже отжигают - запросы в аксапте "сочинялись" из кусков. Вариантов хинтов было аж два - либо first row, либо all rows. Устанавливалось глобально.

[identity profile] a-sure.livejournal.com 2010-03-05 09:36 am (UTC)(link)
да-да...
Хотябы просто отдать в опенсорс!

[identity profile] a-sure.livejournal.com 2010-03-05 09:49 am (UTC)(link)
поправка - shared server (MTS) vs dedicated server (не cache!). И выделенный - он таки выделенный.

А почему нервничают - могу предположить:
1) история развития threads в линухе сама по себе криволинейна
2) kill PID, на крайняк kill -9 PID vs прибить конкретный поток через посылку сообщения кому-то
3) ограничения ОЗУ на процесс в 32битной ОС (Оракл под вендой - классический пример)

[identity profile] permea-kra.livejournal.com 2010-03-05 09:16 pm (UTC)(link)
По каким статьям, ежли поддаётся разрыванию?

[identity profile] permea-kra.livejournal.com 2010-03-05 09:19 pm (UTC)(link)
Пасибо

[identity profile] golosptic.livejournal.com 2010-03-06 02:20 am (UTC)(link)
Нет, про вторичность не замнем. Оракл был раньше.
Вне зависимости от.
Аппелировать ко вторичности на таких временнЫх промежутках - смешно чуть менее, чем полностью.
Разница между 76 и 81ыми годами прошлого века в 2010 не может быть серьёзным аргументом в спорах о технологиях.

[identity profile] alexshubert.livejournal.com 2010-03-07 09:36 pm (UTC)(link)
В среднем, мне везет видеть такое, примерно, раз в месяц. Удивитльно, но именно поэтому мы переезжаем на постгре. Поддерживать Фб, благодаря шаманским логам, невозможно. Найти вменяемую документацию невозможно.
Не особо приятно, когда из битой базы восстанавливается нормальная БД (ну.... проходящая чек) и нельзя даже примерно узнать, с какими сложностями столкнулся двиджок в процессе упорядочивания попорченной БД и сворачивания ее в бэкап.

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

Где документация, наконец? Где внятные примеры? Почему вместо того, чтобы найти в релизспеках ответ, как именно решить задачу, там можно найти только указание, где именно надо проводить опыты, чтобы, наверное, суметь решить задачу? Почему 2.1 стянутый у авторов содержит короткие текстовые файлы с описание нового функционала, а уже следующий билд 2.1 - нет?
Я протрахался с Фб последние 5 лет, продвинул его в нескольких серьезных (от 5к пользователей) проектах. Все, текущая версия - последняя. Постгре/мсскл/хуй резиновый/что угодно, только не ФБ.

Версионником он был первым в мире? 2010 год на дворе, кому не наплевать, чем именно первым он был 23 года назад? Почему это должно оправдывать дебильный формат командной строки утилит? Пустые логи с ебанистическими сообщениями об ошибках? Враждебное отношение авторов? На них малиновые штаны, они написали ФБ? Все должны делать 3 раза ку? А за что? За откровенно старенький и седенький, без вменяемых док, движок?

Невозможность оперировать битым бэкапом - это плюс? Необходимость образаться строго в 1 единственную компанию, ремонтирующую БД - это плюс ?Отсутствие утилит для самостоятельного исправления битых баз/бэкапов - плюс? отсутсвие полного описания формата бэкапа - плюс? Если да, то дайте другой глобус. Этот какой-то битый.

РАспространенный где, простите? Вы любите приводить этот довод в любой дискуссии " фб - во всем мире и другим субд крайне далеко до него. Будьте добры, точные цифры в студию. Я глубоко уважаю вас, как личность, но подозреваю, что вы были введены в заблуждение товарищами. Цифры и процентные отношения в студию, будьте добры.

Page 5 of 6