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

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

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

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

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

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

Виды транзакций

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

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

Транзакции принято разделать на два способа их совершения:

  • оффлайн. Классический тип платежа по заявкам. Участники транзакции в этом случает не имеют постоянной взаимосвязи, а перевод средств осуществляется не сразу по их заявкам. Чаще всего таким образом зачисляют деньги на зарплатные карточки сотрудников крупных предприятий. Процесс предусматривает сначала списание средств с расчётного счета предприятия, а затем постепенное зачисление на карточные счета рабочих;
  • онлайн. Более современный и оперативный тип расчётов. Все транзакции происходят практически мгновенно. Производятся преимущественно внутри одного финансового учреждения. Задержки возможны и при онлайн транзакциях, но связано это не самим процессом, а с техническими особенностями, либо временной блокировкой перевода службой безопасности банка для проверки законности платежа.

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

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

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

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

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

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

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

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

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

Мы можем рекомендовать смело использовать этот механизм при своих расчётах с другими людьми или партнерами по бизнесу.

Слово транзакция

Слово состоит из 10 букв: первая т, вторая р, третья а, четвёртая н, пятая з, шестая а, седьмая к, восьмая ц, девятая и, последняя я,

Читать еще:  Как стать участником нис

Слово транзакция английскими буквами(транслитом) – tranzaktsiya

  • Буква р встречается 1 раз. Слова с 1 буквой р
  • Буква т встречается 1 раз. Слова с 1 буквой т
  • Буква ц встречается 1 раз. Слова с 1 буквой ц
  • Буква я встречается 1 раз. Слова с 1 буквой я
  • Буква а встречается 2 раза. Слова с 2 буквами а
  • Буква з встречается 1 раз. Слова с 1 буквой з
  • Буква и встречается 1 раз. Слова с 1 буквой и
  • Буква к встречается 1 раз. Слова с 1 буквой к
  • Буква н встречается 1 раз. Слова с 1 буквой н

Значения слова транзакция. Что такое транзакция?

Транзакция Транзакция – банковская операция, состоящая в переводе денежных средств с одного счета на другой. См. также: Безналичные расчеты Транзакции Финансовый словарь Финам.

Транза́кция (англ. transaction) ― в информатике, логическая единица работы или последовательность ряда таких операций с данными, которые преобразуют некоторое непротиворечивое состояние базы данных в другое непротиворечивое состояние…

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

Транза́кция, или транса́кция (англ. bank transaction, от лат. transactio — соглашение, договор) — в общем случае, любая операция с использованием банковского счёта.

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

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

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

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

Невыполненная транзакция – транзакция с ценными бумагами, не выполненная на дату расчетов из-за технических причин или временных трудностей. По-английски: Failed transaction См. также: Транзакции Операции с ценными бумагами

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

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

Журнализация изменений — функция СУБД, которая сохраняет информацию, необходимую для восстановления базы данных в предыдущее консистентное состояние в случае логических или физических отказов.Формируемая таким образом информация называется журнал изменений базы данных. Журнал содержит отметки начала и завершения транзакции, и отметки принятия контрольной точки (см. ниже).

Координатор распределённых транзакций

Координатор распределённых транзакций (DTC) — компонент Microsoft Windows, предназначенный для координации изменения данных на двух или более сетевых компьютерных системах.

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

Уровень изолированности транзакций

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

Примеры употребления слова транзакция

В 2012 году каждая третья банковская транзакция физических лиц совершалась через интернет.

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

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

Транзакция была закрыта в ценовом диапазоне 4,625% того же дня.

Транзакция по карте: просто о сложном

Транзакция по банковской карте: определение и виды

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

Слово имеет латинские корни («transactio» означает договор или совершение). Если обобщать, то транзакцией является любая операция, повлекшая за собой изменение состояния счета клиента.

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

Транзакция в магазине: разбор по кусочкам

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

Читать еще:  Что такое ножницы цен

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

  1. Прежде всего, нужно понимать, что имеются два основных участника: банк-эмитент (ему принадлежит пластиковая карта) и банк-эквайер (обслуживает торговую точку, предоставляя ей POS-терминал). В чем вообще суть операции? В том, что банк-эквайер хочет получить от банка-эмитента разрешение на проведение транзакции. Прокатывая платежное средство через терминал, кассир отправляет в виде потока зашифрованной информации запрос, содержащий необходимые для осуществления транзакции данные. Это номер карты, срок ее действия, ФИО владельца и т.д. В общем, все, что содержат магнитная полоса или чип.
  2. Посланный запрос летит… нет, не в банк. А в специальную организацию, называемую процессинговым центром. Хотя стоит сделать поправку. У некоторых банков (как правило, самых крупных) имеется собственный процессинговый центр. Другие же учреждения вынуждены заключать договор либо с отдельной организацией, либо с другим банком. Процесс, в котором участвует процессинговый центр, называется «запрос на авторизацию». Авторизация (от англ. «authorization») – это разрешение на совершение транзакции. Функция процессингового центра заключается в обработке информации и пересылке ее далее в банк-эмитент.
  3. Проверив сведения и сопоставив их со своими данными, банк-эмитент отправляет процессинговому центру разрешение на совершение транзакции, которое заключается в присвоении операции кода авторизации.
  4. Окончательный этап прост – получив разрешение, банк-эквайер осуществляет транзакцию, результатом которой является чек из POS-терминала и пересылка денег со счета клиента на счет магазина.

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

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

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

Легче всего аннулировать транзакцию в тот же день, что и производилась оплата. На каждом терминале есть специальная функция. Если же терминал уже отгружен (данные передались в банк), то следует обращаться в финансовое учреждение, которое выпустило «пластик».

Вот как все непросто оказалось с таким простым словом «транзакция».

Транзакции и механизмы их контроля

Транзакции

Транзакцией называется последовательность операций над данными имеющая начало и конец

Транзакция это последовательное выполнение операций чтения и записи. Окончанием транзакции может быть либо сохранение изменений (фиксация, commit) либо отмена изменений (откат, rollback). Применительно к БД транзакция это нескольких запросов, которые трактуются как единый запрос.

Транзакции должны удовлетворять свойствам ACID

Атомарность. Транзакция либо выполняется полностью либо не выполняется вовсе.

Согласованность. При завершении транзакции не должны быть нарушены ограничения накладываемые на данные (например constraints в БД). Согласованность подразумевает, что система будет переведена из одного корректного состояния в другое корректное.

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

Устойчивость. После фиксации изменения не должны быть утеряны.

Журнал транзакций

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

Журнал содержит значения, которые данные имели до и после их изменения транзакцией. Write-ahead log strategy обязывает добавлять в журнал запись о предыдущих значениях до начала, а о конечных после завершения транзакции. В случае внезапной остановки системы БД читает лог в обратном порядке и отменяет изменения сделанные транзакциями. Встретив прерванную транзакцию БД выполняет ее и вносит изменения о ней в журнал. Находясь в состоянии на момент сбоя, БД читает лог в прямом порядке и возвращает изменения сделанные транзакциями. Таким образом сохраняется устойчивость транзакций которые уже были зафиксированы и атомарность прерванной транзакции.

Простое повторное выполнение ошибочных транзакций недостаточно для восстановления.

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

Читать еще:  Капитализация процентов по вкладу что это

Уровни изоляции

Чтение фиксированных данных (Read Committed)

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

Пример. Начальное значение баланса 0$. Т1 добавляет к балансу 50$. Т2 считывает значение баланса (50$). Т1 отменяет изменения и завершается. T2 продолжает выполнение располагая неверными данными о балансе.

Решением является чтение фиксированных данных (Read Committed) запрещающее читать данные, измененные транзакцией. Если транзакция A изменила некоторый набор данных, то транзакция B при обращении за этими данными вынуждена ожидать завершения транзакции A.

Повторяемое чтение (Repeatable Read)

Проблема потерянных изменений (Lost Updates). Т1 сохраняет изменения поверх изменений Т2.

Пример. Начальное значение баланса 0$ и две транзакции одновременно пополняют баланс. T1 и T2 читают баланс равный 0$. Затем T2 прибавляет 200$ к 0$ и сохраняет результат. T1 прибавляет 100$ к 0$ и сохраняет результат. Итоговый результат 100$ вместо 300$.

Проблема неповторяемого чтения (Unrepeatable read). Повторное чтение одних и тех же данных возвращает разные значения.

Пример. Т1 читает значение баланса равное 0$. Затем Т2 добавляет к балансу 50$ и завершается. Т1 повторно читает данные и обнаруживает несоответствие с предыдущим результатом.

Повторяемое чтение (Repeatable Read) гарантирует что повторное чтение вернет тот же результат. Данные прочитанные одной транзакцией запрещено менять в других до завершения транзакции. Если транзакция A прочла некоторый набор данных, то транзакция B при обращении за этими данными вынуждена ожидать завершения транзакции A.

Упорядоченное чтение (Serializable)

Проблема фантомного чтения (Phantom Reads). Два запроса выбирающие данные по некоему условию возвращают разные значения.

Пример. T1 запрашивает количество всех пользователей баланс которых больше 0$ но меньше 100$. T2 вычитает 1$ у пользователя с балансом 101$. T1 повторно выполняет запрос.

Упорядоченное чтение (Serializable). Транзакции выполняются как полностью последовательные. Запрещается обновлять и добавлять записи, подпадающие под условия запроса. Если транзакция A запросила данные всей таблицы, то таблица целиком замораживается для остальных транзакций до завершения транзакции A.

Планировщик (Scheduler)

Устанавливает очередность в которой должны выполняться операции при параллельно протекающих транзакциях

Обеспечивает заданный уровень изолированности. Если результат выполнения операций не зависит от их очередности, то такие операции коммутативны (Permutable). Коммутативны операции чтения и операции над разными данными. Операции чтения-записи и записи-записи не коммутативны. Задача планировщика чередовать операции выполняемые параллельными транзакциями так, чтобы результат выполнения был эквивалентен последовательному выполнению транзакций.

Механизмы контроля параллельных заданий (Concurrency Control)

Оптимистический основан на обнаружении и разрешении конфликтов, пессимистический на предотвращении возникновения конфликтов

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

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

Блокировка (Locking)

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

Блок может накладываться на базу данных, таблицу, ряд или аттрибут. Совместный захват (Shared Lock) может быть наложен на одни данные несколькими транзакциями, разрешает всем транзакциям (включая наложившую) чтение, запрещает изменение и монопольный захват. Монопольный захват (Exclusive Lock) может быть наложен только одной транзакцией, разрешает любые действия наложившей транзакции, запрещает любые действия остальным.

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

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

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

С определенной периодичностью производится поиск взаимоблокировок. Один из способов обнаружения — по времени, то есть считать что взаимоблокировка произошла если транзакция выполняется слишком долго. Когда взаимоблокировка найдена, то одна из транзакций откатывается, что дает возможность другим транзакциям участвующим во взаимоблокировке завершиться. Выбор жертвы может быть основан на стоимости транзакций или их старшинстве (Wait-Die и Wound-wait схемы).

Каждой транзакции T присваивается временная метка TS содержащая время начала выполнения транзакции.

Если TS(Ti) = W-TS(Q), то чтение выполняется и R-TS(Q) становится MAX(R-TS(Q), TS(T)).

Когда транзакция T запрашивает изменение данных Q возможны два варианта.

Ссылка на основную публикацию
Adblock
detector