Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / MS SQL Server FOREVER!?!?! / 25 сообщений из 232, страница 1 из 10
27.03.2003, 12:41
    #32128047
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
Ну так что, есть БД работающая быстрее чем сабж при тех же условиях?

Данных в БД относительно немного (от 1-й до примерно 500000 записей), но довольно сложная бизнес-логика, много различных потоков репликации и "чудовищные" требования к интерфейсу клиентов (АРМы оперативных работников). В общем, довольно сложная распределённая система, да ещё и в реальном времени должна работать. И что-то всё как-то медленно начинает елеворочаться.

Может с БД ошиблись? Как он, SQL Server, серьёзная СУБД или так, для начинающих? Может ORACLE или что-то ещё побыстрее работать будет?
...
Рейтинг: 0 / 0
27.03.2003, 13:22
    #32128096
B0rG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
SQL ничего себе, работает много где и достаточно быстро. цена лицензии от $5000, к нему требуется программист. Работать удобно. достаточно прост в обучении.

Oracle тоже ничего себе, по виду страшнее чем сиквел, установка Enterprise сразу отжирает порядка гига под базу. цена лицензии (давно смотрел) $50000. К нему требуется инженер. Оракл иногда проводит маркетинговые акции и меняет лицензии MS SQL на лицензии к ораклу без дополнительной доплаты :) Работать с ним не очень удобно. В обучении тяжел. 60 метров доков в pdf конечно на сайте лежит, но...

есть еще DB2, но про нее я знаю, что она есть, и что она очень злая... Оракл любит публиковать на своем сайте oracle.com 10 причин почему оракл круче чем db2, ibm.com в ответ на это только продолжает продавать нотебуки (Think Pad по моему).

Есть еще SAP он бесплатен, правда не знаю насколько можно доверять бесплатной базе для коммерческого продукта. т.к. следует учитывать бизнес модель компаний разработчиков, либо они продают конечный продукт и к нему бесплатную поддержку (по крайней мере начальную), либо они дают бесплатный продукт и продают поддержку, а что бы получить много поддержки нужно сделать очень непонятный продукт :) см Оракл где нужен инженер.
...
Рейтинг: 0 / 0
27.03.2003, 13:33
    #32128113
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
Я думаю, на одинаковом железе и при одинаковой квалификации разработчиков и админов скорость должна быть одинаковой. При низкой квалификации разработчиков и админов MSSQL многие ошибки простит, и сам что-то оптимизирует, хотя замедление может быть раз в 10 - 100. Но оракл при таких условиях вообще не заработает :-)
...
Рейтинг: 0 / 0
27.03.2003, 13:48
    #32128133
B0rG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
могу добавить, что количество квалифицированных разработчиков для MS все таки больше чем для Oracle, это тоже немаловажный фактор...
...
Рейтинг: 0 / 0
27.03.2003, 14:05
    #32128157
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
Спасибо за отзывы... значит, как я понял, оптимизатор запросов и прочие встроенные алгоритмы работы с данными в SQL Server работают по скорости не хуже чем в конкурирующих системах?
...
Рейтинг: 0 / 0
27.03.2003, 14:48
    #32128197
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
Да в общем да. Конечно, в конкретных ситуациях есть отличия, но принципиальной разницы нет. Т.е. не настолько, что-бы именно по этим критериям выбирать продукт.
...
Рейтинг: 0 / 0
27.03.2003, 19:57
    #32128565
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
Подумайте вот о чём - выбирая MS SQL, вы обрекаете себя на использование гнусной, мерзкой, гнилой, гнойной, вонючей, совершенно неуправляемой, и ещё более совершенно :) неуместной на серверной стороне платформы Windows. А это многое значит.
...
Рейтинг: 0 / 0
27.03.2003, 20:34
    #32128578
папа Карло
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
Scott: ya sdelal terrabaitnuyu db na sql servere s vremenem otklika menee sekundy. :) tak-chto bol'shinstvo veshei upiraetsya v pravil'nyi design.

eto ne flame sql vs. oracle. ya znayu zadachi dlya kotoryx oracle luchshe.

na middle-to-big projects TCO of MS is much better. oracle rocks on VLDBs, DB2 on mainframes. :)

It's that simple :)
...
Рейтинг: 0 / 0
27.03.2003, 20:57
    #32128583
B0rG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
папа Карло,
если не трудно рассказать про задачи для к-рых Оракл круче.
интересно для общего развития.

Мне то приходится сталкиваться и с тем и с другим, все зависит от клиента.

You can write english if you like.
кракозябры я очень плохо читаю :(
...
Рейтинг: 0 / 0
28.03.2003, 01:40
    #32128613
c127
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
>Данных в БД относительно немного (от 1-й до примерно 500000 записей), но довольно сложная бизнес-логика, много различных потоков репликации и "чудовищные" требования к интерфейсу клиентов (АРМы оперативных работников). В общем, довольно сложная распределённая система, да ещё и в реальном времени должна работать. И что-то всё как-то медленно начинает елеворочаться.

Это нормально. У меня была аналогичная ситуация: юзеры (~20000 шт, ожидалось 5*10**6), группы, права на доступ к неким объектов (~50000 шт) и группам объектов, права наследуются в группах юзеров и группах объектов. Задача: определить имеет ли юзер v право смотреть объект w. Все реализовано чистым скл без сохраненок и временных таблиц. MSSQL 2000 (основная база) просто зависал напрочь, сайбейз анивер (тестовый пример) выполнял по 30 запросов в секунду. Все таблицы, въю, данные одинаковые, индексы тоже одинаковые, оптимизированные в меру сил под MSSQL.

MS техсаппорт долго думал, признал, что вроде формально все сделано правильно, и посоветовал менять структуру БД. Что и было сделано: появилось 6 триггеров, вспомогательная таблица прав и вероятность внести дополнительные ошибки. Еще замедлился инсерт, но это уже другая история. И даже после этого сайбейз работал быстрее.

Это я к тому что связавшись с мелкософтом вы обрекаете себя на то, что какие-то полуграмотные люди, изучавшие программирование по книжкам для dummies, а математику не изучавшие вообще, будут навязывать вам какие-то идиотские решения, и вы вынуждены будете их решения принимать, потому что по-правильному просто не работает.
...
Рейтинг: 0 / 0
28.03.2003, 02:42
    #32128616
c127
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
>Я думаю, на одинаковом железе и при одинаковой квалификации разработчиков и админов скорость должна быть одинаковой. При низкой квалификации разработчиков и админов MSSQL многие ошибки простит, и сам что-то оптимизирует, хотя замедление может быть раз в 10 - 100. Но оракл при таких условиях вообще не заработает :-)

Это сказки, распространяемые мелкософтом. Контрпример. Тупое добавление 1000000 записей в таблицу, из иднексов только первичный ключ identity. Еще поле current_timestamp, коммит проходил после каждых 10 записей. Обе СУБД (MSSQL-7 и Оракл 8i) устанавливались по дефолту на чистую вынь НТ, дофига места и пр. Установка прошла без проблем.

MSSQL плавно замедлялся от примерно 6000 записей в минуту в нуле до 1000 при 300000 записях в таблице по кривой напоминающей 1/x или экспоненту, после чего был остановлен (достал уже, часа 3 как работал). Попытки исправить ситуацию провалились: агония повторялась раз за разом. Я и сейчас не знаю, в чем там было дело. Хотя миллионный рубеж таки был успешно преодолен мелкософтом в MSSQL2000.

Оракл загнулся при 800000 (уже больше чем 300000), какой-то там сегмент роста у него закончился. Правда не мучился, в отличии от коллеги, помер сразу. Замедления не наблюдалось и средняя скорость составила ~10000 записей/минуту. При увеличении сегмента повторный тест прошел без проблем. Исправление заняло минут 20 чтения документации.

Низкая квалификация разработчиков и админов налицо, ибо это был наш первый опыт работы с данными SQL серверами, поэтому контрпимер является корректным и следовательно опровергает распространенное заблуждение о легкости администрирования MSSQL по сравнении с ораклом. :) Просто на тех данных, где оракл требует действительно серьезного администрирования, MSSQL не заработает вообще никак, а на небольших объемах и я его (оракл) заставлю работать, хоть и не админ.
...
Рейтинг: 0 / 0
28.03.2003, 03:51
    #32128625
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
с127
Обстоятельно... И аргументированно... спасибо
...
Рейтинг: 0 / 0
28.03.2003, 09:28
    #32128710
f_w_p
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
Это сказки, распространяемые мелкософтом. Контрпример. Тупое добавление 1000000 записей в таблицу, из иднексов только первичный ключ identity. Еще поле current_timestamp, коммит проходил после каждых 10 записей. Обе СУБД (MSSQL-7 и Оракл 8i) устанавливались по дефолту на чистую вынь НТ, дофига места и пр. Установка прошла без проблем.

MSSQL плавно замедлялся от примерно 6000 записей в минуту в нуле до 1000 при 300000 записях в таблице по кривой напоминающей 1/x или экспоненту, после чего был остановлен (достал уже, часа 3 как работал). Попытки исправить ситуацию провалились: агония повторялась раз за разом. Я и сейчас не знаю, в чем там было дело. Хотя миллионный рубеж таки был успешно преодолен мелкософтом в MSSQL2000.


Простенький, "средненький" FireBird справился с подобной задачей за 15 минут.
Правда таблица была немного не такой: 4 поля (int,int,char(50),varchar(50)). Commit делался после каждых 10000 записей.

За MSSQL 6.5 подобное нами замечалось. Я даже вопрос сюда выносил. Потом сами разобрались. Дело было в размере кэша под лог. По умолчанию он равен какой-то смешной цифре (~1кб).

Что-то надо менять в консерватории:-)))!!!
...
Рейтинг: 0 / 0
28.03.2003, 10:00
    #32128744
AI
AI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
1G данных в плоских файлах (тест TPC-Н - 6млн. строк в самой большой таблице и 1.5 млн строк в мастер-таблице) на WinNT4SP5 на Pentium233 с IDE-диском лоадером в оракл заливался 25 минут. Скорость сильно зависела от метода работы лоадера, частоты сэйвов и степени параллелизма загрузки (мог время загрузки запросто увеличить в 10-20 раз).

Для конкретного сравнения надо взять одну задачу (вроде тестов ТРС) и посмотреть на результаты. Тогда можно говорить о том, чьи яйца лучше сварены.

Кроме того, не надо говорить, что какая-то база не требует квалифицированного разработчика или администратора. Это не правда, все базы в результате будут работать хуже, чем могут, но работать будут.
...
Рейтинг: 0 / 0
28.03.2003, 10:24
    #32128762
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
2 c127

Угу, а в transaction log то надо писать? Надо! Поэтому при увеличении количества измененных записей он пухнет как воздушный шар - отсюда и тормоза.

И чего-то я не понял, как это коммит проходил после каждых 10 записей ? Что это такое и как делалось? А то расхождения какие-то у вас, сэр :)
...
Рейтинг: 0 / 0
28.03.2003, 11:32
    #32128857
DimaR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
Я вот знаю пример, стоит 8i и единственное администрирование это следить, что бы место на дисках не закончилось (удалять архивлоги, и иногда удалять устаревшие данные из таблиц-логов), бэкап не делаеться, стоит стендбай.
Работает так себе, но работает, и практически ни какого обслуживания.
Я не говорю, что это хорошо, скорее наоборот, просто пример.
...
Рейтинг: 0 / 0
28.03.2003, 14:51
    #32129091
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
2c127
Вы пишите: "Просто на тех данных, где оракл требует действительно серьезного администрирования, MSSQL не заработает вообще никак, а на небольших объемах и я его (оракл) заставлю работать, хоть и не админ."
Но ведь MS SQL 2000 справился с вашим тестом, а Oracle 8i - нет :-)
Так что нужно писать так:
"Просто на тех данных, где MSSQL требует действительно серьезного администрирования, оракл не заработает вообще никак, а на небольших объемах и я его (MSSQL) заставлю работать, хоть и не админ."
:-)
А если серьёзно, я не писал, что эти серверы БД идентичны. Я писал, что разница не принципиальна, она не в разы и не в десятки раз.
При достаточной квалификации разработчиков задачи решаются на обоих платформах, причём решаться должны по-разному; схема БД и реализация бизнес-логики, работающая в оракле, будет плохо работать в мсскуэль.
...
Рейтинг: 0 / 0
28.03.2003, 15:22
    #32129126
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
Кульные хацкеры, которые могут завалить MS SQL и Oracle!
Научите меня. Всё делаю как написано: тупое добавление 1000000 записей в таблицу, из иднексов только первичный ключ identity. Еще поле current_timestamp, коммит проходил после каждых 10 записей. Вот скриптик для MS SQL
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
create table #t( id int identity, d int, t timestamp)
create index ttt on #t(id)

set nocount on

declare @d datetime, @i int, @t int, @k int, @tt int, @L int
select @d=getdate(), @i= 0 , @t=- 1 , @L= 0 

while @i< 1000000 
begin
  set @k= 0 
  begin tran
  while @k< 10 
    begin
      set @i=@i+ 1 
      set @k=@k+ 1 
      insert #t(d) select @i 
    end
  commit tran
  select @tt = datediff(ss, @d, getdate()) /  10 
  if @tt<>@t 
    begin
      select @tt* 10  t, @i cnt, @i-@L dif
      select @t=@tt, @L=@i 
    end
end

set nocount off
delete #t


Настраиваюсь ждать пока сервер завалится. Дык не хочет, не то что 15, меньше чем за 2 минуты вставляет. Что я не так делаю?
И чё-то как-то замедления не видно особого. Через каждые 10 сек скрипт выплёвывает сколько всего записей и сколько вставилось . Цифры там иногда проваливаются, но наверное это потому что не только я сервер пытался завалить.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
t           cnt         dif         
 ----------- ----------- ----------- 
 
 0             10            10 
 10            153280        153270 
 20            312630        159350 
 30            473070        160440 
 40            526920        53850 
 50            582090        55170 
 60            735560        153470 
 70            882350        146790 

Ну что тут сказать, какие-то полуграмотные люди, изучавшие программирование по книжкам для dummies, а математику не изучавшие вообще, навязли мне какие-то идиотские решения, и я вынужден их решения принимать, потому что по-правильному (т.е. что б сервер заваливался) просто не работает.
Сам то кстати по каким книжкам учился?
...
Рейтинг: 0 / 0
28.03.2003, 15:33
    #32129143
Артем1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
2 SrgSuper
Абсолютно верно, скрипт элементарно отрабатывает за 2 минуты.
...
Рейтинг: 0 / 0
28.03.2003, 15:34
    #32129145
Артем1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
Пардон, SergSuper, конечно же
...
Рейтинг: 0 / 0
28.03.2003, 15:35
    #32129149
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
Так вот и молчит вопрошающий - затих совсем
...
Рейтинг: 0 / 0
28.03.2003, 15:41
    #32129162
Артем1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
Сейчас появится топик "Помогите, падает сервер при вставке 1000000 записей".
...
Рейтинг: 0 / 0
28.03.2003, 15:48
    #32129175
aag
aag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
c127
Я почти уверен, что если вы станете заливать ваш миллион записей в dbf, по скорости он обгонит и Oracle и MSSQL. Следуя этой логике, лучшая СУБД - это dbf.
Такие тесты абсолютно ничего не показывают - тем более, что, как вы сами признали, была низкая квалификация. Легко провести контрдовод - из любопытства я попробовал повторить подобный пример - у меня его выполнение заняло примерно 10 мин. - по сети, с учетом др. пользователей.
И неужели вы всерьез думаете, что MSSQL не выдержит добавления миллиона записей???
Сколько у Oracle не знаю, думаю порядок такой же.

Я думаю, что для приведенной задачи пойдет и MSSQL, и Oracle, и большинство др. баз.
Однако настроить и поддерживать Oracle все-таки тяжелее, чем MSSQL.
B0rG
А что такое SAP - случаем не SAP/R3 ? :)
...
Рейтинг: 0 / 0
28.03.2003, 16:33
    #32129232
Crip
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
2 aag
Ага кстати...Visual FoxPro заливает лимон в считанные секунды... Запросы вообще летают
...
Рейтинг: 0 / 0
28.03.2003, 16:43
    #32129247
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server FOREVER!?!?!
Дык, у меня локальный MS SQL тоже летает
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / MS SQL Server FOREVER!?!?! / 25 сообщений из 232, страница 1 из 10
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]