трансакция или транзакция что это такое

Что такое трансакция

Трансакция – операции с денежными средствами: перевод, вывод или зачисление на счет. То есть любой процесс, связанный с использованием банковским счетом. Слово происходит от английского transaction – «дело, сделка, соглашение».

Существует несколько видов операций, которые принято называть трансакциями.

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

— Бухгалтерская трансакция – также перевод средств между счетами, но в рамках одного предприятия. При этом необходимо учитывать, что одна трансакция – это не обязательно всего одна проводка, так как некоторые операции требуют нескольких записей.

— Трансакция на рынке ценных бумаг – это сделка с теми или иными активами. Количество покупаемых или продаваемых акций, облигаций или производных финансовых инструментов за одну трансакцию может быть любым.

Также следует выделить свойства трансакции, такие как:

— Неразрывность. Трансакция — неделимая единица работы, она выполняется целиком или действие не происходит. За обеспечение неразрывности отвечает СУБД (система управлениями баз данных).

— Согласованность. Каждая сделка должна обеспечить перевод информации из одного слаженного состояния в другое.

— Изолированность. Трансакции выполняются независимо друг от друга. То есть промежуточные итоги незавершенной операции не должны быть доступными для новой сделки.

— Устойчивость. Результат успешной трансакции сохраняется в базе данных постоянно и не должен теряться при случайных сбоях.

Кроме того, термин «трансакция» широко применим при операциях с кредитными картами. Причем принято различать онлайн-трансакции, когда происходит немедленная связь с процессинговым центром, и офлайн-трансакции, при которых этого не происходит.

Источник

Трансакция

В банковской и экономической литературе обычно (но не всегда), используется написание транСакция, а в информатике преимущественно транЗакция. В статье ТранЗакция дается более подробное описание понятия, оно справедливо и в общем смысле, за исключением нюансов компьютерной реализации.

В психологии, например в НЛП или трансакционном анализе, трансакция — единица общения между двумя людьми, коммуникативный факт.

Содержание

Литература

1. Берн, Эрик «Игры, в которые играют люди. Люди, которые играют в игры», «Прамеб», 1992, ISBN 5-7815-1788-Х

Примечания

Источники

См. также

Полезное

Смотреть что такое «Трансакция» в других словарях:

трансакция — трансакция … Орфографический словарь-справочник

Трансакция — – общепринятый в финансовом мире термин, которым обозначается совершение операции. Слово происходит от английского transaction – «дело, сделка, соглашение». Существует несколько видов операций, которые принято называть трансакциями. Банковская… … Банковская энциклопедия

ТРАНСАКЦИЯ — (лат.). Договор, полюбовная сделка. Словарь иностранных слов, вошедших в состав русского языка. Чудинов А.Н., 1910. ТРАНСАКЦИЯ [лат. transactio совершение, договор] 1) соглашение (политическое, юридическое), сопровождаемое взаимными уступками; 2) … Словарь иностранных слов русского языка

трансакция — перевод, транзакция, пересылка, операция, соглашение Словарь русских синонимов. трансакция сущ., кол во синонимов: 5 • операция (457) • … Словарь синонимов

Трансакция — от лат. transactio совершение, договор А. Банковская операция по переводу денежных средств с одного счета на другой. Б. Сделка, сопровождаемая взаимными уступками. В. Бухгалтерская проводка. Г. Сделка с ценными бумагами. Словарь бизнес терминов.… … Словарь бизнес-терминов

ТРАНСАКЦИЯ — (от лат. trans сквозь, через, за и actio действие, выступление) англ. transaction; нем. Transaktion. 1. Соглашение (политическое, юридическое), сопровождаемое взаимными уступками. 2. Банковская операция, перевод денежных средств (в том числе за… … Энциклопедия социологии

ТРАНСАКЦИЯ — (от лат. transactio совершение, договор) 1) банковская операция, состоящая в переводе денежных средств с одного счета на другой; 2) сделка, соглашение, сопровождаемое взаимными уступками. Возможное написание термина транзакция. Райзберг Б.А.,… … Экономический словарь

