Аз, така собствено, съм работил с Firebird, MySQL, MS SQL и Оракула в бизнес приложения.
MS SQL и Oracle са големи СУБД-та, друг клас, така че техните предимства и недостатъци предлагам да флеймим в друг топик. Така че ще коментирам само Firebird i MySQL.
Много хора мрязят историята като предмет (и аз съм сред тях), но съм се убедил, че конкретно в софтуерния бизнес, продуктите много трудно променят същността си. Дори след n на брой версии ДНК-то си остава същото, сменят се само дрехите. Ярък пример: Windows - заченат като инфантилна графична обвивка на ДОС, сега пак си е боза (само че по-шарена). Но да не се отклонявам от темата.
MySQL от самото си създаване е било някакво жалко подобие на СУБД. Невероятни фийчъри като тригери, бяха въведени наскоро. Когато света беше обявил релационните бази данни като морално остарели и на пазара вече имаше обектно-ориентирани и обектно-релационни бази данни, MySQL се радваха, че са имплементирали вложен SELECT. Пълна смешка.
Да каже човек: безплатна, ще я използваме за учебни цели. Ами тя като не имплементира основи части от SQL стандарта, на какво може да се научи човек?
Много хора я защитават: бърза е! Ами как няма да е бърза, като кара през просото! Доколкото си спомням, до версия 3 (забележете 3, а не 0.5 бета) не поддържаше референциална цялост (външни ключове).
Отдавна съм определил MySQL като посредствена СУБД и съм вдигнал ръце от нея. Може в последните версии да са добавили някой и друг фиичър, за радост на малките деца, които си играят с нея.
Популярна е! Факт. Ама що стана популярна? Не, не щото е супер добра, ами щото е безплатна и PR-ите я нахакаха във всички линукс дистрибуции.
Факт е че се работи лесно с нея и админските инструменти са добри. В тоя смисъл е идеална за малки и непретенциозни (по-скоро домашни проектчета), където няма сложни заявки.
Firebird. Самия факт, че е наследника на Interbase, (доскоро комерсиален) продукт на Борланд, говори сам за себе си. Борланд е синоним на "Правено с акъл от кадърни хора". Firebird е лек, компактен, яде доста малко рамец. Работи стабилно в многопотребителска среда. Няма нужда да обяснявам, че още от създаването си поддържа изцяло SQL стандарта. Справя се без проблеми с гигабайтови таблици (не мога да кажа същото за MySQL, който "клекна" много лошо, когато една табличка прехвърли 100 000 записа). Една от особеностите, която не съм видял да се поддържа така удобно от никоя друга СУБД, е database events - клиентската програма получава съобщение от базата, когато настъпи дадено събитие (например се изтрие ред от дадена таблица). Това е незаменим механизъм за синхронизация между приложението и базата данни, особено когато базата се използва в многопотребителски режим - няколко приложения се вързват едновременно към базата и мажат вътре. Е да, това е използване в бизнес среда, не е като за домашния web-сайт ;) Наскоро намерих, че и Oracle имат подобна технология, OO4O, ама са някви OLE глупости, мъка мъка!
Спец за Firebird има безплатни админ програми, които са доста по-добри от много свои комерсиални аналози, визирам Interbase Expert.
Общо взето, не виждам никаква причина някой да използва MySQL, при условие че има Firebird, освен ако не е фанатик и не желае да си отвори очите за по-добрата технология.
Е, в крайна сметка винаги работата опира до срокове, а тогава се прибягва до най-добрата база е тази, "която аз знам" или "която знае колегата/бат Пешо от горния етаж". И така се получава порочен кръг. Или шефа казва "ще използваме базата Х".
Не че мразя MySQL, просто съм се убедил, че не може да стъпи на малкия пръст на Firebird по функционалност.
Ако си хадкор MySQL юзър и си се засегнал от моите думи, не си пилей енегията да ме опровергаваш и да ми доказваш колко е велик MySQL. И тя си има достойнства. Работи ли? - Работи! Лошо няма, лесно се използва, особено с РНР. Вместо това използвай въпросната си енергия да поразучиш кво е туй животно Firebird, пък може и да си направиш някое примерно проектче с нея.
Винаги, когато човек използва нещо ново му е трудно, особено като знае как еди кое си се прави много лесно на мойто другото. И все пак - дерзайте. Поне ще можете тогава да кажете какво му е кривото на Firebird (според вас)
С Postgre не съм работил, ама долколкото знам е доста стара и доста читава СУБД. Респект.