72 похожих чатов

> Если Вы имеете в виду "Repeatable Read isolation level

only sees data committed before the transaction began" — то да, так оно и есть, документация не врёт.

получается, что в запросе с режимом REPEATABLE read который я привел происходит неповторяющееся чтение

вы так восклицаете с самого первого раза, хотя восклицать нужно мне:)
(с того что вы с которого раза не можете понять примитивнейий конфликт в голове погружающегося в этот топик: уровень rr, при этом эффект non-rr. как так?)

тут уже я не знаю как перефразировать один и тот же вопрос в очередной раз

20 ответов

58 просмотров

> что в запросе с режимом REPEATABLE read который я привел происходит неповторяющееся чтение Нет, не получается. Вы сами это видели? Разумеется, нет — потому что это было бы ошибкой. > вы так восклицаете с самого первого раза, хотя восклицать нужно мне:) Потому что Вы всё понимаете превратно. :( Более того, документация PostgreSQL именно про concurrency control — это лучшее, что Вы найдёте в интернете (даже по сравнению с "классическими" учебниками, поверьте — я читал несколько). Как так выходит, что из неё Вы делаете такие выводы, меня откровенно изумляет. > уровень rr, при этом эффект non-rr. Там. Нет. Этого. Эффекта. Приведите-ка определение non-repeatable read, раз Вы такое утверждаете. > тут уже я не знаю как перефразировать один и тот же вопрос в очередной раз Ваш вопрос основан на ложной посылке — что толку его перефразировать?

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

RAFIZ- Автор вопроса
Yaroslav Schekin
> что в запросе с режимом REPEATABLE read который ...

первый вопрос был "блокирует"? коллега отвечает "нет"

RAFIZ- Автор вопроса
Ilya Anfimov
У нас обе версии хранятся — и до обновления (котор...

и я всё-таки не понимаю почему два селекта выдают разную инфу при rr, если влезает промежуточная транзакция (обновляющая)

RAFIZ
и я всё-таки не понимаю почему два селекта выдают ...

Потому, что могут! (Действительно, нафига бы транзакцыи, начавшэй читать данные после коммита — не видеть результатов этого коммита).

RAFIZ
первый вопрос был "блокирует"? коллега отвечает "н...

И отвечает совершенно верно! Что Вам в этом непонятно?

RAFIZ
и я всё-таки не понимаю почему два селекта выдают ...

Вам уже (трижды?) написали, что нет, не выдают! Вы способны хотя бы это осознать, или > если Ярославу нравится терять время, что ж, его право мне стоит прекратить? ;)

RAFIZ- Автор вопроса
Ilya Zviagin
В одной транзакции иди в разных?

1 транзакция селект sum(*) 2 транзакция update 1 транзакция снова селект sum(*) написал в хронологическом порядке 😭

RAFIZ
1 транзакция селект sum(*) 2 транзакция update 1 т...

Результаты первого и второго SUM() в (открытой, продолжающейся) транзакции 1 с уровнем изоляции RR в PostgreSQL всегда (если она сама не меняла эти данные) будут одинаковыми. Обратите внимание, что по ISO SQL это не обязано быть так.

RAFIZ- Автор вопроса
Yaroslav Schekin
Результаты первого и второго SUM() в (открытой, пр...

ок спасибо надо в след раз просто запускать на базе игрушечной...

RAFIZ
1 транзакция селект sum(*) 2 транзакция update 1 т...

Тогда оба результата sum будут одинаковые.

RAFIZ- Автор вопроса
Yaroslav Schekin
Результаты первого и второго SUM() в (открытой, пр...

получается, при описанном мной сценарий читающая транзакция при втором sum(*) получит (вот тут уже термин точно подходит) неконсистентные данные (с реальной базой, но констстентные между собой)? раз между двумя чтениями эти строки обновит конкурентная транзакция

RAFIZ
получается, при описанном мной сценарий читающая т...

> вот тут уже термин точно подходит Нет. Более того, сам вопрос полностью выдаёт, что у Вас нет "фундамента" для понимания изоляции (Вы не знаете, что такое Isolation из ACID), извините. :( Я ещё раз советую Вам прочитать всю ту главу из документации PostgreSQL (и читать до тех пор, пока не наступит понимание, что в реальности "консистентность" обратна тому, что Вы подразумевали в своём вопросе). Или почитайте какой-то учебник (но, опять-таки, мне кажется, что многие из них как минимум не лучше).

RAFIZ
получается, при описанном мной сценарий читающая т...

Ну так и есть а как ты предлагаешь чтобы работала система управления базами данных? Это и Логично, транзакция один раз прочитала данные получила их, дальше хочет ещё раз прочитать эти данные что она должна получить? Она должна получить то же самое, те же данные, что прочитала в первый раз, этого и есть и изоляция транзакций. Вот если транзакция один завершилось бы и потом началась бы транзакция три которая читала эти же данные ну эти же логические данные Но следующий транзакции тогда она бы видела транзакция два

RAFIZ- Автор вопроса
Yaroslav Schekin
> вот тут уже термин точно подходит Нет. Более то...

я всё знаю:) вы вопрос не поняли(есть те, кто понял), мне кажется вас стоит ограничить от выдачи ответов в общественном чате, куда могут приходить совсем зелёные ребята

RAFIZ- Автор вопроса
Ilya Zviagin
Ну так и есть а как ты предлагаешь чтобы работала ...

нет, я согласен не говорю что это неправильно просто подмечаю, что если бы tx1 брала лок, то tx2 бы пришлось подождать первую, и тогда первая бы читала реальные данные во всей базе, а не лишь своём снимке

RAFIZ
нет, я согласен не говорю что это неправильно про...

Так и происходит в так называемых "блокировачниках" - СУБД типа SQLServer

RAFIZ- Автор вопроса
Ilya Zviagin
Так и происходит в так называемых "блокировачниках...

а в mvcc-based последующие чтения актуальны лишь в рамках снимка. и это тем не менее считается RR для них

Похожие вопросы

Обсуждают сегодня

Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
На чём в основном щас пишут мини апы? Vuejs?
Goot evening Not everyone
6
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Вопрос: Здравствуйте! У меня возникла проблема с использованием плагина Mall в OctoberCMS. Я использую все файлы и компоненты в их исходном виде, без изменений. Однако на стр...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
8
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
9
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Вот объясните, как это работает: Вот есть допустим unix-подобная система, и программа запускает допустим printf или fork, как это передается ядру, и как оно обрабатывать начин...
Егор
14
Карта сайта