Система обработки транзакций — это программа или программное обеспечение, которое обрабатывает все транзакции, которые входят и выходят из бизнеса или компании. Система перебирает транзакции один за другим, как в банкомате. Термин «транзакция» в данном случае относится не только к финансовым аспектам, но и к запросам информации в целом, например, о бронировании рейса или просто входе в онлайн-банковский счет.
В отличие от системы обработки транзакций, это система пакетной обработки. Эта система одновременно обрабатывает несколько транзакций или «пакет» транзакций.
Современная аналогия — это торрент-файл, связанный с папкой файлов. Пользователь не может сразу получить доступ к файлу, пока все файлы в папке не будут полностью загружены. Процесс транзакции, напротив, дает результаты в реальном времени, которые создают больше удобства и меньше путаницы. Например, онлайн-покупатель может мгновенно увидеть, как количество доступных продуктов уменьшается, поскольку другие покупатели помещают продукты в свою корзину онлайн-покупок.
Как это работает?
Программное обеспечение или программа обычно проходят тест ACID, чтобы квалифицироваться как система обработки транзакций. ACID означает атомарность, согласованность, изоляцию и долговечность. Атомарность относится к способности системы осуществлять или отказаться от транзакции в полном объеме. Например, для регистрации счета в интернет-банке пользователю необходимо ввести какую-то информацию. Если оставить поле пустым или закрыть окно, пользователь потеряет вводимые данные.
Согласованность в системе обработки транзакций означает, что система должна работать с ограничениями целостности управления базами данных. Проще говоря, программирование должно быть правильным. Характеристика изоляции означает, что каждая транзакция рассматривается как отдельная и различная, даже если одни и те же транзакции происходят одновременно. Долговечность системы указывает на то, что если транзакция успешно выполнена, она не может быть отменена. В случае отказа системы, программа должна все еще сохранить данные через закодированный журнал.
Помимо обязательных функций, проходящих тест ACID, система обработки транзакций также должна быть надежной. Это означает, что программа имеет минимальный или нулевой шанс неудачи. В ситуациях сбоя восстановление должно быть быстрым, и сразу же должна запускаться система резервного копирования. Система также должна быть полностью доступна только ограниченным пользователям. Например, посетитель сайта может выбрать, какое место занять в самолете, но не может отменить зарезервированное место предыдущего посетителя, задача, которую может выполнять только опытный программист.