Идентификатор транзакции что это такое простыми словами
Что такое идентификатор транзакции?
Хэш-идентификатор или идентификатор транзакции (TxID) означает хэш транзакции. Он состоит из буквенно-цифровых символов и представляет собой идентификационный номер, присвоенный транзакции Биткойн. Каждая отдельная транзакция, которую пользователи генерируют в блокчейне Биткойн, имеет этот уникальный идентификатор. Точно так же транзакции в блокчейне Ethereum или Litecoin будут иметь уникальный хэш ID.
Например, идентификатор транзакции Биткойн выглядит так:
Хеш ID транзакции Ethereum выглядит так:
Этот уникальный идентификатор представляет собой длинную строку букв и цифр, используемую для идентификации конкретной транзакции в блокчейне.
Использование хэша и идентификатора транзакции
Все транзакции в блокчейне общедоступны. После того, как вы совершаете платеж или перевели монеты на другой адрес, транзакцию можно отследить. Также генерируется хэш ID. Используя идентификатор транзакции, можно легко отследить статус транзакции. По запросу доступна полная информация о переводе, включая адреса отправителей и получателей, общую отправленную сумму, дату, очередность блока в блокчейне, комиссию и количество подтверждений.
Хеш транзакции и идентификаторы не содержат личной информации, поэтому делиться ими безопасно. Но чем хороши хеш транзакции и её идентификатор? Они полезны во многих случаях: например, вы можете поделиться этой информацией с поставщиком услуг, чтобы сообщить им статус передачи. Кроме того, вы можете поделиться своим идентификатором транзакции с продавцом, чтобы подтвердить успешность транзакции.
Где найти хэш-идентификатор транзакции?
Предположим, вы ищете свой хэш-идентификатор какой-либо криптовалюты. В таком случае вам следует указать свой профиль на обменнике в истории платежей. Если найти историю не удалось, обратитесь в службу поддержки биржи.
Идентификатор биткойн-транзакции / хэш
В разделе «Последние транзакции» хэш транзакции можно увидеть, щелкнув на знак «?» рядом со столбцом статуса. Обратите внимание, что хеш формируется в течение определенного периода после инициирования вывода. Сколько времени займет этот процесс, зависит от загрузки сети.
Блокчейн и идентификатор транзакции
Вот как можно найти хэш-идентификатор Bitcoin, Ethereum и Bitcoin cash в блокчейн:
Определение идентификатора транзакции 2021
Table of Contents:
ОПРЕДЕЛЕНИЕ «Идентификатора транзакции»
Уникальный идентификатор, присвоенный бизнесом каждой транзакции, сделанной с дебетовой или кредитной картой. Идентификаторы транзакций, также называемые идентификаторами транзакций, используются для того, чтобы помочь предприятиям идентифицировать все компоненты транзакции с момента прокрутки карты до момента прохождения платежа.
BREAKING DOWN ‘Идентификатор транзакции’
Бизнес, который управляет онлайн, присваивает идентификаторы транзакций, чтобы иметь возможность отслеживать информацию о конкретной транзакции, чтобы отвечать на вопросы от клиентов и финансовых учреждений. Идентификатор транзакции аналогичен ссылочному номеру, присвоенному транзакциям банками, и который отображается в ежемесячной финансовой отчетности клиента. Идентификаторы транзакций облегчают для компаний отслеживание отдельных транзакций, включая захват первоначальной транзакции, изменение существующей транзакции и предоставление возмещений за транзакцию.
Предприятия используют идентификаторы транзакций, чтобы упростить управление компиляцией и запросами большого количества транзакций. Эти цифры используются как в письменных сообщениях, таких как счет-фактура, так и в электронной форме, например, в электронном письме с подтверждением покупки.
Идентификаторы транзакций облегчают взаимодействие клиентов с представителями обслуживания клиентов, так как это позволяет клиенту связывать проблемы с конкретной транзакцией, просто перечисляя серию цифр и букв. Например, проще обсуждать «покупку 123456», чем обсуждать купленный товар, имя покупателя и дату транзакции. Описательные элементы транзакции сохраняются в метаданных, найденных в электронной базе данных бизнеса.
Предприятия, которые работают с несколькими магазинами, такими как розничные торговцы с большими ящиками, могут связывать идентификатор транзакции с конкретным терминалом карты в определенном магазине. Бизнес может использовать идентификаторы транзакций, чтобы определить, есть ли проблемы с конкретным терминалом, или если какой-либо конкретный сотрудник звонит по покупкам, приводит к тому, что больше товаров возвращается в магазин позднее.
Что такое транзакция по банковской карте?
Закончил в 2001 году СПбГЭУ по направлению «Бухучет и анализ». Работал с 2009 по 2016 год в банке Санкт-Петербург. В данный момент занимается юридической практикой.
В этой статье мы простыми словами объясняем, что такое транзакция. Для нетерпеливых скажем уже здесь, что так называется операция, в результате которой остаток на счете изменился в большую или меньшую сторону. Иногда техника дает сбой или же сам пользователь бывает невнимателен, из-за чего терминал показывает ошибку. В настоящей статье мы подробно разбираем само понятие «транзакция», виды операций, технические нюансы и способы решения возможных проблем.
Что означает слово «транзакция»?
Когда речь заходит об определении тех или иных слов, всегда наилучшим решением является проверка этимологии слова. В нашем случае слово было взято из английского «transaction» (приблизительный перевод на русский — операция, сделка, договор), в англоязычных странах издавна этим словом обозначалась любая сделка или договор, но если брать более широко, то таким же словом называлась сделка купли-продажи.
Примерно такое же значение сохранилось и в русском варианте этого слова. «Транзакция» обозначает изменение состояния счета в банке. То есть любое действие или операция, уменьшающее или увеличивающее количество денег на карточке или на счете, будет являться транзакцией. Так, например, в перечень таких операций входят:
Это далеко не полный список. Сюда можно отнести и самое обычное пополнение мобильного телефона с банковской карты, и оплату «Мобильного банка» или других услуг банка, и все остальное — важен лишь сам факт изменения остатка на счете. Операция, влияющая на этот параметр, является по определению «транзакцией».
Что такое код и номер транзакции?
Уже более или менее понятно, что такое транзакция по банковской карте Сбербанка или карте любого другого банка. Но вот код и номер вызывают вопросы: что это, на что влияет эта информация и как ее использовать? А, самое главное, нужно ли?
И код, и номер нужны исключительно сотрудникам банка для разрешения спорных или технически проблемных ситуаций. Еще до проведения самой транзакции ей присваивается код и номер. В случае, если деньги не поступили получателю, если транзакция была отклонена или произошла иная внештатная ситуация, именно номер и код операции помогут сотрудникам банка за пару минут найти одну единственную операцию среди миллиона ей подобных.
Ее отображают в онлайн-банке, на чеках и в прочих местах потому, что клиент должен располагать этой информацией. Благодаря этому повышается качество обслуживания.
Например, клиент отправил кому-либо деньги, но они поступили, клиент звонит в колл-центр банка, чтобы ему помогли операторы. Но как они найдут среди множества операций именно его? Здесь и помогут номер и код — их необходимо озвучить, после чего за пару минут операторы найдут всю нужную информацию.
Виды транзакций
Видов всего два, и делятся они в основном условно. Разница между ними проходит в платформе, через которую клиент делает запрос на осуществление транзакции:
Если говорить просто, то онлайн-транзакция обслуживается эмитентом мгновенно, а оффлайн — только в определенные числа либо по желанию клиента.
Как происходит транзакция?
Этот процесс достаточно непрост. Студентам-экономистам приходится почти полгода вникать в тонкости банковской деятельности, где солидная часть материала посвящена как раз проведению транзакций. Тем не менее, мы постараемся объяснить цепочку действий простыми словами:
Так обрабатывается любая операция, только в разы более сложным и многоступенчатым образом.
Статусы транзакций
Вообще, с точки зрения операционного ведения счета, статус у операции может быть лишь одним из двух: успешно завершенная или же незавершенная. Но так только у операторов банка. У клиентов, для упрощения и большей комфортабельности сервиса, отображаются несколько видов статусов. Так банк дает понять клиенту, что не так и сколько осталось ждать разрешения ситуации.
Что значит «транзакции по вашей карте приостановлены»?
Это значит, что запросы посылать вы можете, но вот завершать их банк отказывается. В большинстве случаев так происходит потому, что срок действия карты незаметно для вас подошел к концу. В таком случае все операции блокируются до получения новой карточки.
Однако, иногда могут быть другие причины. Часто это сообщение означает, что была произведена блокировка счета или карточки. Блокируется карточка или из-за несколько раз неправильно введенного пин-кода, или из-за подозрительных операций (мошеннических или преступных, как показалось банку). В любом случае при таком статусе операции нужно незамедлительно обращаться в банк для решения вопроса.
Что значит «транзакция отклонена»?
Сообщение часто встречается даже у самых добросовестных пользователей, так что пугаться не нужно — это абсолютная норма. Такой статус означает отказ банка проводить дальше ваш запрос. Так происходит практически всегда по одной из нижеперечисленных причин:
В любом случае, лучшее решение — попробовать отправить деньги снова, но на этот раз с внимательным вводом пин-кода и вводом реквизитов. Если это не помогло, следует обратиться в банк, чтобы оператор сообщил о причине проблемы.
Краткое резюме статьи
Итак, мы уже разобрались, что значит транзакция и каких видов она бывает. Этим словом называется любая операция, изменившая состояние счета: получение денег или их перевод, оплата чего-либо считаются транзакциями. При этом они делятся на «оффлайн» и «онлайн».
Разница между ними проходят во времени обработки запроса: первые обрабатываются в заранее определенные числа или по указанию клиента, а вторые — мгновенно. Ошибки при проведении платежа вполне возможны, и это не страшно. Чаще всего проблема решается внимательным вводом реквизитов и пин-кода, но, в случае чего, обращение в банк способно решить более серьезную проблему.
Транзакция: что это такое простыми словами
Обычному человеку не всегда понятны специальные банковские термины. И один из них – «транзакция». В этой статье мы подробно разберем вопросы: транзакция, что это такое простыми словами, рассмотрим ее процедуру и виды, а также пути решения возникших сложностей для рядового владельца счета.
Что такое транзакция по банковской карте
Транзакция – это любая операция со счетом в банке, которая приводит как к увеличению, так и к уменьшению баланса.
Оплата покупки при помощи карты – транзакция, что сопровождается уменьшением счета. Получение пенсии на карту – тоже транзакция, которая увеличила баланс. А вот проверка баланса – таковой не является, однако, если банк берет за эту услугу даже незначительную сумму, то оплата проверки является транзакцией.
Понятие произошло от английского 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 — это группировка операций в одну атомарную пачку.
См также:
Блокировки транзакций — что может пойти не так при одновременном редактировании