Трансакция — (transaction) 1. Банковская операция по переводу денежных средств с одного счета на другой; 2. Коммерческая сделка, соглашение о купле продаже товаров, сопровождаемые взаимными уступками; 3. Сделка с ценными бумагами … Экономико-математический словарь

трансакция — 1. Банковская операция по переводу денежных средств с одного счета на другой. 2. Коммерческая сделка, соглашение о купле продаже товаров, сопровождаемые взаимными уступками. 3. Сделка с ценными бумагами. [http://slovar lopatnikov.ru/] Тематики… … Справочник технического переводчика

Трансакция — (от лат. transactio соглашение, сделка; англ. transaction) 1) соглашение (политическое, юридическое), сопровождаемое взаимными уступками; 2) банковская операция, перевод денежных средств (в т.ч. за границу) для каких либо целей … Энциклопедия права

ТРАНСАКЦИЯ — (лат. transactio совершение, договор) 1) банковская операция, состоящая в переводе денежных средств с одного счета на другой; 2) сделка, соглашение, сопровождаемое взаимными уступками … Юридическая энциклопедия

Источник

Транзакция — что это такое простыми словами

трансакция или транзакция что это такое. Смотреть фото трансакция или транзакция что это такое. Смотреть картинку трансакция или транзакция что это такое. Картинка про трансакция или транзакция что это такое. Фото трансакция или транзакция что это такое

Что такое транзакция на простом языке

Термин «транзакция» имеет латинское происхождение и, при прямом переводе, означает «обмен» или «совершение». В широком общеупотребительном смысле термин используется для обозначения любой операции по обмену данными, в следствие которого в систему были внесены изменения. Сегодня это слово чаще всего употребляется в финансовой сфере и обозначает операцию, по итогу которой изменились банковские счета участников.
До сих про не существует точного произношения, и в официальных документах, сопровождающих финансовые операции Вы можете встретить два варианта:

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

Термины и определения

В связи с этим принято делить транзакции на два вида, в зависимости от условий проведения сделки и личного участия сторон:

1. Онлайн-транзакции . Операции, которые проводятся через посредника или напрямую, но обязательно в реальном времени, при этом участники сделки могут находиться на разных концах земного шара. К таким операциям относятся:

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

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

трансакция или транзакция что это такое. Смотреть фото трансакция или транзакция что это такое. Смотреть картинку трансакция или транзакция что это такое. Картинка про трансакция или транзакция что это такое. Фото трансакция или транзакция что это такое

Прежде всего, стоит понимать, что сделка происходит не между человеком и магазином, а между двумя банками:

Суть операции заключается в следующем:

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

Источник

Транзакция: что это такое простыми словами

трансакция или транзакция что это такое. Смотреть фото трансакция или транзакция что это такое. Смотреть картинку трансакция или транзакция что это такое. Картинка про трансакция или транзакция что это такое. Фото трансакция или транзакция что это такоеОбычному человеку не всегда понятны специальные банковские термины. И один из них – «транзакция». В этой статье мы подробно разберем вопросы: транзакция, что это такое простыми словами, рассмотрим ее процедуру и виды, а также пути решения возникших сложностей для рядового владельца счета.

Что такое транзакция по банковской карте

Транзакция – это любая операция со счетом в банке, которая приводит как к увеличению, так и к уменьшению баланса.

Оплата покупки при помощи карты – транзакция, что сопровождается уменьшением счета. Получение пенсии на карту – тоже транзакция, которая увеличила баланс. А вот проверка баланса – таковой не является, однако, если банк берет за эту услугу даже незначительную сумму, то оплата проверки является транзакцией.

Понятие произошло от английского transaction обозначающего «сделку». В деловой сфере правильным считается написание и «транзакция» и «трансакция». Слово «транзакция» вне профессиональной банковской сферы обозначает сделку, платеж, соглашение, договор. Также оно используется в программировании.

По банковскому счету выполняются два типа финансовых транзакций:

Приходные, увеличивающие сумму на счету:

Расходные банковские транзакции подразумевают уменьшение финансов на счету:

Участники транзакции

Какой бы ни был тип транзакции, в каждом из финансовых переводов участвуют несколько сторон:

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

