что такое транзакция в интернете

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

Это такие процедуры, как:

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

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

Как осуществляется транзакция

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

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

Транзакция предполагает 4 действия и осуществляется в следующей последовательности:

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

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

Источник

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

Здравствуйте, уважаемые читатели блога Goldbusinessnet.com. Начинающим пользователям часто бывает трудно сразу сориентироваться в многообразии окружающих их терминов (скажем, таких как гипертекст, валидация, аутсорсинг), к которым принадлежит и транзакция.

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

Однако, чаще всего слово «транзакция» у людей ассоциируется с финансовыми операциями. Это вполне логично, потому как оно чаще всего упоминается именно в этой связи.

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

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

Что такое транзакция и где используется этот термин

Для начала выясним, как появилось в русском языке это слово. Оно произошло от английского transaction (а можно взять в качестве истока и вариант на латыни «transactio»), что в переводе означает «договор» или «соглашение».

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

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

-«Здравствуйте! Можно с Вами обсудить одну проблему?» (стимул)

-«Здравствуйте! Конечно, я готов.» (реакция)

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

Транзакции в экономике — это единицы взаимодействия экономического характера между сторонами (представленными как отдельными индивидуумами, так и группами людей), которые известный американский экономист, социолог и юрист Джон Роджерс Коммонс (John Rogers Commons) классифицировал на три вида:

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

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

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

Виды финансовых транзакций

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

Банковские транзакции. К ним относится и перевод денег с одного счета на другой, и действия с банковской картой (снятие наличных в банкомате, оплата покупок в магазине).

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

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

Транзакции в электронных платежных системах (ЭПС). С появлением электронных денег появились новые возможности, которые реализуются при помощи соответствующих сервисов, как российских, так и международных (таких как WebMoney, ЮMoney, PayPal).

Особенность переводов тут характеризуются тем, что они выполняются зарегистрированными пользователями исключительно через интернет со своего аккаунта (кошелька).

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

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

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

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

Источник

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

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

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

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

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

Понятие произошло от английского 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 не будет опубликован. Обязательные поля помечены *