PostgreSQL транзакцияларында Repeatable Read изоляция деңгээлинин иштөө принцибин түшүндүрө аласызбы?
sobes.tech AI
AIден жооп
PostgreSQL-де Repeatable Read изоляциялык деңгээли, бир транзакция ичинде бир эле саптарды кайра-кайра окуганда, ошол эле маалыматтарды кайтарат деп кепилдик берет. Бул MVCC (Көп Вариациялык Конкуренцияны Башкаруу) механизми аркылуу ишке ашырылат.
Транзакция гана анын башталгандан мурун бекитилген өзгөртүүлөрдү көрөт жана башка транзакциялардын анын башталгандан кийин жасаган өзгөртүүлөрүн көрбөйт. Ошентип, кайталанбаган окуу (non-repeatable read) жана фантомдук окуу (phantom read) көрүнүштөрү алдын алынат.
Мисал катары: эгер сиз бир транзакцияда сапты окуп, кайра окусаңыз, ошол эле маалыматтарды көрөсүз, башка транзакция ошол арада ошол сапты өзгөртүп же өчүргөн болсо да — бул өзгөртүүлөр only бир commitтен кийин жана жаңы транзакциянын башталышынан кийин көрүнөт.