трансакция или транзакция что это такое. Смотреть фото трансакция или транзакция что это такое. Смотреть картинку трансакция или транзакция что это такое. Картинка про трансакция или транзакция что это такое. Фото трансакция или транзакция что это такое

Транзакция в магазине: что происходит на самом деле?

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

Банковская транзакция выполняется в несколько этапов:

Свидетельством удачного списания средств с карты и оплаты покупки становится чек, на котором содержится вся важная информация: сумма покупки, дата и время, номер транзакции.

Онлайн и оффлайн: в чем разница?

С зависимости от оперативности выполнения, транзакции объединяются в две группы:

Онлайн-транзакция проводится мгновенно. Ею мы чаще всего пользуемся, оплачивая товары и снимая зарплату в банкомате. В течение пары секунд банки-участники сделки обмениваются запросами и кодами, и осуществляют перевод средств. От покупателя требуется только подтверждение согласия перевода в виде предоставления карты в магазине, ПИН-кода для терминала или смс-кода при заказе товаров в сети.

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

Защита транзакции

Зачем нужны номера транзакций

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

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

Транзакционный номер доступен владельцу счета. Он указывается на мониторе банкомата, в выписках и на чеках. Чек с номером – гарантия удачной транзакции и страховка на случай, если перевод не дойдет адресату или возникнут другие внештатные ситуации.

трансакция или транзакция что это такое. Смотреть фото трансакция или транзакция что это такое. Смотреть картинку трансакция или транзакция что это такое. Картинка про трансакция или транзакция что это такое. Фото трансакция или транзакция что это такое

Статусы транзакций

Каждой транзакции присущи два статуса:

Главное определение транзакции – ее неразрывность. Она может быть выполнена или нет. Никаких промежуточных статусов и значений быть не может.

Если транзакция отклонена одним из участников, то в зависимости от причин, владелец счета может получить сообщение о приостановке или отклонении.

Что значит «транзакции по вашей карте приостановлены»?

Такое сообщение получает владелец карты, которая временно заблокирована. Причины блокировки могут быть разнообразны:

Также могут блокироваться и отдельные транзакции. Например, для реализации крупного транзакционного перевода банку потребуется дополнительное согласие плательщика на проведение. Или же получатель подозревается в мошенничестве либо незаконной деятельности.

«Транзакция отклонена» – что это означает?

Нередко при попытке оплатить транзакцией платежная система выдает одну из следующих форм отказа: платеж не совершен, транзакция отклонена, запрещена.

Причинами такого отказа могут быть следующие ситуации:

Если на счету точно есть средства, карта не просрочена и проблем с вводом ПИН-кода не было, то за разъяснением причин приостановки транзакций следует позвонить в банк на горячую линию. Также можно лично обратиться в отделение банка.

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

В любом случае, если оплатить покупку или перевести деньги не удается, не стоит паниковать. Приостановка и отклонение транзакции – это действенный инструмент для защиты средств клиентов банка, и применяется он для обеспечения финансовой безопасности владельца счета.

трансакция или транзакция что это такое. Смотреть фото трансакция или транзакция что это такое. Смотреть картинку трансакция или транзакция что это такое. Картинка про трансакция или транзакция что это такое. Фото трансакция или транзакция что это такое

Отмена транзакции

Отменить транзакцию можно несколькими способами, в зависимости от вида и цели платежа.

1. Аннулирование операции

Если Вы ошиблись при введении номера карты получателя и отправили деньги неизвестному человеку, отмена займет много времени и сил. Первым делом обратитесь в ваш банк и получите дальнейшие инструкции. Скорее всего придется лично посетить отделение и составить заявление. После сбора информации и подтверждения транзакции к процедуре будет привлечен получатель. Если он согласиться сотрудничать и добровольно вернет средства, вопрос разрешится быстро. В противном случае ситуация будет рассматриваться в суде.

Согласно закону о защите прав потребителей, Вы можете вернуть некоторые товары в магазин в течение 14 дней после оплаты. Сделка может быть отменена или же будет оформлен возврат.

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

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

Как работает система транзакций

Оплата пластиковой картой

Что такое транзакция по банковской карте Сбербанка? Это оплата любых счетов без использования наличных. Пластиковая карта уже давно обогнала наличные деньги по частоте и объемам оплаты. И это закономерно, ведь при оплате карточкой никогда не возникнут проблемы отсутствия сдачи и обсчета недобросовестными продавцами. А риск потери и кражи денег стремится к нулю, ведь карта защищена ПИН-кодом, а при потере один звонок в банк блокирует счет.

Пластиковой картой удобно:

Оффлайн-транзакция вне реального времени

Этот способ оплаты удобен для отложенных платежей или в условиях отсутствия соединения с процессинговым центром. Однако на сегодняшний день он все чаще уступает место платежам онлайн и остался востребованным только в корпоративной среде для своевременной выплаты зарплат.

Для отложенного перевода денег с карты выполняется ее электронный оттиск и оформляется специальная заявка. Эти данные пересылаются банку-эмитенту для оформления платежа.

Перевод средств между счетами

Денежный перевод – самый простой способ пополнить свой счет, или перевести любую сумму родным и близким. В рамках одного банка комиссия насчитывается от 0 до 3 %. При переводе между различными банками оплата услуг может быть и выше.

Переводом с одного счета на другой легко:

Удобной услугой является «Регулярный платеж», который позволяет вовремя оплачивать некоторые счета и не заботиться о соблюдении сроков, например, пополнение баланса мобильного.

Системы денежных переводов и электронные платежи

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

Надеемся, наша статья оказалась полезной и помогла Вам разобраться, что такое транзакция.

Источник

Что такое транзакция

Транзакция — это набор операций по работе с базой данных (БД), объединенных в одну атомарную пачку.

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

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

Содержание

Что такое транзакция

Транзакция — это архив для запросов к базе. Он защищает ваши данные благодаря принципу «всё, или ничего».

Представьте, что вы решили послать другу 10 файликов в мессенджере. Какие есть варианты:

Кинуть каждый файлик отдельно.

Сложить их в архив и отправить архив.

Вроде бы разницы особой нет. Но что, если что-то пойдет не так? Соединение оборвется на середине, сервер уйдет в ребут или просто выдаст ошибку.

В первом случае ваш друг получит 9 файлов, но не получит один.

трансакция или транзакция что это такое. Смотреть фото трансакция или транзакция что это такое. Смотреть картинку трансакция или транзакция что это такое. Картинка про трансакция или транзакция что это такое. Фото трансакция или транзакция что это такое

Во втором не получит ничего. Нет промежуточных состояний. Или получил всё, или не получил ничего. Но зато если произошла ошибка, вы снова перешлете сообщение. И друг получит все файлики разом, не придется проверять «не потерялся ли кто».

трансакция или транзакция что это такое. Смотреть фото трансакция или транзакция что это такое. Смотреть картинку трансакция или транзакция что это такое. Картинка про трансакция или транзакция что это такое. Фото трансакция или транзакция что это такое

Казалось бы, ну недополучил файлик, что с того? А если это критично? Если это важные файлики? Например, для бухгалтерии. Потерял один файлик? Значит, допустил ошибку в отчете для налоговой. Значит, огребешь штраф и большие проблемы! Нет, спасибо, лучше файлы не терять!

И получается, что тебе надо уточнять у отправителя:

— Ты мне сколько файлов посылал?

— Да? У меня только 9. Давай искать, какой продолбался.

И сидите, сравниваете по названиям. А если файликов 100 и потеряно 2 штуки? А названия у них вовсе не «Отчет 1», «Отчет 2» и так далее, а «hfdslafebx63542437457822nfhgeopjgrev0000444666589.xml» и подобные. Уж лучше использовать архив! Тогда ты или точно всё получил, или не получил ничего и делаешь повторную попытку отправки.

Так вот! Транзакция — это тот же архив для запросов. Принцип «всё, или ничего». Или выполнены все запросы, которые разработчик упаковал в одну транзакцию, или ни один.

Допустим, вы переводите все деньги с одной карточки на другую. Выглядит это «внутри» системы как несколько операций:

delete from счет1 where счет = счет 1

insert into счет2 values (‘сумма’)

