Ну.... пора что-нибудь серьезное ляпнуть. Русским тут и не пахнет. Этакий пиэльэскуэльизм... Итакивот.... ;)
Волею судеб занимаюсь разработкой всякой фигни с участием СУБД (Систем Управления Базами Данных) уже на протяжении 6 лет. Из них - 3 года - очень плотно. И сложилось именно так, что в поле моего зрения постоянно попадали 4 продукта - Microsoft SQL Server, Oracle, PostreSQL и MySQL. И н то, что бы на всех и всегда, но, зачастую приходилось делать не легкий выбор между ними.
И все было понятно - MySQL (далее "мускуль") - решение дешевое и, хоть и безглючное, но - кастрированное. PostgreSQL (далее "постгрис") - достаточно хорошо реализованное шустрое решение из безплатных, с хорошо развитым и реализованным PL\*SQL языком, но жутко тормозящее на более или менее крупных объемах данных и постоянно вылетающее из-за изменений погоды на марсе... Oracle (далее "оракл")- дорогое, тяжелое решение, с великолепным PL\*SQL языком, кучей фенечек и Микрософт, который и так все зовут мсскуль, который собрал в себя весь негатив всех вышеописанных продуктов, но при этом, очень любимый многими заказчиками и разработчиками. Да и бог с ними...
Так было 3 года назад. И вот, совсем недавно, взяв в руки все четыре продукта я уперся во все тот же выбор. И вот, результаты этого выбора.
Оракл - я тебя люблю. Люблю за все твои приимущества. За твою надежность. За твою красоту и адекватность. За то, что ты - как любящая женщина - прощаешь те ошибки, за которые другие бы убили, а некоторые оплошности воспринимаешь как нож в сердце. Но! Как и любая шикарная женщина - требуешь ресурсов. Отпадает. Покупать двухпроцессорный сервант ради тебя не будут.
Микрософт. Нафиг. Не хочу. И не потому, что нестабильно - это спорный вопрос. Слишком тежеловесен. Чуть легче оракла. И так тормозить при работе с данными. Непонятные капризы... Тфу....
Постгрис. Моя детская привязанность. Еще надежнее, но вываливаться раз в 2 дня с глобальным завешиванием компьютера - это не наш метод. И пусть у меня кривые руки. И пусть у меня зубы не все.... Нет.
И мускуль.... 4.1... Дааааа.... наворотили. Мало того, что упростили стандарты, убрав JOIN, IN и прочих тяжеловесов (точнее сделали более понятные и удобные заменители, оставив стариков для совместимости), так еще и заявили, что в 5.0 Альфа реализовали Хранивые процедуры.
Качаем Альфу. Строим. Ставим. Запускаем. Что имеем? А имеем отличную портацию любимого ораклового pl\sql без проблем. И это Альфа?... Да...
Теперь сравниваем: P-III/512/IDE Win2003.
10000 записей, 5 таблиц: Лидер мускуль, потом пострис, потом оракла с мс делят задние места.
60000 записей, 5 таблиц: ситуация не изменилась, лишь мускуль подвинулся к пострису
100000 записей, 5 таблиц: мускуль, оракл, мс и постгрис вместе
500000 записей, 5 таблиц: оракл и мускуль одинаково, мс тупит безбожно на сложных запросах, постгрис вообще вылетает...
819300 записей, 51 таблица, из которых 10 таблиц с 40 полями и более, операции идут с хранимыми процедурами, оптимизация и предобработка. И что? Оракл и Мускуль отдают разницу в 1 микросекунду. Микрософт вылетает с претензиями к оперативной памяти.
Увеличиваем в 3 раза количество записей, пытаемся отослать 30 запросов.
Оракл - разогревая соп.. винты выдает 4.31 секунды и Мускуль 4.37 секунды...
Вот сел я в сторонке и подумал. Оракл стоит денег, Мускуль условнобесплатный.... вот и интересно мне стало - если у меня Альфа Мускля не вылетела....
Сижу вот, пью пиво и думаю... О жизни...