Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

IB или MS SQL Server [D6]


Страницы:   1 2 3 4

ev ©   (2002-02-22 21:05:00) 

Сейчес работаю с IB, но думаю перейти на MS SQL Server.
Помогите определиться!
Какие отличия, плюсы, минусы?
С какими компонентами лучше работать?
Плюсы, минусы ADO?


Dok_3D   (2002-02-26 12:21:00) [41]

Есть старая истина (ну... почти истина),
что дороже, то и лучше.
Если MSSQL стоит 20000$на один процессор, а IB вообще ничего не стоит, то конечно MSSQL лучше:))).

P.S. А вообще, согласен с теми, кто утверждает, что это пустые споры.




FFFF   (2002-02-26 11:40:00) [42]

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


MetallAdm   (2002-02-26 11:22:00) [43]

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


Толик   (2002-02-26 09:32:00) [44]

Я вот почитал, но так и не понял, что человеку выбрать? Если он все-таки, выберет IB, то я так понял, у него будут проблемы при большом объеме БД. Непонятно вот что - в этом случае ему все-равно придется перейти на SQL или Oracle. Или у IB есть будущее?


evgeg   (2002-02-26 08:17:00) [45]

> IB vs ACCESS - то-же понятно, но MSSQL vs IB - это нонсенс !
Ты не прав. IB может работать и с сотнями клиентов, это настоящий sql-сервер. То, что MSSQL сам по себе занимает большой объем, а IB -- маленький, говорит наоборот в пользу IB.


Deniz   (2002-02-26 08:11:00) [46]

>Delirium © (25.02.02 18:16)
>№2 - триггера, которые работают до завершения транзакции, это
>нарушение логики постоения БД: триггер - должен ВСЕГДА
>подтверждать транзакцию, а никак не иначе.
А причем здесь транзакция? Триггер это набор некоторых действий, которые выполняются до/послеизменения(insert, update, delete) таблицы. А транзакцию уже пользователь завершает по кнопкам сохранить/отменить(может не так хорошо выразился, но думаю меня поймут).


maratFromTomsk   (2002-02-26 07:50:00) [47]

Что я могу сказать про IB - он мне нравится.
во первых он простой, и в то же время мощный.
сть у него некоторые проблемы, например такие что его производительность
начинает со временем падать и его надо периодически
backup & restore.

Мы одновремено работаем над двумя версиями программ под Оракл и IB.

при переходе на Оракл нам не хватало некоторых возможностей IB.

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

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

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

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

Хотелось бы знать есть ли такая же возможность в ms sq.

или возможность делать подзапросы в секции полей
select a.id,
(select b.name from t1 b where b.id = a.id) as bname,
(select c.name from t2 c where b.id = a.id) as cname
from tmain a

это есть очень хорошо и удобно.

Марат


Deniz   (2002-02-26 07:40:00) [48]

>Bachin (25.02.02 16:13)
>и самое интересное: знатоки IB так нелюбящие MSSQL покажите
>мне кусочек кода, который я не смогу перенести на MSSQL БЕЗ
>выкрутасов.
Ну почему так нелюбящие MSSQL, просто есть некоторые ... неровности.
По поводу примера, реализуй БЕЗ выкрутасов:
1. POST EVENT "Test Message".
2. Выбор идент-а на клиента(в MS-SQL есть последовательности, но много слышал, что они ... ).
А про минусы могу сказать следующее(сам пробовал), Delphi -> xxxQuery(кеширование) + UpdateSQL. Кусок кода:

DataBase.StartTransaction;
Query1.Edit;
...
Query1.Post;
Query1.ApplyUpdates;
... -> Lock table
DataBase.Commit;

После Apply и до Commit -> Lock table для всех других пользователей, даже для просмотра. Хм???
Скажите где ошибка? (без проверки на ошибки, все вводится правильно и исключений нет).


Tonie   (2002-02-25 20:20:00) [49]

На самом деле я конечно согласен, что для каждой задачи - свое решение, но вот такие вещи все же раздражают:
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/bulletin/ms02-007.asp
А о "красоте" IIS или ASP я бы осторожнее высказывался

P.S. Это не значит, что я с перекошенным лицом ору: "Must die!!!" :-), я собственно сам с продуктами от ms дело имею, но отношение к ним "Прохладно-настороженное"


Andreym999   (2002-02-25 19:58:00) [50]

Немножко не по теме, но когда я работал в госказначействе то от днепропетровских коллег я услышал следующее утверждение:
Oracle выигрывает у MS SQL по скорости только, на очень больших базах данных. а на базах в несколько Гб MS SQL значительно быстрее. Следует отметить что объемы информации в днепропетровской области хм весьма не маленькие ... мягко сказано. Поэтому IB здесь вообще не конкурент на мой личный взгляд. А поэтому этот спор считаю немного неккоректным. Для каждого сервера существует своя ниша и свой круг решаемых задач, и все зависит только от типа решаемых задач, а не утверждений типа Oracle рулез MS SQL отстой Linux forever Windows must die. Но поклонникам и настоящим специалистам MS очень повезло потому что решения этой компании, не смотря на всевозможные баги MS, позволяют строить очень технологические и красивые системы с красивыми решениями. Хотя бы связка IIS+ASP+MSSQL. Или VB+VC.
То чего я не увидел пока продукции ни одной компании. Хотя я большой поклонник Borland. Вот так. ;)