Принцип «всё или ничего» тут очень помогает. Было бы обидно, если бы деньги со счета1 списались, но на счет2 не поступили. Потому что соединение оборвалось или вы в номере счета опечатались и система выдала ошибку.

Но благодаря объединению запросов в транзакцию при возникновении ошибки зачисления мы откатываем и операцию списания. Деньги снова вернулись на счет 1!

трансакция или транзакция что это такое. Смотреть фото трансакция или транзакция что это такое. Смотреть картинку трансакция или транзакция что это такое. Картинка про трансакция или транзакция что это такое. Фото трансакция или транзакция что это такое

Если говорить по-научному, то транзакция — упорядоченное множество операций, переводящих базу данных из одного согласованного состояния в другое. Согласованное состояние — это состояние, которое подходит под бизнес-логику системы. То есть у нас не остается отрицательный баланс после перевода денег, номер счета не «зависает в воздухе», не привязанный к человеку, и тому подобное.

Как отправить транзакцию

Чтобы обратиться к базе данных, сначала надо открыть соединение с ней. Это называется коннект (от англ. connection, соединение). Коннект — это просто труба, по которой мы посылаем запросы.

трансакция или транзакция что это такое. Смотреть фото трансакция или транзакция что это такое. Смотреть картинку трансакция или транзакция что это такое. Картинка про трансакция или транзакция что это такое. Фото трансакция или транзакция что это такое

Чтобы сгруппировать запросы в одну атомарную пачку, используем транзакцию. Транзакцию надо:

Выполнить все операции внутри.

Как только мы закрыли транзакцию, труба освободилась. И ее можно переиспользовать, отправив следующую транзакцию.

Можно, конечно, каждый раз закрывать соединение с БД. И на каждое действие открывать новое. Но эффективнее переиспользовать текущие. Потому что создание нового коннекта — тяжелая операция, долгая.

трансакция или транзакция что это такое. Смотреть фото трансакция или транзакция что это такое. Смотреть картинку трансакция или транзакция что это такое. Картинка про трансакция или транзакция что это такое. Фото трансакция или транзакция что это такое

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

Разработчик берет соединение из пула и отправляет по нему транзакцию. Как только транзакция закрывается (неважно, успешно она прошла или откатилась), соединение возвращается в пул, и его может использовать следующая бизнес-операция.

Как открыть транзакцию

Зависит от базы данных. В Oracle транзакция открывается сама, по факту первой изменяющей операции. А в MySql надо явно писать «start transaction».

Как закрыть транзакцию

Тут есть 2 варианта:

COMMIT — подтверждаем все внесенные изменения;

ROLLBACK — откатываем их;

И вся фишка транзакционной базы в том, что база сначала применяет запрос «виртуально», реально ничего в базе не изменив. Ты можешь посмотреть, как запрос изменит базу, ничего при этом не сохраняя.

Например, я пишу запрос:

Запрос выполнен успешно, хорошо! Теперь, если я сделаю select из этой таблицы, прям тут же, под своим запросом — он находит Иванова! Я могу увидеть результат своего запроса.

трансакция или транзакция что это такое. Смотреть фото трансакция или транзакция что это такое. Смотреть картинку трансакция или транзакция что это такое. Картинка про трансакция или транзакция что это такое. Фото трансакция или транзакция что это такое

Но! Если открыть графический интерфейс программы, никакого Иванова мы там не найдем. И даже если мы откроем новую вкладку в sql developer (или в другой программе, через которую вы подключаетесь к базе) и повторим там свой select — Иванова не будет.

трансакция или транзакция что это такое. Смотреть фото трансакция или транзакция что это такое. Смотреть картинку трансакция или транзакция что это такое. Картинка про трансакция или транзакция что это такое. Фото трансакция или транзакция что это такое

А все потому, что я не сделала коммит, не применила изменения:

Я могу добавить кучу данных. Удалить полтаблицы. Изменить миллион строк. Но если я закрою вкладку sql developer, не сделав коммит, все эти изменения потеряются.

Когда я впервые столкнулась с базой на работе, я часто допускала такую ошибку: подправлю данные «на лету» для проведения теста, а в системе ничего не меняется! Почему? Потому что коммит сделать забыла.

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

И фамилия = «Тестовый»

Удалили. Делаем select count — посмотреть количество записей в таблице. А там вместо миллиона строк осталось 100 тысяч! Если база реальная, то это очень подозрительно. Врядли там было СТОЛЬКО тестовых записей.

Проверяем свой запрос, а мы там где-то ошиблись! Вместо «И» написали «ИЛИ», или как-то еще. Упс. Хорошо еще изменения применить не успели. Вместо коммита делаем rollback.

трансакция или транзакция что это такое. Смотреть фото трансакция или транзакция что это такое. Смотреть картинку трансакция или транзакция что это такое. Картинка про трансакция или транзакция что это такое. Фото трансакция или транзакция что это такое

Тут может возникнуть вопрос — а зачем вообще нужен ROLLBACK? Ведь без коммита ничего не сохранится. Можно просто не делать его, и всё. Но тогда транзакция будет висеть в непонятном статусе. Потому что ее просто так никто кроме тебя не откатит.

Или другой вариант. Нафигачили изменений:

Поменять код города с 495 на 499;

Но видим, что операцию надо отменять. Проверочный select заметил, что база стала неконсистентной. А мы решили «Ай, да ладно, коммит то не сделали? Значит, оно и не сохранится». И вернули соединение в пул.

трансакция или транзакция что это такое. Смотреть фото трансакция или транзакция что это такое. Смотреть картинку трансакция или транзакция что это такое. Картинка про трансакция или транзакция что это такое. Фото трансакция или транзакция что это такое

Следующая операция бизнес-логики берет это самое соединение и продолжает в нем работать. А потом делает коммит. Этот коммит относился к тем 3 операциям, что были внутри текущей транзакции. Но мы закоммитили еще и 10 других — тех, что в прошлый раз откатить поленились. Тех, которые делают базу неконсистентной.

трансакция или транзакция что это такое. Смотреть фото трансакция или транзакция что это такое. Смотреть картинку трансакция или транзакция что это такое. Картинка про трансакция или транзакция что это такое. Фото трансакция или транзакция что это такое

Так что лучше сразу сделайте откат. Здоровей система будет!

Итого

Транзакция — набор операций по работе с базой данных, объединенных в одну атомарную пачку.

Одной операции всегда соответствует одна транзакция, но в рамках одной транзакции можно совершить несколько операций (например, несколько разных insert можно сделать, или изменить и удалить данные. ).

трансакция или транзакция что это такое. Смотреть фото трансакция или транзакция что это такое. Смотреть картинку трансакция или транзакция что это такое. Картинка про трансакция или транзакция что это такое. Фото трансакция или транзакция что это такое

Чтобы отправить транзакцию к базе, нам нужно создать соединение с ней. Или переиспользовать уже существующее. Соединение называют также коннект (англ connection) — это просто труба, по которой отправляются запросы. У базы есть пул соединений — место, откуда можно взять любое и использовать, они там все свободные.

В некоторых системах транзакцию нужно открыть, в других она открывается сама. А вот закрыть ее нужно самостоятельно. Варианты:

COMMIT — подтверждаем все внесенные изменения;

ROLLBACK — откатываем их;

трансакция или транзакция что это такое. Смотреть фото трансакция или транзакция что это такое. Смотреть картинку трансакция или транзакция что это такое. Картинка про трансакция или транзакция что это такое. Фото трансакция или транзакция что это такое

Делая комит, мы заканчиваем одну бизнес-операцию, и возвращаем коннект в пул без открытой транзакции. То есть просто освобождаем трубу для других. Следующая бизнес-операция берет эту трубу и фигачит в нее свои операции. Поэтому важно сделать rollback, если изменения сохранять не надо. Не откатите и вернете соединение в пул? Его возьмет кто-то другой и сделает коммит. Своих изменений, и ваших, неоткаченных.

Не путайте соединение с базой (коннект) и саму транзакцию. Коннект — это просто труба, операции (update, delete…) мы посылаем по трубе, старт транзакции и commit /rollback — это группировка операций в одну атомарную пачку.

См также:

Блокировки транзакций — что может пойти не так при одновременном редактировании

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *