Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Прежде чем начать использовать KTM, следует знать определения следующих терминов: транзакция, диспетчерресурсов, клиент транзакций, диспетчер транзакций, поток журналов, перечисление и система обработки транзакций.
транзакция
Транзакция — это коллекция операций с данными. Все операции должны успешно выполняться для успешной транзакции. Если все операции выполнены успешно, транзакция может быть зафиксирована (то есть ее результаты можно сделать постоянной и общедоступной). Если любая операция завершается сбоем, транзакция должна быть отменена (то есть все изменения должны быть удалены, чтобы данные находились в том же состоянии, в каком они были до начала операций транзакции).
Операции транзакции являются атомарными, согласованными, изолированными и устойчивыми (ACID).
Они атомарны, потому что должны быть зафиксированы или отменены целиком.
Они консистентны, так как операции всегда создают точный результат, независимо от того, фиксируются или откатываются они.
Они изолированы, поскольку результаты каждой транзакции не видны другим транзакциям, пока операции этой транзакции не были зафиксированы или откатены.
Они устойчивы, так как после фиксации или отката операций транзакции результаты операций являются постоянными.
Примером транзакции является набор операций, которые должны выполняться при использовании банкомата (ATM) для перевода денег со счёта до востребования на сберегательный счёт. Дебет с вашего расчетного счета и кредит на ваш сберегательный счет должны представлять собой одну атомарную операцию.
Операция, которая является частью транзакции, также называется транзакцией.
resource manager
Диспетчер ресурсов — это программный компонент, который управляет ресурсами данных, которые можно обновить с помощью транзакций. Например, если вы разрабатываете систему базы данных, вы можете предоставить менеджер ресурсов, который управляет хранением и извлечением данных базы данных. Простая система обработки транзакций (TPS) может иметь только один диспетчер ресурсов.
Диспетчер ресурсов обычно предоставляет общедоступный интерфейс, который клиенты транзакций могут вызывать для доступа к данным диспетчера ресурсов. Например, диспетчер ресурсов для базы данных может предоставить набор функций, которые клиенты могут вызывать для чтения и записи в базу данных.
Более сложный TPS может иметь несколько диспетчеров ресурсов, каждый из которых управляет отдельной базой данных или другим ресурсом при участии в транзакциях системы.
Дополнительные сведения о диспетчерах ресурсов см. в статье "Создание Resource Manager".
В некоторых случаях один диспетчер ресурсов имеет превосходство над другими диспетчерами ресурсов и может инициировать операции фиксации. В KTM такие диспетчеры ресурсов называются превосходными диспетчерами транзакций.
клиент транзакций
Клиент транзакций — это программный компонент, который обращается к базе данных, которую поддерживает диспетчер ресурсов, обычно вызывая функции, экспортируемые диспетчером ресурсов. Клиент отвечает за создание транзакций, выполнение набора операций, поддерживаемых менеджером ресурсов, а затем уведомляет диспетчер транзакций (KTM), что транзакция подлежит фиксации или откату.
Дополнительные сведения о транзакционных клиентах см. в разделе "Создание транзакционного клиента".
Диспетчер транзакций
Диспетчер транзакций, например KTM, предоставляет инфраструктуру, которая позволяет клиентам транзакций и диспетчерам ресурсов взаимодействовать друг с другом. Он также отслеживает состояние каждой транзакции (но не данные, которые обрабатывают клиенты и диспетчеры ресурсов).
Диспетчер транзакций также может координировать операции восстановления после сбоя системы.
Диспетчер транзакций не знает о данных или операциях, составляющих транзакцию. Данные и операции управляются клиентами и диспетчерами ресурсов.
KTM предоставляет функции, которые клиенты транзакций могут вызывать. Эти функции позволяют клиентам создавать, фиксировать и откатывать транзакции.
KTM также предоставляет функции, которые могут вызывать менеджеры ресурсов. Эти функции позволяют диспетчерам ресурсов заручиться транзакциями, чтобы они могли получать уведомления о транзакциях. После того как диспетчер ресурсов включится в сделку, он может получать уведомление о готовности клиента к фиксации или откату сделки или о выполнении операции восстановления.
поток журнала
Поток журнала — это записанная история событий, которые произошли с транзакциями. KTM поддерживает поток журналов с помощью common Log File System (CLFS). KTM записывает изменения состояния для каждой транзакции, чтобы она поддерживала операции отката и восстановления, когда они необходимы.
Диспетчеры ресурсов также должны использовать поток журналов для записи данных и операций.
Для операции отката требуются как KTM, так и диспетчеры ресурсов, чтобы восстановить транзакцию и все данные в исходное состояние. KTM и диспетчеры ресурсов записывают начальное состояние каждой транзакции в потоках журналов, чтобы затем они могли восстановить его во время операции отката.
Операции восстановления происходят после сбоя системы. При последующем перезапуске операционной системы KTM и диспетчеры ресурсов могут использовать содержимое потока журнала для перестроения состояния транзакции в состояние, в которое он был до сбоя.
Дополнительные сведения о потоках журналов в KTM см. в разделе "Использование потоков журналов с помощью KTM".
набор
Присоединение — это связь между диспетчером ресурсов и транзакцией. KTM предоставляет набор функций, которые диспетчеры ресурсов используют для создания и управления участием в транзакциях. После того как диспетчер ресурсов создаст регистрацию, KTM отправляет ему уведомления при изменении состояния транзакции.
система обработки транзакций
Система обработки транзакций (TPS) — это коллекция диспетчера транзакций, одного или нескольких диспетчеров ресурсов, одного или нескольких потоков журналов и одного или нескольких клиентов транзакций, которые обращаются к ресурсам диспетчеров ресурсов.