ev   (2002-02-25 18:20:00) [51]

2 McSimm © (25.02.02 17:04)
> механизм транзакций в MS-SQL отвратительный. Слабый (по
> возможностям) и неудобный (в программировании).
по-подробней можно...

> Очень не хватает IB-механизма триггеров. То, что в Interbase
> делается легко и просто в триггере, в MS действительно
> приходится реализовывать с помощью выкрутасов.
Что в MS-SQL нет механизма триггеров.


Delirium   (2002-02-25 18:16:00) [52]

Хм, по поводу №1 - ситуация исключительная и тут триггера и недолжны работать, надо обрабатывать откат транзакции;
№2 - триггера, которые работают до завершения транзакции, это нарушение логики постоения БД: триггер - должен ВСЕГДА подтверждать транзакцию, а никак не иначе.


McSimm   (2002-02-25 18:05:00) [53]

Спор этот ни к чему не приведет :) Я же говорил, что все можно сделать, уже несколько лет пишу на MS-SQL, IB забыл совсем.

По пунктам:
1. Если происходит нарушение уникальности ключа при добавлении/изменении, в MS - до тригера дела не дойдет, в IB можно эту ситуацию обработать. Я не говорю, что это необходимо, но были очень красивые решения некоторых проблем.

2. BEFORE и AFTER это не OLD и NEW - это тип триггера, время его срабатывания - до или после события.

3. Спасибо за информацию, посмотрю.


Delirium   (2002-02-25 17:57:00) [54]

> McSimm
По пунктам:
"в MS-SQL невозможно в тригере следить за уникальностью записи для UNIQUE индекса." - не ясно что ты под этим понимаешь, получение значения Identity или что?

"inserted - доступна только для чтения, в отличие от NEW в Interbase." - а зачем тебе писать в inserted, когда надо писать в саму таблицу, опираясь на данные из inserted?

"- Вызов BEFORE и AFTER - раза два могло бы очень облегчить мне участь." - совершенно не понятно чем, если есть те-же таблицы inserted и deleted?

"- Приоритетность срабатывания тригеров - несколько раз очень нужно было." - sp_settriggerorder


McSimm   (2002-02-25 17:39:00) [55]

Реальный пример приводить - долго объяснять. Поверьте, на практике сталкивался не раз.

- в MS-SQL невозможнов тригере следить за уникальностью записи для UNIQUE индекса.
- inserted- доступна только для чтения, в отличие от NEW в Interbase.
- Вызов BEFORE и AFTER - раза два могло бы очень облегчить мне участь.
- Активация/деактивация тригера, если не ошибаюсь, в IB делается крайне просто.
- Приоритетность срабатывания тригеров - несколько раз очень нужно было.

Разумеется, все это можно обойти, сделать иначе. Но "выкрутасами" заниматься все-же приходится.
:)


Delirium   (2002-02-25 17:08:00) [56]

> McSimm
"То, что в Interbase делается легко и просто в триггере, в MS действительно приходится реализовывать с помощью выкрутасов."
- а можно примерчик ?


McSimm   (2002-02-25 17:04:00) [57]

>знатоки IB так нелюбящие MSSQL покажите мне кусочек кода,
>который я не смогу перенести на MSSQL БЕЗ выкрутасов.

Я не поклонник IB и не противник MS-SQL. Работаю на MS-SQL уже несколько лет. Но вынужден повториться:
- механизм транзакций в MS-SQL отвратительный. Слабый (по возможностям) и неудобный (в программировании).
- Очень не хватает IB-механизма триггеров. То, что в Interbase делается легко и просто в триггере, в MS действительно приходится реализовывать с помощью выкрутасов.

Мнение субъективное, но не только мое.


Delirium   (2002-02-25 17:01:00) [58]

> [NIKEL]
А почему-же тогда такие "умные" не выбрали Oracle ?


[NIKEL]   (2002-02-25 16:56:00) [59]

2Delirium
неутверждаю
>>на счет что кто то нагрелся
не думаю что это так, а думаю что там работают люди которые умеют по настоящему настраивать ситему
и ты думаешь что в таких организациях стоят Win сервера??? ты ошибаешься


Delirium   (2002-02-25 16:38:00) [60]

> [NIKEL]
Уж не утверждаешь-ли ты что IB более распространён чем MSSQL?
А на счёт "огромной информ. системы", так ведь я об этом и говорю, MSSQL как раз и подходит для крупномасштабных решений. А если какие-либо структуры в Росии предпочитают IB, то могу тебя уверить в нашей "дикой" стране далеко не всегда разворачиваются полномасштабные исследования в вопросах выбора средств, даже в оч.крупных организациях (я работал и работаю сейчас как раз в такой). А уж тем более в государственных, по моему опыту тут всё решают деньги, а не функциональность той или иной СУБД. Так что если ЦУП или ММВБ выбрали IB, это отнюдь не значит что он чем-то лучше, скоре он просто дешевле обошёлся в данных случаях, или кто-то из руководства нагрелся на этом.


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо