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

Откуда: http://terredesreves.3bb.ru/
Сообщений: 4882
ЛП
какое-нить дополнительное поле с дополнительной проверкой в триггере (т.е. в общем-то как в Вашем решении).


Данные в триггере тоже версионны... В триггерах нельзя проверять.
14 ноя 05, 17:29    [2067060]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Специально для юнцов со взором горящим:

Где я что-то говорил про count(*) ???

Если Вы меня НЕ ПОНЯЛИ, чья это проблема ? Oracle ???

Думаю, что нет
14 ноя 05, 17:30    [2067068]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
DarkSquid
ЛП
какое-нить дополнительное поле с дополнительной проверкой в триггере (т.е. в общем-то как в Вашем решении).


Данные в триггере тоже версионны... В триггерах нельзя проверять.


Клиника

Завязываю участие в этом балагане. Дурака переубедить невозможно.
14 ноя 05, 17:32    [2067080]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
DarkSquid
Member

Откуда: http://terredesreves.3bb.ru/
Сообщений: 4882
Специально для ораклистов:-

Про что же Вы говорили? Вы можете понять, что версионность - она и в триггере версионность, предствьте себе, и вне триггера, и в приложении и в прочей фигне.

Перед изменением данных, от которых зависит агрегатное поле Вы должны это поле заблокировать. Трудно понять, что-ли? Иначе у Вас дебет с кредитом не сойдётся.
14 ноя 05, 17:33    [2067085]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
DarkSquid
Member

Откуда: http://terredesreves.3bb.ru/
Сообщений: 4882
Gluk (Kazan)

Клиника

Завязываю участие в этом балагане. Дурака переубедить невозможно.


Сам ты дурак.
14 ноя 05, 17:33    [2067088]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
ЛП
Guest
Gluk (Kazan)
Вот он консенсус ???

Да я не спорил ни с чем :)
В версионнике надо с фантомами бороться (если надо, конечно же). Кричать о том, что это сделать невозможно - глупо. Возможно все. Достаточно уровня ReadCommitted, молотка, лома, и такой-то матери.
С помощью молотка, лома и такой-то матери и на блокировочнике можно побороть лишние блокировки, хоть "юнцы с горящим взором" из ораклового лагеря и кричат об обратном.
14 ноя 05, 17:35    [2067096]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Такой то матери и грязного чтения ;)

Теперь точно прощаюсь. Юнцы какие-то буйные пошли
14 ноя 05, 17:37    [2067101]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
ЛП
Guest
DarkSquid
Чтобы её избежать, надо всегда в триггере перед модификацией данных, от которых зависит поле-счётчик блокировать это поле, а уже после модификации обновлять его, оставляя заблокированным до завершения транзакции. Это есть не бред, а единственно верное решение.

Это бред. Не нужно ничего блокировать до обновления. И блокировка после обновления, но до прибития коммитом - в принципе несущественна, пусть даже и оракл поступает именно так.
14 ноя 05, 17:39    [2067113]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
ЛП
Guest
Gluk (Kazan)
Такой то матери и грязного чтения ;)

Ни нада грязи, пазалуста :)
14 ноя 05, 17:40    [2067117]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
vasilis
Member

Откуда: Украина, Киев
Сообщений: 2205
softwarer
Почему ораклисты так не любят MS SQL?

....
Как ораклист, могу высказать свою точку зрения.
...
- Ну и наконец - поведение... примерно такое же, как у украинцев, болезненно выискивающих употребление фразы "на Украине" и выводящих из него глобальные теории шовинизма и большебратства.


Мда, так и хочется дать смачное определение или указать уровень интеллекта неуважаемого softwarer...
Странно, что еще не приведено полное равенство между украинцами и "любителями MSSQL", наверное, все же в силу не совсем полного бредового состояния, вызванного постоянным чтением Инета...
Отдыхайте, дорогой, хоть изредка и запомните, на SQL.RU нет национальностей!
14 ноя 05, 17:54    [2067161]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
dmitrysk
Member

Откуда:
Сообщений: 460
DarkSquid
Специально для ораклистов:-

Транзакция A


SQL>
SQL> select * from a;

A B
---------- ----------
1 1
1 4

SQL> select * from a;

A B
---------- ----------
1 1
1 4

SQL> insert into a(a,b) values (1,5);

1 row created.

SQL> select count(*) from a where a=1;

COUNT(*)
----------
3



Транзакция B

Connected.
SQL> select * from a;

A B
---------- ----------
1 1
1 4

SQL> select count(*) from a where a = 4;

COUNT(*)
----------
0

SQL> select * from a where a = 1;

A B
---------- ----------
1 1
1 4

SQL> select count(*) from a where a = 1;

COUNT(*)
----------
2
SQL>


Что предлагают ораклисты? Посчитать count(*) и поместить его в поле счётчик в таблице DOCUMENT, после чего проверить ограничение в триггере на уровне строки. Это и есть бред или типичная ошибка ораклистов.

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


Это называется параноя от незнания механизмов работы БД.
14 ноя 05, 18:20    [2067273]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
DarkSquid
Member

Откуда: http://terredesreves.3bb.ru/
Сообщений: 4882
Большое спасибо всем участникам дискуссии!!! Разобрался.
14 ноя 05, 18:37    [2067358]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
sshurik
Member

Откуда: Санкт-Петербург
Сообщений: 5
Gluk (Kazan)
Такой то матери и грязного чтения ;)

Теперь точно прощаюсь. Юнцы какие-то буйные пошли


Похоже что Вы относитесь к тому типу людей из-за которого и расходятся сторонники разных БД. Неужели настолько проще (и экономичнее для рабочего времени) было парить нашего темного "товарища" на протяжении десятка постов? Понимаю что и жопу прикрыть хочется - мало ли действительно налажал в решении вопроса, да и поиздеваться над человеком тоже непрочь. Но всё-таки насколько проще было бы сказать, что на строку со счетчиком будет наложена RX блокировка после выполнения первого update'a.. Это, на мой взгляд, снимает все вопросы по дальнейшей технологии работы.
14 ноя 05, 18:44    [2067383]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67534
Блог
StalkerS
С каких пор у вас появилась отвратительная привычка передергивать факты и присваивать людям высказывания, которых небыло ?

Затрудняюсь ответить, потому что у меня ее не появлялось. Или точнее, уровень присутствия этой отвратительной привычки, сколь я могу себя оценить, у меня никогда особо не менялся.

Отмечу, что напоминание о творчестве бабушки Астрид меня порадовало.

StalkerS
Был топик про Оракл и Yukon. В его конце было четко написано : "Offtopic",

Кстати, как модератор я предпочитал писать в правилах, что отмазки типа "Offtopic" и "АОТ" автоматически влекут усиление предпринимаемых мер.

StalkerS
В этом оффтопике было написано про манеру Кайта писать книги. Никакой "связки" Оракла с Кайтом там нет.

Пока не началось: этим "оффтопиком", среди прочего, Вы задали тон всего обсуждения. И потом почему-то удивляетесь, "льется дерьмо" - видимо потому, что оно не помечено словом offtopic.

Если угодно, считайте еще одним мини-сеансом психоложества. Время от времени случается следующий казус: некто (А) пишет (Б) что-то оскорбительное и ставит после этого смайлик ;-) После чего громко удивляется - да это же шутка была! Чего обижаться, не понял, что ли? Вы сейчас занимаете примерно такую же позицию. На что, безусловно, имеете право.
14 ноя 05, 19:10    [2067478]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67534
Блог
SergSuper
А какая разница между where a = :a и where a = @a

В том, что если я правильно понимаю, второе нельзя послать с клиента (в рамках именно запроса, select, а не некоего скрипта-батча).
14 ноя 05, 19:15    [2067491]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67534
Блог
vasilis
Мда, так и хочется дать смачное определение или указать уровень интеллекта неуважаемого softwarer...

