Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 10   вперед  Ctrl      все
 MS SQL Server FOREVER!?!?!  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13633
Ну так что, есть БД работающая быстрее чем сабж при тех же условиях?

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

Может с БД ошиблись? Как он, SQL Server, серьёзная СУБД или так, для начинающих? Может ORACLE или что-то ещё побыстрее работать будет?
27 мар 03, 12:41    [157890]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
B0rG
Member

Откуда: столичный город кудаблин
Сообщений: 619
SQL ничего себе, работает много где и достаточно быстро. цена лицензии от $5000, к нему требуется программист. Работать удобно. достаточно прост в обучении.

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

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

Есть еще SAP он бесплатен, правда не знаю насколько можно доверять бесплатной базе для коммерческого продукта. т.к. следует учитывать бизнес модель компаний разработчиков, либо они продают конечный продукт и к нему бесплатную поддержку (по крайней мере начальную), либо они дают бесплатный продукт и продают поддержку, а что бы получить много поддержки нужно сделать очень непонятный продукт :) см Оракл где нужен инженер.
27 мар 03, 13:22    [157960]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32175
Я думаю, на одинаковом железе и при одинаковой квалификации разработчиков и админов скорость должна быть одинаковой. При низкой квалификации разработчиков и админов MSSQL многие ошибки простит, и сам что-то оптимизирует, хотя замедление может быть раз в 10 - 100. Но оракл при таких условиях вообще не заработает :-)
27 мар 03, 13:33    [157980]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
B0rG
Member

Откуда: столичный город кудаблин
Сообщений: 619
могу добавить, что количество квалифицированных разработчиков для MS все таки больше чем для Oracle, это тоже немаловажный фактор...
27 мар 03, 13:48    [158004]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13633
Спасибо за отзывы... значит, как я понял, оптимизатор запросов и прочие встроенные алгоритмы работы с данными в SQL Server работают по скорости не хуже чем в конкурирующих системах?
27 мар 03, 14:05    [158034]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32175
Да в общем да. Конечно, в конкретных ситуациях есть отличия, но принципиальной разницы нет. Т.е. не настолько, что-бы именно по этим критериям выбирать продукт.
27 мар 03, 14:48    [158092]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
Scott Tiger
Member

Откуда: вмваре
Сообщений: 6905
Подумайте вот о чём - выбирая MS SQL, вы обрекаете себя на использование гнусной, мерзкой, гнилой, гнойной, вонючей, совершенно неуправляемой, и ещё более совершенно :) неуместной на серверной стороне платформы Windows. А это многое значит.
27 мар 03, 19:57    [158559]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
папа Карло
Member

Откуда: Vancouver, BC
Сообщений: 265
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 :)
27 мар 03, 20:34    [158576]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
B0rG
Member

Откуда: столичный город кудаблин
Сообщений: 619
папа Карло,
если не трудно рассказать про задачи для к-рых Оракл круче.
интересно для общего развития.

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

You can write english if you like.
кракозябры я очень плохо читаю :(
27 мар 03, 20:57    [158585]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
c127
Guest
>Данных в БД относительно немного (от 1-й до примерно 500000 записей), но довольно сложная бизнес-логика, много различных потоков репликации и "чудовищные" требования к интерфейсу клиентов (АРМы оперативных работников). В общем, довольно сложная распределённая система, да ещё и в реальном времени должна работать. И что-то всё как-то медленно начинает елеворочаться.

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

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

Это я к тому что связавшись с мелкософтом вы обрекаете себя на то, что какие-то полуграмотные люди, изучавшие программирование по книжкам для dummies, а математику не изучавшие вообще, будут навязывать вам какие-то идиотские решения, и вы вынуждены будете их решения принимать, потому что по-правильному просто не работает.
28 мар 03, 01:40    [158638]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
c127
Guest
>Я думаю, на одинаковом железе и при одинаковой квалификации разработчиков и админов скорость должна быть одинаковой. При низкой квалификации разработчиков и админов 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 не заработает вообще никак, а на небольших объемах и я его (оракл) заставлю работать, хоть и не админ.
28 мар 03, 02:42    [158641]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
StarWind
Member

Откуда: г. Иркутск
Сообщений: 1875
с127
Обстоятельно... И аргументированно... спасибо
28 мар 03, 03:51    [158650]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
f_w_p
Guest
Это сказки, распространяемые мелкософтом. Контрпример. Тупое добавление 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кб).

Что-то надо менять в консерватории:-)))!!!
28 мар 03, 09:28    [158751]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
AI
Member

Откуда: Москва
Сообщений: 2817
1G данных в плоских файлах (тест TPC-Н - 6млн. строк в самой большой таблице и 1.5 млн строк в мастер-таблице) на WinNT4SP5 на Pentium233 с IDE-диском лоадером в оракл заливался 25 минут. Скорость сильно зависела от метода работы лоадера, частоты сэйвов и степени параллелизма загрузки (мог время загрузки запросто увеличить в 10-20 раз).

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

Кроме того, не надо говорить, что какая-то база не требует квалифицированного разработчика или администратора. Это не правда, все базы в результате будут работать хуже, чем могут, но работать будут.
28 мар 03, 10:00    [158791]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
2 c127

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

И чего-то я не понял, как это коммит проходил после каждых 10 записей? Что это такое и как делалось? А то расхождения какие-то у вас, сэр :)
28 мар 03, 10:24    [158812]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
DimaR
Member

Откуда:
Сообщений: 1570
Я вот знаю пример, стоит 8i и единственное администрирование это следить, что бы место на дисках не закончилось (удалять архивлоги, и иногда удалять устаревшие данные из таблиц-логов), бэкап не делаеться, стоит стендбай.
Работает так себе, но работает, и практически ни какого обслуживания.
Я не говорю, что это хорошо, скорее наоборот, просто пример.
28 мар 03, 11:32    [158949]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32175
2c127
Вы пишите: "Просто на тех данных, где оракл требует действительно серьезного администрирования, MSSQL не заработает вообще никак, а на небольших объемах и я его (оракл) заставлю работать, хоть и не админ."
Но ведь MS SQL 2000 справился с вашим тестом, а Oracle 8i - нет :-)
Так что нужно писать так:
"Просто на тех данных, где MSSQL требует действительно серьезного администрирования, оракл не заработает вообще никак, а на небольших объемах и я его (MSSQL) заставлю работать, хоть и не админ."
:-)
А если серьёзно, я не писал, что эти серверы БД идентичны. Я писал, что разница не принципиальна, она не в разы и не в десятки раз.
При достаточной квалификации разработчиков задачи решаются на обоих платформах, причём решаться должны по-разному; схема БД и реализация бизнес-логики, работающая в оракле, будет плохо работать в мсскуэль.
28 мар 03, 14:51    [159216]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Кульные хацкеры, которые могут завалить MS SQL и Oracle!
Научите меня. Всё делаю как написано: тупое добавление 1000000 записей в таблицу, из иднексов только первичный ключ identity. Еще поле current_timestamp, коммит проходил после каждых 10 записей. Вот скриптик для MS SQL

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 сек скрипт выплёвывает сколько всего записей и сколько вставилось . Цифры там иногда проваливаются, но наверное это потому что не только я сервер пытался завалить.
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, а математику не изучавшие вообще, навязли мне какие-то идиотские решения, и я вынужден их решения принимать, потому что по-правильному (т.е. что б сервер заваливался) просто не работает.
Сам то кстати по каким книжкам учился?
28 мар 03, 15:22    [159259]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
Артем1
Member

Откуда: www.desnogorsk.{ru||net} -> Москва
Сообщений: 2036
2 SrgSuper
Абсолютно верно, скрипт элементарно отрабатывает за 2 минуты.
28 мар 03, 15:33    [159280]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
Артем1
Member

Откуда: www.desnogorsk.{ru||net} -> Москва
Сообщений: 2036
Пардон, SergSuper, конечно же
28 мар 03, 15:34    [159282]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
Так вот и молчит вопрошающий - затих совсем
28 мар 03, 15:35    [159286]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
Артем1
Member

Откуда: www.desnogorsk.{ru||net} -> Москва
Сообщений: 2036
Сейчас появится топик "Помогите, падает сервер при вставке 1000000 записей".
28 мар 03, 15:41    [159302]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
aag
Member

Откуда: Москва
Сообщений: 1955
c127
Я почти уверен, что если вы станете заливать ваш миллион записей в dbf, по скорости он обгонит и Oracle и MSSQL. Следуя этой логике, лучшая СУБД - это dbf.
Такие тесты абсолютно ничего не показывают - тем более, что, как вы сами признали, была низкая квалификация. Легко провести контрдовод - из любопытства я попробовал повторить подобный пример - у меня его выполнение заняло примерно 10 мин. - по сети, с учетом др. пользователей.
И неужели вы всерьез думаете, что MSSQL не выдержит добавления миллиона записей???
Сколько у Oracle не знаю, думаю порядок такой же.

Я думаю, что для приведенной задачи пойдет и MSSQL, и Oracle, и большинство др. баз.
Однако настроить и поддерживать Oracle все-таки тяжелее, чем MSSQL.
B0rG
А что такое SAP - случаем не SAP/R3 ? :)
28 мар 03, 15:48    [159317]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
Crip
Member

Откуда:
Сообщений: 2490
2 aag
Ага кстати...Visual FoxPro заливает лимон в считанные секунды... Запросы вообще летают
28 мар 03, 16:33    [159403]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Server FOREVER!?!?!  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
Дык, у меня локальный MS SQL тоже летает
28 мар 03, 16:43    [159419]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 10   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить