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

Система транзакций на примере банковских карт

В отличие от системы обработки транзакций, это система пакетной обработки. Эта система одновременно обрабатывает несколько транзакций или «пакет» транзакций.

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

Как это работает?

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

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

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

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