То есть - хотелось бы действовать в соответствии со своим культурным уровнем, да что-то сдерживает. Что ж, относительно неплохой вариант.

vasilis
Странно, что еще не приведено полное равенство между украинцами и "любителями MSSQL",

Cкорее странно, что меня еще продолжает восхищать логичность подобных аргументов.

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

vasilis
Отдыхайте, дорогой, хоть изредка и запомните, на SQL.RU нет национальностей!

Данный пример не имел в виду ограничение "на SQL.RU". Впрочем, к сожалению, Вы соврали; будь все действительно настолько хорошо, Вы вряд ли обратили бы внимание на мою фразу.
14 ноя 05, 19:24    [2067526]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
vasilis
Member

Откуда: Украина, Киев
Сообщений: 2205
softwarer
...Данный пример не имел в виду ограничение "на SQL.RU". Впрочем, к сожалению, Вы соврали; будь все действительно настолько хорошо, Вы вряд ли обратили бы внимание на мою фразу.

В чем я соврал?
На фразу я обратил внимание, потому что я украинец и горжусь этим, как бы вам это не показалось смешным (хотя мне и "по барабану", "в" или "на Украине", да и жена у меня русская).
Вместо того, чтобы принести извинения за полностью дебильную фразу
softwarer
Ну и наконец - поведение... примерно такое же, как у украинцев, болезненно выискивающих употребление фразы "на Украине" и выводящих из него глобальные теории шовинизма и большебратства

недостойную не только модератора (!), а и любого нормального человека, коим вы себя, надеюсь, считаете, вы начинаете словоблудие и демагогию.
14 ноя 05, 20:10    [2067631]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67534
Блог
vasilis
В чем я соврал?

Во фразе "на SQL.RU нет национальностей". Собственно, Вы сами опровергаете эту фразу, говоря "На фразу я обратил внимание, потому что я украинец". Можно даже выстроить довольно формальную цепочку: ("потому что украинец", "обратил внимание на SQL.RU") => "на SQL.RU есть украинцы" => "на SQL.RU есть национальности" (в смысле, небезразличен национальный вопрос).

Боюсь, будет непросто объяснить это Вам, не задев еще сильнее, но попробую. Представьте себе, что в нашей беседе я сказал что-нибудь типа "Марья Ивановна была одета в платье цвета гватемальского флага". Эта фраза не несет никакого национального оттенка, просто констатация факта; мы (предположительно) поняли друг друга и беседуем дальше. Если в этот момент кто-либо присутствующих подпрыгивает с криком "Да как вы смеете сравнивать эту грязную тряпку с национальной святыней" - оттенок появляется. Это, разумеется, не единственный вариант; также он мог бы появиться, например, в беседе двух тупоголовных антигватемальцев, в устах которых указанная фраза была бы резким осуждением Марьи Ивановны.

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

vasilis
и горжусь этим, как бы вам это не показалось смешным

Мне это не кажется смешным. Мне не очень понятно, как можно гордиться тем, в чем не принимал личного участия, но выбор предметов гордости - полностью вопрос вкусов.

vasilis
(хотя мне и "по барабану", "в" или "на Украине",

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

vasilis
Вместо того, чтобы принести извинения за полностью дебильную фразу

Хм. Во-первых, если Вы хотите, чтобы я что-то сделал, лучший способ добиться этого - известить меня.

Во-вторых, именно потому что "среди умных людей нет национальностей", я не вижу причин извиняться.

Мне жаль, что я задел не самого плохого, судя по всему человека. Если хотите, считайте это формой извинения, если хотите, считайте, что на SQL.RU есть как минимум один дебил".

vasilis
недостойную не только модератора (!),

Хм. Честно говоря, попахивает комсомольским собранием.

Здесь и сейчас я - абсолютно рядовой участник; это первое. Второе: я не просил модераторства и дали мне эту работу такому, каков я есть - вместе со всеми моими недостатками. Я не считаю правильным "носить маску" и веду себя одинаково в любой шляпе. Если это перевешивает мои достоинства - есть человек, который эту работу дал и который может взять ее обратно; Вам он известен.

vasilis
а и любого нормального человека, коим вы себя, надеюсь, считаете,

Сложный вопрос. Хотя не исключено, что Вы снова сочтете это словоблудием, но при взгляде на многих соседей "нормальный (то есть "средний", "обычный", "как все вокруг") человек" тянет на что-то близкое к оскорблению.

Обычно, говоря "нормальный человек" подразумевается "люди, какими я хотел бы их видеть, каких хотел бы иметь вокруг, каким хотел бы быть сам, наконец". В этом смысле я считаю себя нормальным и уверен, что в этом смысле с Вашей точки зрения я изрядно ненормален.
14 ноя 05, 21:02    [2067722]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
Мимолетящий
Guest
Gluk (Kazan)
Теперь расскажите, как построить версионник без подобных аномалий и без отвратительных просадок по производительности при блокировании диапазонов ключей с соотвественно увеличивающеся вероятностью deadlock-ов ???
Вы будете злиться, но выходит такой версионник уже есть.
Пример старый и избитый. Попробуйте выполнить следующее на Oracle:
-- для всех транзакций устанавливаем isolation level в serializable.
create table a(i int)

-- transaction 1:
delete a where i in (1,2) 
insert into a (i) values (1); 

-- transaction 2:
delete a where i in (1,2) 
insert into a (i) values (2); 
commit; 

-- transaction 1:
commit;
В Oracle, после этого, в таблице А будет две записи - что есть бред.

А потом выполните то же самое на MSSQL2005 с уровнем изоляции snapshot (версионность от MS) - получите откат обоих транзакций, поскольку ситуация спорная. Значит в MS все же справились с версионными фантомами.

Gluk (Kazan)
Эти юнцы все больше предпочитают раскрывать жидо-массонские заговоры ораклоидных Лож, а чуть что кричать "сам дурак"
По-моему, так оскорбления только от вас и сыпятся. А еще надменный, высокомерно-отеческий тон.
А вы так уверены, что c MSSQL возятся одни юнцы? Ну где-то я с вами даже соглашусь, что "стариков" на Oracle поболе будет. Просто когда Oracle уже блистал, MSSQL еще пачкал памперсы. Но все меняется, не равен час и Oracle от старости начнет ходить под себя

Gluk (Kazan)
Юнцы какие-то буйные пошли
А может все же некоторые "старцы" брюзжат, и все что не относится к "преданьям старины глубокой" тут же предают анафеме ;)
И тогда, выходит, что психология неприязни к MSSQL вполне понятна и объясняется все тем же:

StalkerS
Но тут появляется какой-то mssql, который начинает портить идиллическую картину будущего. Что-ж, реакция некоторых ораклистов становиться понятна...
14 ноя 05, 23:54    [2067969]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67534
Блог
Мимолетящий
Вы будете злиться, но выходит такой версионник уже есть.

(версионность от MS) - получите откат обоих транзакций,

Второе мало соответствует "без просадок по производительности", и тем более "без просадок по функциональности" (в данном случае - необходимость повторить транзакцию, да еще желательно не влетев второй раз в тот же конфликт). Для старого же примера есть столь же старые решения. Тут, как всегда, два варианта. Представим себе СУБД в роли памперса, который, как известно, замечательно поглощает синюю жидкость, но хуже справляется с фекалиями. Итак, два варианта:

1) В руководстве по использованию памперсов написано, что в определенной ситуации надо предпринять определенные меры (то есть заменить).

2) Ощутив аварийную ситуацию, памперс автоматом расстегивается и падает с малыша, сохраняя свою чистоту.

Как родитель, я предпочту первый вариант - даже если памперс #2, пропустив фекалии мимо себя, застегнется обратно.
15 ноя 05, 00:22    [2068009]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67534
Блог
softwarer
1) В руководстве по использованию памперсов написано, что в определенной ситуации надо предпринять определенные меры (то есть заменить).

Пожалуй, аналогия будет более точной в другой формулировке:

1) В руководстве по использованию памперсов написано предупреждение о том, что при замене памперса можно испачкаться фекалиями и требуется некоторая осторожность.
15 ноя 05, 01:02    [2068097]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
Мимолетящий
Guest
softwarer
Как родитель, я предпочту первый вариант - даже если памперс #2, пропустив фекалии мимо себя, застегнется обратно.
Юмор у нас с вами дурацкий, но раз пошла такая пьянка:
Не соглашусь с вами, человек по своей природе существо ленивое. Но лень косвенным образом движет прогресс.
Если есть возможность повесить что-нибудь на кого-нибудь, особенно грязную и нудную работу, то лучше бы это сделать.
Так что большинство выберут продвинутый вариант #2, который правда еще и фекалии подотрет и попу малыша сам помоет.

Бесполезно оправдывать такое поведение Oracle. Может оно косвенно и повышает проиводительность, но уверенности не внушает.
Вам нужен самый быстрый в мире калькулятор, если время от времени при определенном порядке ввода аргументов его ответ не предсказуем?
Нет возможности в Oracle на 100% защитится от возникновения фантомов без разных оговорок, а на блокировочниках есть (простым включением serializable).

Все ли так гладко с версионным механизмом в новом "памперсе" от MS?
Не знаю, может и нет. Как появятся пиратки, пощупаю попристальней.
15 ноя 05, 02:19    [2068168]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
sshurik
Gluk (Kazan)
Такой то матери и грязного чтения ;)

Теперь точно прощаюсь. Юнцы какие-то буйные пошли


Похоже что Вы относитесь к тому типу людей из-за которого и расходятся сторонники разных БД. Неужели настолько проще (и экономичнее для рабочего времени) было парить нашего темного "товарища" на протяжении десятка постов? Понимаю что и жопу прикрыть хочется - мало ли действительно налажал в решении вопроса, да и поиздеваться над человеком тоже непрочь. Но всё-таки насколько проще было бы сказать, что на строку со счетчиком будет наложена RX блокировка после выполнения первого update'a.. Это, на мой взгляд, снимает все вопросы по дальнейшей технологии работы.


Конкретные претензии в личку
15 ноя 05, 09:34    [2068461]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Gluk (Kazan)
1. Завести поле-счетчик в DOCUMENT_TYPE
2. Обновлять его при добавлении документа и сравнивать с COUNT
в триггере уровня строки
3. Если значение COUNT превышено, бросать исключение
P.S. И не стоит азывать поле COUNT, если Вы конечно не любитель гемороя


3 пункт можно заменить CHECK констрейнтом, тогда вабче все будет без шума и пыли. Разумеется без всяких благоидиотизмов типа count(*) и блокированием записей перед update
15 ноя 05, 09:35    [2068473]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
DarkSquid
Member

Откуда: http://terredesreves.3bb.ru/
Сообщений: 4882
Gluk (Kazan)
Gluk (Kazan)
1. Завести поле-счетчик в DOCUMENT
2. Обновлять его при добавлении и удалении документа и сравнивать с DOCUMENT_TYPE.COUNT
в триггере уровня строки
3. Если значение DOCUMENT_TYPE.COUNT превышено, бросать исключение
P.S. И не стоит азывать поле COUNT, если Вы конечно не любитель гемороя


3 пункт можно заменить CHECK констрейнтом, тогда вабче все будет без шума и пыли. Разумеется без всяких благоидиотизмов типа count(*) и блокированием записей перед update
15 ноя 05, 09:42    [2068504]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7 8 9 10 .. 19   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить