次の方法で共有


トランザクション処理の用語

KTM の使用を開始する前に、 トランザクションリソース マネージャートランザクション クライアントトランザクション マネージャーログ ストリーム参加トランザクション処理システムという用語の定義を把握しておく必要があります。

トランザクション
トランザクションは、データ操作のコレクションです。 トランザクションが成功するには、すべての操作が成功する必要があります。 すべての操作が成功した場合、トランザクションを コミット できます (つまり、その結果を永続的かつパブリックにすることができます)。 操作が失敗した場合は、トランザクションを ロールバックする必要があります (つまり、データがトランザクションの操作が開始される前と同じ状態になるように、すべての変更を削除する必要があります)。

トランザクションの操作は、アトミック一貫性分離永続性 (ACID) です。

  • それらは、全体としてコミットまたはロールバックする必要があるため、アトミックです。

  • コミットまたはロールバックされるかどうかにかかわらず、操作は常に正確な結果を生成するため、一貫性があります。

  • トランザクションの操作がコミットまたはロールバックされるまで、各トランザクションの結果は他のトランザクションに表示されないため、分離されます。

  • トランザクションの操作がコミットまたはロールバックされた後、その結果が永続的になるため、操作は耐久性があります。

トランザクションの例として、自動支払い機 (ATM) を使用して当座預金口座から普通預金口座に送金するときに実行する必要がある一連の操作があります。 当座預金口座からの引き落としと普通預金口座へのクレジットは、1 つのアトミックな操作のように見える必要があります。

トランザクションの一部である操作は、 トランザクション操作とも呼ばれます。

resource manager
リソース マネージャーは、トランザクション操作によって更新できるデータ リソースを管理するソフトウェア コンポーネントです。 たとえば、データベース システムを設計する場合は、データベースのデータを格納および取得するリソース マネージャーを提供できます。 単純な トランザクション処理システム (TPS) には、リソース マネージャーが 1 つだけ含まれる場合があります。

通常、リソース マネージャーは、トランザクション クライアントがリソース マネージャーのデータにアクセスするために呼び出すことができるパブリック インターフェイスも提供します。 たとえば、データベースのリソース マネージャーは、クライアントが呼び出してデータベースの読み取りと書き込みを行うことができる一連の関数を提供する場合があります。

より複雑な TPS には複数のリソース マネージャーがあり、それぞれがシステムのトランザクションに参加している間に個別のデータベースまたはその他のリソースを管理します。

リソース マネージャーの詳細については、「 リソース マネージャーの作成」を参照してください。

場合によっては、1 つのリソース マネージャーが他のリソース マネージャー よりも優れており 、コミット操作を開始できます。 KTM では、このようなリソース マネージャーは 優れたトランザクション マネージャーと呼ばれます。

トランザクション クライアント
トランザクション クライアントは、リソース マネージャーがサポートするデータベースにアクセスするソフトウェア コンポーネントです。通常は、リソース マネージャーがエクスポートする関数を呼び出します。 クライアントは、トランザクションの作成、リソース マネージャーがサポートする一連の操作の実行、トランザクションのコミットまたはロールバックが必要であることをトランザクション マネージャー (KTM) に通知する役割を担います。

トランザクション クライアントの詳細については、「 トランザクション クライアントの作成」を参照してください。

トランザクション マネージャー
KTM などの トランザクション マネージャーは、トランザクション クライアントとリソース マネージャーが相互に通信できるようにするインフラストラクチャを提供します。 また、各トランザクションの状態も追跡します (ただし、クライアントとリソース マネージャーが処理するデータは追跡されません)。

トランザクション マネージャーは、システムクラッシュ後の復旧操作を調整することもできます。

トランザクション マネージャーには、トランザクションを構成するデータや操作に関する知識がありません。 データと操作は、クライアントとリソース マネージャーによって制御されます。

KTM は、トランザクション クライアントが呼び出すことができる関数を提供します。 これらの関数を使用すると、クライアントはトランザクションを作成、コミット、ロールバックできます。

KTM には、リソース マネージャーが呼び出すことができる関数も用意されています。 これらの関数を使用すると、リソース マネージャーはトランザクションに参加して、トランザクションに関する通知を受け取ることができます。 リソース マネージャーは、トランザクションに参加した後、トランザクション クライアントがトランザクションをコミットまたはロールバックする準備ができたら、または復旧操作が発生したときに通知を受け取ることができます。

ログ ストリーム
ログ ストリームは、トランザクションに発生したイベントの記録された履歴です。 KTM は、 共通ログ ファイル システム (CLFS) を使用してログ ストリームを保持します。 KTM は、必要に応じてロールバック操作と回復操作をサポートできるように、各トランザクションの状態変更を記録します。

リソース マネージャーは、ログ ストリームを使用してデータと操作を記録する必要もあります。

ロールバック操作では、KTM とリソース マネージャーがトランザクションとすべてのデータを初期状態に復元する必要があります。 KTM とリソース マネージャーは、ロールバック操作中にフェッチできるように、各トランザクションの初期状態をログ ストリームに記録します。

回復操作は、システムクラッシュ後に発生します。 オペレーティング システムが再起動すると、KTM とリソース マネージャーはログ ストリームの内容を使用して、トランザクションの状態をクラッシュ前の状態に再構築できます。

KTM のログ ストリームの詳細については、「 KTM でのログ ストリームの使用」を参照してください。

入社
参加リストは、リソース マネージャーとトランザクションの間の関連付けです。 KTM には、リソース マネージャーが参加リストを作成および管理するために呼び出す一連の関数が用意されています。 リソース マネージャーが参加リストを作成すると、KTM はトランザクションの状態が変化したときにリソース マネージャーに通知を送信します。

トランザクション処理システム
トランザクション処理システム (TPS) は、トランザクション マネージャー、1 つ以上のリソース マネージャー、1 つ以上のログ ストリーム、およびリソース マネージャーのリソースにアクセスする 1 つ以上のトランザクション クライアントのコレクションです。