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

Откуда: 127.0.0.1
Сообщений: 67463
Блог
DarkSquid
Более одного select for update за транзакцию - потенциальный DEADLOCK. Если Вы его не получали - проведите более качественное нагрузочное тестирование.

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

У меня есть пример крупного production, в котором, когда случился не deadlock - нет, просто ожидание на блокировке - на моих глазах админ подпрыгнул (это было ЧП), нашел, что блокировка есть следствие кривых рук человека, руками полезшего в базу, позвонил ему и вставил более чем адекватный пистон.

Вы, конечно, можете считать реальную работу недостаточно качественным нагрузочным тестированием. В чем-то соглашусь; можно будет добиться, что блокировки будут случаться не раз в год, а раз в месяц.

DarkSquid
Не отчетами едиными жив человек.

Если Вы хотите подключиться к текущей ветке обсуждения - пожалуйста, соблюдайте ее контекст. Если хотите начать новую ветку - пожалуйста, сформулируйте явно, какую именно.
14 ноя 05, 10:07    [2064809]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
aZm
Member

Откуда:
Сообщений: 2357
DarkSquid
таких как SELECT FOR UPDATE или INSERT в таблицу с уникальным индексом, то это потенциальный DEADLOCK.


select for update no wait

а как insert в табличку с уникальным индексом может вызвать дедлок? нельзя ли подробнее, я честно не понял - и не разу не сталкивался.

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


спасибо за информацию :)
14 ноя 05, 10:13    [2064835]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67463
Блог
StalkerS
2 softwarer

Я бы попросил не приводить мои топики в пример "недоброжелательных к Oracle", ибо при всем уважении к вам, это неправда. Вот чего в них нет - это недоброжелательности.


Цитирую из стартового письма Вашего топика:

StalkerS
За такие слова, хочется взять уважаемого господина Кайта и постучать его головой об стенку.


Может, конечно, это форма выражения доброжелательности :-)

StalkerS
Зато сколько г. выливается в ответ - просто умопомрачительно.
А вот постов в виде "оракл дерьмо, и на нем работают одни дауны, не способные раздвинуть горизонты своего интеллекта" - буквально единицы.

Что объясняется очень просто: каждый человек очень хорошо помнит пролетевшую рядом какашку, а все брошенные в том же направлении считает справедливым ответом, не входящим в понятие "кидаться дерьмом".

Давайте так: лично я не готов потратить время на детальный, по сообщениям, подсчет того, кто, когда и сколько кидал. Мой оппонент взял пару топиков, созданных, похоже, одним автором, к тому же серым, и попросил привести аналоги. Я привел, выбрав из старых те, где был флейм при практически полном отсутствии конструктива.

StalkerS

И собственно, ответ на него тоже довольно очевидный.

Дальше началось психоложество.

Поясняю: этим термином я называю рассуждения не профессионалов-психологов о мотивах, потаенных мыслях и прочих деталях психологии других людей.
14 ноя 05, 10:19    [2064867]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67463
Блог
DarkSquid
Эскалация - это увеличение количества блокируемых объектов.

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

DarkSquid
Если у Вас в транзакции более двух блокирующих операций, таких как SELECT FOR UPDATE или INSERT в таблицу с уникальным индексом, то это потенциальный DEADLOCK.

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

Хм. А эскалация - это, видимо, лечение deadlock-ов методом Касперского.
14 ноя 05, 10:26    [2064905]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
StalkerS
Member

Откуда: Melbourne
Сообщений: 1344
softwarer

Может, конечно, это форма выражения доброжелательности :-)

Кайт и Оракл - 2 разные вещи.
softwarer

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

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

Откуда:
Сообщений: 9365
DarkSquid
А между тем блокировки сами по себе очень нужны.
...Не любя блокировочники ораклисты никогда не должны забывать о блокировках. А расставляя блокировки вручную легко получить деадлок, к примеру, по первости, если в ходе транзакции потребуется эскалировать блокировки.


Мда, чувствуется Глыбокое владение предметом
Травой дело не обошлось, такой эффект может дать только кислота
14 ноя 05, 12:16    [2065554]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Дикий Билл
Щас наверняка посыпятся оскорбления... Но все-таки. Если один пользователь изменяет данные, для другого они должны быть заблокированы?


Вы просто не в курсе, вопреки мнению отдельных правозащитников MS SQL
В Oracle ЕСТЬ блокировки
Чего в нем нет, так это НЕНУЖНОГО блокирования читающих пишущим и наоборот
14 ноя 05, 12:19    [2065577]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
DarkSquid
Эскалация - это увеличение количества блокируемых объектов. Если у Вас в транзакции более двух блокирующих операций, таких как SELECT FOR UPDATE или INSERT в таблицу с уникальным индексом, то это потенциальный DEADLOCK.

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


Опять проецируем свои богатые познания в MS SQL на малознакомый (и потому малопонятный) Oracle
14 ноя 05, 12:23    [2065604]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
StalkerS
softwarer

Может, конечно, это форма выражения доброжелательности :-)

Кайт и Оракл - 2 разные вещи.


Очень грубо, тем более Кайт в упомянутом посте был СОВЕРШЕННО прав. То как Вы его поняли - Ваша проблема. Побейтесь головой об стену сами плиз
14 ноя 05, 12:28    [2065645]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67463
Блог
StalkerS
Кайт и Оракл - 2 разные вещи.

В чем-то так. Но случилось так, что связали их именно Вы, создав топик со словом "Oracle", написав внутри в том числе про Oracle, и закончив примерно следующим: "я ни хрена не понял написанное вице-президентом Oracle (или кто он там), а потому хочу проявить к нему недружественность".

StalkerS
softwarer

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

тоже психоложество.

Безусловно.

StalkerS
У меня есть друг, по профессии - психиатр, при случае попытаюсь узнать причины у профессионала

Поддерживаю. Хотя по моим представлениям, серьезный профессионал вряд ли поставит заочный диагноз большой и абсолютно неизвестной ему группе разнородных лиц.
14 ноя 05, 15:18    [2066458]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
DarkSquid
Member

Откуда: http://terredesreves.3bb.ru/
Сообщений: 4882
Gluk (Kazan)
Опять проецируем свои богатые познания в MS SQL на малознакомый (и потому малопонятный) Oracle


Вообще-то я под Ораклом с 2000 года пишу с перервывом на два года на MS SQL. Так что познаний у меня и там и там не много - 3 года оракла и 2 MS SQL. Но в последнее время (после MS SQL) понял, что многие вещи делал неправильно. Причём не только я, но все так делали - на первом моём месте работы.
14 ноя 05, 15:25    [2066484]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
VoDA
Member

Откуда: сеРверная пальмира :)
Сообщений: 4898
Дикий Билл
Щас наверняка посыпятся оскорбления... Но все-таки. Если один пользователь изменяет данные, для другого они должны быть заблокированы?
Зачем?
Прошу расценивать это не как прикол/ придирку /т.п. а как теоретический вопрос. Блокировки (по теории) позволяют избежать некоторых проблем... (описание RTFM).

Дикий Билл
Если для другого пользователя своя версия данных, то это уже не достоверные данные? К примеру оди формирует отчет, но в это время второй именил данные (стоимость там какую-нибудь) тогда ведь отчет будет неверный?
Нет данные остаются ВЕРНЫМИ, но на момент времени НАЧАЛА построения отчета.

При блокировке (возможно и по другому) отчет ждет завершения блокировки и является верным на момент времени ОКОНЧАНИЯ блокирования.

ЗЫ сам работаю больше с MS SQL, поэтому о проблемах версионности данных ничего не могу сказать.
----

SAnalis.ru - Just for fun. Еще расту, а так я ДЖИП!
14 ноя 05, 15:30    [2066506]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
VoDA
Member

Откуда: сеРверная пальмира :)
Сообщений: 4898
DarkSquid
Вообще-то я под Ораклом с 2000 года пишу с перервывом на два года на MS SQL. Так что познаний у меня и там и там не много - 3 года оракла и 2 MS SQL. Но в последнее время (после MS SQL) понял, что многие вещи делал неправильно. Причём не только я, но все так делали - на первом моём месте работы.
У них принципиально разные методы правильного программирования.

Общаясь с Oracl'истами почерпнул, что для них нормально при обработке данных использовать курсоры. MS SQL наверное на этом умрет

С другой стороны по Кайту (и не только) на Оракле нужно применять связанные переменные, MS SQL не озависит от этого. Хотя тестов не устраивал

----

SAnalis.ru - Just for fun. Еще расту, а так я ДЖИП!
14 ноя 05, 15:34    [2066528]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
DarkSquid
Но в последнее время (после MS SQL) понял, что многие вещи делал неправильно. Причём не только я, но все так делали - на первом моём месте работы.


