|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
Исключительно ради копи-паста. У меня когнетивный диссонанс chpashaLeonid KudryavtsevНачинает ли команда SELECT новую транзакцию конечно, ведь .... Leonid KudryavtsevIMHO не все так очевидно Basil A. SidorovНеправильное у вас ИМХО. Выборка обязана подчиняться общим правилам просто потому..... Basil A. Sidorov..."Концепт-гада" не очень с вами согласен.... Или хотите предоставить классификацию, в которой оператор select не принадлежит к D(ata)M(anipulation)L(anguage) ? Basil A. Sidorov... только select в курсоре PSQL - вообще ни разу не DML и в этом случае надо читать другие разделы документации. Basil A. Sidorov... дальше можно не теоретизировать, поскольку БД .... для чтения - крайне узкий сегмент по поводу SELECT и DML. Тут уже не для флуда, а справедливости ради ИнтернетСтрого говоря существует пять DML команд SELECT INSERT UPDATE DELETE MERGE На практике профессионалы в области баз данных SELECT обычно не рассматривают как часть DML. Обычно SELECT рассматривается отдельно и это становится понятно когда .... Ну и напомню, что я и говорил, что INSERT,UPDATE,DELETE транзакцию точно начинает, а вот про SELECT'ом - я не уверен, И пример 21995440 , который IMHO вполне показывает, что в ряде случаев (пусть и редких) Oracle вполне со мной согласен. Определение "Active Transactions" из того же концепта "An active transaction has started but not yet committed or rolled back" блок с автономной транзацией, SELECT есть, а "has started" нет UPDATE, SELECT FOR UPDATE - "has started" есть SELECT - нет Практика. Oracle 11g. Автономные транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 18:41 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
Ради справедливости к документации Oracle Leonid Kudryavtsev...Мне кажется, есть два разных механизма СУБД... и тут Oracle Co. вполне со мной согласен глава N 9 - Data Concurrency and Consistency глава N 10 - Transactions если бегло просмотреть главу 10, то ничего про SELECT там нет. Одни сплошные INSERT / UPDATE. Что подразумевают авторы под "executable SQL statement" то лично для меня великая тайна. Судя по всему, некоторые разновидности команды SELECT они не подразумевали. И да, бегло данную главу перед началом дискуссии я прочитал. Но, повторюсь, в главе Transactions никаких явных слов про SELECT нет. P.S. Добавил в автономный блок команду TRANSACTION NAME 'my_transaction'; как и обещал концепт - транзакция (автономная) началась (ошибка), а вот просто SELECT - нифига ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 18:53 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
Ради справедливости к Basil A. Sidorov ))) В главе N 9 Data Concurrency and Consistency есть понятие Transaction-Level Read Consistency которое each statement in a transaction sees data from the same point in time, which is the time at which the transaction began. Но тут у нас уже происходит зацикливание: Командир всегда прав, если командир не прав - смотри пункт 1. :=) IMHO ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 18:59 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, "DML оператор select" и "select в PSQL курсоре" - сильно разные вещи, хотя и там и там есть одинаковые буквы. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 20:16 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevВ главе N 9 Data Concurrency and Consistency есть понятие Transaction-Level Read ConsistencyТранзакция и уровень изоляции транзакции - тоже разные вещи, хотя тоже совпадают некоторые буквы. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 20:17 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevКогда есть UPDATE/DELETE/INSERT мы транзакцию всегда можем "пощупать" т.к. работа механизма N2 вполне себе видна Если же изменений нет - то транзакция становится чисто призрачным теоретическим термином. Есть она, нет ее.... есть ли ангелы, нет ангелов... сколько их может уместиться на кончике иглы? наркоманы, прочтите концептс уже. там же три странички. после set transaction isolation level serializable; первый же селект стартанет транзакцию. и ее замечательно можно пощупать, т.к. все следующие селекты вернут данные на момент старта первого DML, на момент старта первого селекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 20:53 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
наркоманы все что свзяно с БД ,это удел хибера и ИИ все что не укладывается в crud =cпроектировано как говно=это слова Джоша Лонга забудье уже про ващи селекты и хранимые процедуры кто хочет приходите в питер на joker,чтобы понять насколько вы устарели в рамках современой разработки приложений я вам вангую вы прозрете насоколько ваши знания устарели ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 21:51 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
H5N1, Для oracle есть ещё два способа. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 22:15 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
H5N1, Наркоман. Тип изоляции в бд никто не меняет. Это ты так, для справки сказал что в африке бывают семиголовые чудища. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 23:21 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
PetroNotC SharpH5N1, Наркоман. Тип изоляции в бд никто не меняет. Это ты так, для справки сказал что в африке бывают семиголовые чудища. это для деревенских, что не слышали, что такое уровень изоляции простой способ взять и убедится что селект это DML и вполне себе стартует транзакцию. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 23:41 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
H5N1, Плохо когда теретики спорят с практиками. Одни говорят - транзакция стартует!!! А другие говорят - что значит стартует, если абсолютно ничего не меняется. Откатить даже нельзя))). Тут пришел ты и для доказательства предложил изменить НУ (начальные условия). В общем весело отдыхаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 23:54 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
PetroNotC SharpА другие говорят - что значит стартует, если абсолютно ничего не меняется. Откатить даже нельзя)))Жили-были три поросёнка: Ниф-Ниф, Нуф-Нуф и Нах-Нах. Заканчивай, Петро, выделываться. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 07:03 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, Не боись. Я не много) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 07:09 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
Варианты получения консистентных селектов. Код: plsql 1. 2. 3. 4.
Еще вариант. С помощью flashback query Код: plsql 1. 2. 3. 4. 5.
+ тоже самое через current timestamp. Можно еще рассмотреть через materialized views (в старых версиях это называлось snapshot) или temporary tables. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 10:03 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
mayton, Да. Но как говорят фаулеры и им подобные, на сервере это не применяется. А советуют прменять " read-first — транзакционная стратегия высокого параллелизма". Это когда сначала все читающие, а потом пишем. Пишет контейнер в прграммной транзакции. .... Это не решает конечно твою проблему с двумя select, но зато не тормозит и высокий параллелизм. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 10:39 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
mayton, То есть ты привел решение от админа и в субд. А фаулер решает не трогая механизмы бд. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 10:40 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
Да я и есть бывший админ БД. А что топик запрещает нам обсуждать механику БД. Кажется мы уже достаточно далеко ушли от Фаулера. А он - чортов теоретик и говорит как нужно сажать клубнику квадратным способом. Только сам он никогда в колхозе не был. И не знает сельхоза. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 10:44 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
maytonДа я и есть бывший админ БД.У меня отличная память. Я знаю конечно. Просто ты с одной стороны посмотрел, я с другой стороны. Это здорово смотреть с разных сторон. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 10:51 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
mayton, То есть по концепции выше, для высокого параллелизма и масштабирования, предлагается вообще вывести чтение ЗА ТРАНЗАКЦИИ. Компромисс в архитектуре неизбежная вещь (с) Поэтому то что сутки обсуждаем предлагается вообще не обсуждать и забыть. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 11:06 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
Топик не про параллелизм а про блокировки. Я-бы различал эти понятия хотя-бы чтоб не скатываться в прочие вопросы типа перформанса. Какой перформанс если оператор "ушла на обед" и оставила открытой форму редактирования клиента? Это другая задача. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 11:12 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
maytonТопик не про параллелизм а про блокировки.тут админы пишут. "если много транзакций и они длинные, то блокировка на запись переходит на страничную...." Связь прямая параллелизма и транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 11:15 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
mayton, То есть если select пихаем в транзакцию, она будет 5 сек. Если убираем - 5миллисек. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 11:17 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
PetroNotC SharpmaytonТопик не про параллелизм а про блокировки.тут админы пишут. "если много транзакций и они длинные, то блокировка на запись переходит на страничную...." Связь прямая параллелизма и транзакции. Какие админы? С какой DBMS? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 11:17 |
|
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
|
|||
---|---|---|---|
#18+
PetroNotC Sharpmayton, То есть если select пихаем в транзакцию, она будет 5 сек. Если убираем - 5миллисек. Покажи макет кода. Я хочу обсуждать предметно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 11:18 |
|
|
start [/forum/topic.php?fid=59&msg=39877539&tid=2121061]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 288ms |
total: | 416ms |
0 / 0 |