|
|
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
Не хотел никогда выступать провокатором святых войн, но никуда не деться :) Так случилось, что нашей конторе навязывают договор на разработку приложения работающего в связке с MSDE (мы гос учреждение и нам навязать что-то можно). Сами тоже ведем некоторые свои проекты, но все время в связке с Firebird или Oracle, и как следствие большого желания разводить зоопарк субд нет. Хочется услышать технические моменты, а именно достоинства и недостатки одной субд перед другой. Возможно кто-то видел результаты тестирования и готов поделиться ссылками. Знаем, об ограничениях MSDE на размер базы, на количество одновременно выполняемых запросов, но одно дело читать об этих ограничениях, а другое дело видеть результаты работы на реальных данных. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 11:07 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
авторТак случилось, что нашей конторе навязывают договор на разработку приложения работающего в связке с MSDE (мы гос учреждение и нам навязать что-то можно). И, наверное, тот, кто навязывает, как то аргументирует навязываемый продукт? авторХочется услышать технические моменты, а именно достоинства и недостатки одной субд перед другой. Достоинства и недостатки лучше сравнивать в контексте существующих потребностей, о которых Вы умолчали. В противном случаи это будет очередной сферический конь в вакууме. авторЗнаем, об ограничениях MSDE на размер базы, на количество одновременно выполняемых запросов, но одно дело читать об этих ограничениях, а другое дело видеть результаты работы на реальных данных. Ограничения на размер одной бд (4 гига для SQL Server Express) "реальными данными" никак не обойти, а искуственное подтормаживание при превышении определенного числа сессий в SQL Server Express убрали. Так что будет лучше, если Вы все-таки опишите свои потребности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 11:42 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
В кратце могу перечислить с чем ты столкнёшься как разработчик FB (про оракл не знаю): Отрицательное: 1) Ближайшее нечто похожее на IBExpert - это EMS. Жалкое зрелище. 2) Отсутствие триггеров FOR EACH ROW, триггеров BEFORE 3) Фактическое отсутствие альтернативы циклу FOR SELECT (курсоры очень тормозят, даже однонаправленные, сама конструкция курсоров очень громоздкая и неудобная) 4) Отсутствие последовательностей/генераторов (после них мне автоинкремент показался каким-то не таким) 5) Если наступишь на баг, то будешь ждать годы. Никто для тебя специально не будет собирать билд с фиксом бага как это запрсто может быть в FB. 6) Убогий язык TSQL 7) Убогий аналог селективных процедур Из положительного: 1) Более стабильный сервер чем FB 2) Хороший оптимизатор 3) Динамические ссылки на курсор 4) Дополнительные типы данных (BIT, SQLVariant) 5) Более быстрый протокол 6) Можно переименовываать таблицы 7) Гетерогенные запросы Из того что я не знаю как оценить: 1) Очень слабо отслеживаются зависимости. Например ты можешь запросто скомпиллировать невыалидную процедуру или поменять объект так что куча других станет невалидными. С одной стороны это упрощает внесение изменений, с другой стороны есть большой риск получить неработающую систему В итоге лично мне с ним было вкрай тяжело работать. Мы поставили перед клиентом устовие: или переходим на FB, или ищи других программистов, потому что продуктивность у нас снизилась, мы постоянно нервнияали, ругались, вспоминали Билла. Он согласился. Другими словами если клиент очень выгодный и другого варианта нету, то можно работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 12:35 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
2 Gold Зачот! Просто супер объективное сравнение, особенно учитывая Ваш опыт общения с MS SQL: Помогите новичку с триггерами GoldВ итоге лично мне с ним было вкрай тяжело работать. Мы поставили перед клиентом устовие: или переходим на FB, или ищи других программистов, потому что продуктивность у нас снизилась, мы постоянно нервнияали, ругались, вспоминали Билла. И виноват, конечно, в снижении продуктивности, конечно, MS SQL, а не то, что Вы не умеете его готовить. Старая песня о главном. ЗЫ. Ничего личного. Просто очередное подтверждение истины: в своем глазу бревна не видим, зато в другом - соринку замечаем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 12:52 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
pkarklinЗачот! Просто супер объективное сравнение Даже Yo.! так бы не смог :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 13:44 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
2 pkarklin У меня после того было опыта общения с ним вплоть до марта этого года. Вполне достаточно чтобы иметь о нём общее представление. По поводу того что я не умею его готовить. Так а я и не отрицаю. По поводу объективности. А что я не так сказал? Я изложил человеку видение с точки зрения того кто таньше работал на FB. В говно я его сильно не сажал, кучу достоинств привёл, которые смог вспомнить. Заключение - моё личное мнение. Мне с ним вкрай тяжело было и неинтересно. Ну что я могу поделать с этим? Наврать что-ли, сказать что мне понравилось? Ну не нравится он мне, злой я на него чего и не скрываю :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 14:05 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
GoldУ меня после того было опыта общения с ним вплоть до марта этого года. Вполне достаточно чтобы иметь о нём общее представление. В моем понимании, сравнивать "технические моменты", как того просил того автор, можно только хорошо зная оба сервера. Общего представления здесь недостаточно. GoldПо поводу объективности. А что я не так сказал? Вы сделали ряд выводов, не приведя ни обоснования, ни сравнительного анализа. Goldочень тормозят, даже однонаправленные, сама конструкция курсоров очень громоздкая и неудобная Согласен, что курсор в MS SQL декларируется более громоздко. На счет "тормознутости". Тормознутость по сравнению с чем Вы имели ввиду? Тестовые сценарии и тайминги можно увидеть? GoldОтсутствие триггеров FOR EACH ROW У MS SQL нет различия в триггерах на одиночную\массовую операцию, но это не означает, что нельзя написать триггер на обработку одной записи. GoldЕсли наступишь на баг, то будешь ждать годы. У Вас был большой опыт отлавливания багов? Каких? Вы их заявляли? Что Вам ответили? GoldУбогий язык TSQL Опять бы хотелось увидеть сравнительныек скрипты, позволившие сделать вывод об убогости. К чему это я. Я думаю, что если мне сейчас дать Firebird и сказать, а ну ка давай теперь вот на нем разрабатывай, то пены у рта у меня будет не меньше. Но я не готов, вот так вот абстрактно сравнивать два сервера, не зная а что же с помощью них будет делатся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 14:20 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
есть такой критерий, как операционная система на сервере. если она не винда то сравнивать дальше не нужно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 14:31 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
2 pkarklin: Я бы мог привести скрипты, но на это время нужно потратить, а в результате это будет бесполезно. Давайте это всё повернём следующим образом: я утвреждаю что имея долгий опыт работы с FB работать c MS SQL будет очень непривычно и местами сложно и хочу предупредить автора топика что в MS SQL всё совсем не так как в FB и наверное в оракле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 14:36 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
не совсем понял зачем msde если у вас уже есть опыт с ораклом, oracle xe такой же бесплатный аналог msde (точнее mssql express). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 14:41 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
GoldЯ бы мог привести скрипты, но на это время нужно потратить, а в результате это будет бесполезно. Если бы это подтвердило Ваши выводы и доказало убогость и тормознутость MS SQL, то это было бы очень даже полезно, особенно в контексте тематики форума. Goldя утвреждаю что имея долгий опыт работы с FB работать c MS SQL будет очень непривычно и местами сложно и хочу предупредить автора топика что в MS SQL всё совсем не так как в FB и наверное в оракле. Здесь с Вами можно только согласится. В такой постановке на месте FB и MS SQL могут выступать любые другие пары СУБД, не являющиеся клонами. Yo.!не совсем понял зачем msde если у вас уже есть опыт с ораклом, oracle xe такой же бесплатный аналог msde (точнее mssql express). И действительно?! Автору стоило бы уточнить, чем обусловлено навязывание именно MSDE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 14:56 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
Так что навязывают? Просто Если для вас разрабатывают ... - то пусть разрабатывают на MSDE , так как если тока для вас переведут на FB - глюков будет немерянно. Если вы должны разрабатывать - убеждайте в FB, так как его знаете лучше -> продукт будет более качественным. Но решает (если продукт под заказ) тот кто платит деньги. Пару фирм знаю с сайтами на MS SQL + php - заставили разработчиков с MySQL слезть.... (хотя имха это глюков добавило) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 15:02 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
pkarklinУ MS SQL нет различия в триггерах на одиночную\массовую операцию, но это не означает, что нельзя написать триггер на обработку одной записи. Не всегда можно получить туже функциональность. Например при update 2-х и более строк в таблице с изменением PK. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 15:32 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
2 pkarklin: Я думаю можно без тестов. Мне надо было написать функцию, которая по древовидной структуре делала довольно сложные вычисления со всякими промежуточными итогами. Это можно представить примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. То есть мне надо было иметь несколько вложенных курсоров. И такая канструкция - это просто смерть для MS SQL С другой стороны в FB я бы написал: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. и эти вложенные FOR SELECT будут летать почти с такой же скоростью как обычный JOIN. Думаю что вы и без примера знаете что в MS SQL такая конструкция умрёт на паре тыщ листьев в дереве. Причём, что интересно, я перепробовал с десяток вариантов параметров у курсоров и FORWARD_ONLY (или как там его, забыл уже названия) показал себя даже несколько хуже чем двунаправленный курсор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 15:53 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
GoldЯ думаю можно без тестов. А вот это вот совершенно напрасно. GoldИ такая канструкция - это просто смерть для MS SQL Сама по себе такая конструкция не является "смертью". Смотреть надо где у Вас реально получаются тормоза. М.б. торомизили именно "довольно сложные вычисления" из-за отстутствия индексов, неоптимальной структуры и т.п. Просто так сделать выводы, глядя только на один каркас невозможно. GoldПричём, что интересно, я перепробовал с десяток вариантов параметров у курсоров Вы забыли самый быстродействующий вариант раскрытия дерева - циклом без курсора. Все это касается 2000 версии. В 2005 появились рекурсивные CTE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 16:01 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
2 pkarklin Да у меня там запросы элементарные типа получить сумму где поле равно занчение ключа. Индексы все были. Собственно на оптимизатор и скорость выполнения запросов никаких проблем. По поводу CTE - знаю такое. По поводу раскрытия дерева циклом без курсора - не знаю. Правда это не решило бы проблему, но всё же интересно как это сделать (дерево представлено ссылкой в таблице на саму себя). Вроде ж CONNECT BY и подобного небыло в MS SQL 2000... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 16:19 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
А, ну через временную таблицу это да, я так тоже делал. При этом я помню у меня алгоритм сильно усложнился и по скорости я хоть и выиграл раза в полтора или два, но это всё равно было слишком медленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 16:38 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
Вообще-то даже в BOL есть пример(hierarchical information), как работать с иерахией. Искать на закладке Index комбинацию "hierarchical information". И есть еще масса способов, как делать тоже самое без всяких курсоров, но, IMHO ,это чересчур сильное оклонение от темы топика. Какой смысл обсуждать решение конкретной задачи на MSSQL, которая оказалась трудной для реализации конкретному же человеку ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 16:48 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
GoldА, ну через временную таблицу это да, я так тоже делал. При этом я помню у меня алгоритм сильно усложнился и по скорости я хоть и выиграл раза в полтора или два, но это всё равно было слишком медленно. А какой размер дерева у Вас был? Если несколько тысяч элементов, то это на таких объёмах должно в любом случае быстро работать Если больше - не могли бы Вы описать для чего нужны были такие деревья? Просто мне не представить такое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 16:50 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
pkarklinАвтору стоило бы уточнить, чем обусловлено навязывание именно MSDE. автор уже уточнил, что контора государственная, дальнейшие вопросы про навязывание спустят топик в полный и бесповоротный флуд, которого и так здесь предостаточно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 16:58 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
VF pkarklinАвтору стоило бы уточнить, чем обусловлено навязывание именно MSDE. автор уже уточнил, что контора государственная, Государственностью конторы автор обяснил возможность самого навязывания, меня же интересовало, известны ли автору причины навязывания именно MSDE. VFдальнейшие вопросы про навязывание спустят топик в полный и бесповоротный флуд, которого и так здесь предостаточно... Вы можете в нем не принимать участия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 17:01 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
2 SergSuper Да вот в том то и дело что у меня в дереве не несколько тысяч, а несколько сотен элементов было. Процедура считала деньги по ресурсам, привязанным к элементам этого дерева, причём сразу в нескольких разрезах. И торомоза тут именно в курсорах, потому что больше там торомзить было НЕЧЕМУ. А в FB циклы FOR SELECT и курсоры работают очень быстро и ними все пользуются и мораль всей этой повести в том что человек прийдя с FB очень сильно обломается в этом месте и ещё парочке других мест, о которых я писал выше. Это мой ответ вопрошавшему на вопрос: хотелось бу узнать технические моменты. PS Вобще у нас в профессии странные тенденции. Странно ведь будет если гениколог полезет со своими знаниями в попу по проктологической части, хоть органы и рядом находятся. А у нас же в программировании почему-то нормальным считается сегодня пописать на одном, завтра на другом, послезавтра на третьем, в результате досконально не знать ничего. Так и в этом случае. Писали писали на оракле, а тут бац - MS SQL пожаловал. Стали под него писать. И в результате получается как в известном ролике "если бы программисты строили самолёты". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 18:21 |
|
||
|
Firebird vs MSDE
|
|||
|---|---|---|---|
|
#18+
1. Про причины навязывания. Есть существующая система написанная давно на Foxrpo и использующая dbf файлы для хранения информации. Она никого не устраивает по скорости своей работы. Поставлена задача написать новую систему. Поскольку автор очень хорошо знает Foxpro, да и сама система в ее текущем варианте тоже написана на нем же, то и никуда в сторону от Foxpro при переписывании автор не уйдет. Насколько я понимаю имеется возможность использовать Foxpro в связке с MSDE. 2. Задача, с которой прийдется сталкиваться системе (не хочу уточнять предметную область). Задача обычная учетная. В зависимости от конкретной организации в которой она будет выполняться (а таких организаций будут сотни в нашем крае) нагрузка на систему будет обеспечиваться 5 - 20 операторами + периодическое формирование отчетов (которые сейчас в dbf варианте люди формируют по ночам иначе все остальные обламываются). Объемы данных оценить трудно, так как опять же все варьируется от учреждения. 3. Заказываем систему мы, но есть вышестоящие организации которые могут содействовать (и уже это делают) исполнителю в выборе удобной для него СУБД. А нам сильно не хочется, чтобы в отчитывающихся учреждениях помимо Firebird, на котором у них крутится 2-3 наших задачи еще бы стоял MSDE, тем более что у нас нет опыта его поддержки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2007, 04:31 |
|
||
|
|

start [/forum/moderation_log.php?user_name=andrew_belkin]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 669ms |
| total: | 837ms |

| 0 / 0 |