Это безусловно похвально. Только, ПРИ ЧЕМ ТУТ Oracle ???
14 ноя 05, 15:39    [2066557]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
VoDA
MS SQL не озависит от этого. Хотя тестов не устраивал


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

Откуда: http://terredesreves.3bb.ru/
Сообщений: 4882
Блокировки нужны для согласованного изменения данных несколькими транзакциями, которые могут вносить изменения в базу на основе её текущего состояния. Больше они не для чего не нужны.

То есть если в транзакции есть IF, в который подставляются данные из какого-либо селекта, то именно эти данные должны быть заблокированы.

Хочу особо отметить, что для отчётов они не нужны, здесь спорить трудно с кем-либо из ораклистов.

Каждую транзакцию можно представить в виде хранимой процедуры P(A,B), где A - данные из базы, а B - данные, переданные пользователем. Так вот A и B должны быть константой, либо меняться исключительно внутри P, иначе результат совместной работы двух процедур будет непредсказуем.

P.S.
Всё вышенаписанное было написано, чтобы не обсуждать больше вопрос о необходимости блокировок для построения отчётов. Кто может - пусть напишет понятней.
14 ноя 05, 15:41    [2066580]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
DarkSquid
Блокировки нужны для согласованного изменения данных несколькими транзакциями, которые могут вносить изменения в базу на основе её текущего состояния. Больше они не для чего не нужны.

То есть если в транзакции есть IF, в который подставляются данные из какого-либо селекта, то именно эти данные должны быть заблокированы.


С учетом версионности, из первого НЕ СЛЕДУЕТ второе.
14 ноя 05, 15:43    [2066593]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
DarkSquid
Member

Откуда: http://terredesreves.3bb.ru/
Сообщений: 4882
Gluk (Kazan)
Это безусловно похвально. Только, ПРИ ЧЕМ ТУТ Oracle ???


Дело в том, что именно ораклисты многие вообще не думают о том, стоит ли блокировать данные или нет. А думать об этом надо при написании каждой хранимой процедуры. Это не на Oracle наезд. Это как-бы призыв не забывать о блокировках.
14 ноя 05, 15:43    [2066594]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Извините, не думаю, что Вы общались с достаточным количеством "ораклистов", чтобы делать столь громкие и глобальные выводы
14 ноя 05, 15:47    [2066614]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
DarkSquid
Member

Откуда: http://terredesreves.3bb.ru/
Сообщений: 4882
Gluk (Kazan)
С учетом версионности, из первого НЕ СЛЕДУЕТ второе.


Именно из-за версионности следует необходимость блокировки самим программистом данных, используемых для управления модификацией данных.
14 ноя 05, 15:49    [2066621]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
Vadim_Maximov
Member

Откуда: Москва
Сообщений: 3571
DarkSquid
Именно из-за версионности следует необходимость блокировки самим программистом данных, используемых для управления модификацией данных.
Приведите пример плз, а то я лично не вижу связи между версионностью и необходимостью блокировать данные.
14 ноя 05, 15:50    [2066636]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
DarkSquid
Gluk (Kazan)
С учетом версионности, из первого НЕ СЛЕДУЕТ второе.


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


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

Ничего личного
14 ноя 05, 15:55    [2066672]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
DarkSquid
Member

Откуда: http://terredesreves.3bb.ru/
Сообщений: 4882
Vadim_Maximov
Приведите пример плз, а то я лично не вижу связи между версионностью и необходимостью блокировать данные.


Ничего, что я без кода?

Пусть есть условие - тип документа имеет не более 6 дополнительных форматов просмотра.

Первая транзакция проверяет условие и назначает документу один формат
Вторая транзакция вставленного формата не видит, проверяет условие и назначает ещё один формат.
Третья транзакция вставленных форматов не видит, проверяет условие и назначает ещё один формат.
Десятая транзакция работает со своим снимком (до коммита) и назначает ещё один формат.

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

1. Версионность
2. Игнорирование программистом необходимости блокировать данные, принимающие участие в IF-ах.
14 ноя 05, 16:01    [2066697]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Пока вижу только бардак в плане постановки задачи
14 ноя 05, 16:22    [2066779]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Кстати, есть такая недокументированная фича SKIP LOCKED, как раз для вашего случая. Т.е. даже в столь идиотской постановке задачу можно решить вменяемым образом и без просадок по производительности.

Будьте добры обрисовать задачу более подробно
можно без кода
14 ноя 05, 16:25    [2066791]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5 6 7 8 9 10 .. 19   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить