トランザクション処理システム(TPS)とは、トランザクション処理をサポートするソフトウェアシステム、またはソフトウェアとハードウェアの組み合わせのことです。
最初のトランザクション処理システムは、 IBMがアメリカン航空向けに開発したSABREで、1964年に運用を開始しました。 [ 1 ] 1日に最大83,000件のトランザクションを処理するように設計されたこのシステムは、2台のIBM 7090コンピュータで動作しました。SABREは1972年にIBM System/360コンピュータに移行され、最初はAirline control Program (ACP)として、後にTransaction Processing Facility (TPF)としてIBM製品となりました。TPFは航空会社のほか、大手銀行、クレジットカード会社、ホテルチェーンでも使用されています。
Hewlett Packard Enterprise NonStopシステム(旧称Tandem NonStop)は、 1976年に導入されたオンライン取引処理(OLTP)用に設計されたハードウェアおよびソフトウェアシステムです。[ 2 ]このシステムは、極めて高いレベルの可用性とデータ整合性を提供します。
トランザクション処理は、バッチ処理、タイムシェアリング、リアルタイム処理などの他のコンピュータ処理モデルとは異なり、対比することができます。[ 10 ]
バッチ処理とは、手動による介入なしにコンピュータ上で一連のプログラム(ジョブ)を実行することです。バッチと呼ばれる複数のトランザクションが収集され、同時に処理されます。各トランザクションの結果は、トランザクションが入力された時点ではすぐには利用できません。時間的な遅延があります。
「リアルタイムシステムは、刺激や要求に対して適切な応答を迅速に保証し、刺激を引き起こした状況に影響を与えることを目指します。」[ 10 ]リアルタイム処理における各トランザクションは固有のものであり、トランザクションのグループの一部ではありません。
トランザクション処理システム(TPS)は、企業のデータトランザクションを収集、保存、変更、および取得する情報システムです。トランザクション処理システムは、リアルタイムシステムほど重要ではありませんが、要求に対する予測可能な応答時間を提供することも目指しています。タイムシェアリングのようにユーザーが任意のプログラムを実行できるのではなく、トランザクション処理では、事前に定義された構造化されたトランザクションのみが許可されます。各トランザクションは通常短く、各トランザクションの処理アクティビティは事前にプログラムされています。これはMISモデルです。
トランザクション処理システムを評価する上で、以下の機能が重要視される。[ 10 ]
高速なパフォーマンスと迅速な応答時間は非常に重要です。トランザクション処理システムは通常、一定期間内に処理できるトランザクション数によって評価されます。
システムは、ユーザーが取引を入力する時間帯に常に利用可能でなければなりません。多くの組織はTPS(トランザクション処理速度)に大きく依存しており、システム障害が発生すると業務が中断したり、最悪の場合は事業が停止したりする可能性があります。
システムは、ハードウェアまたはソフトウェアの問題が発生した場合でも、データを破損することなく処理できる必要があります。複数のユーザーが同時に同じデータを変更しようとすることを防ぐ必要があります。例えば、2人のオペレーターが同時に同じ飛行機の座席を販売することはできません。
取引処理システムの利用者は、多くの場合、一般の利用者です。そのため、システムは利用者が理解しやすいものでなければならず、データ入力ミスを可能な限り防ぎ、かつ、入力ミスを容易に修正できるものでなければなりません。
システムは、全面的な交換を必要とするのではなく、段階的なコストで拡張できるものでなければならない。システムを停止することなく、ハードウェアおよびソフトウェアコンポーネントの追加、交換、または更新が可能でなければならない。
トランザクションはバッチ処理と同様に収集および処理される場合があります。トランザクションは収集され、処理が都合の良い場合や経済的な場合にバッチとして更新されます。従来、リアルタイム処理を可能にする情報技術が存在しなかったため、これが最も一般的な方法でした。
これはデータの即時処理です。トランザクションの即時確認を提供します。データ変更を伴うトランザクションを同時に実行する多数のユーザーが関与する場合があります。技術の進歩(データ伝送速度の向上、システムおよびネットワーク帯域幅の拡大など)により、リアルタイム更新が可能になりました。
データベースとは、整理されたデータの集合体です。データベースは、一般的なトランザクション処理アプリケーションのように、非構造化データに対する検索時間を短縮します。
トランザクション処理用のデータベースは、階層構造、ネットワーク構造、またはリレーショナル構造を用いて構築することができる。
トランザクション処理システムで使用されるデータベースシステムには、以下の機能が望ましい。

企業組織は取引処理に大きく依存しているため、システム障害が発生すると、通常の業務が中断され、一定期間の操業停止につながる可能性があります。データ損失を防ぎ、業務の中断を最小限に抑えるためには、適切に設計されたバックアップおよび復旧手順を策定し、遵守する必要があります。復旧プロセスによって、システムがダウンした際にシステムを再構築することが可能です。
バックアップ手順には、主に2つの種類があります。祖父・父・息子方式と部分バックアップです。
この手順では、すべてのデータの完全なバックアップを、毎日、毎週、毎月など、適切な間隔で定期的に取得します。バックアップは複数世代(多くの場合3世代)保持されるため、この名前が付けられています。最新のバックアップは「息子」、その前のバックアップは「父」、最も古いバックアップは「祖父」と呼ばれます。この方法は、磁気テープドライブを備えたバッチトランザクション処理システムでよく使用されます。バッチ実行中にシステムが故障した場合、マスターファイルは「息子」バックアップを復元してバッチを再開することで再作成されます。ただし、「息子」バックアップが失敗、破損、または破壊された場合は、前の世代のバックアップ(「父」)が使用されます。同様に、それが失敗した場合は、「父」の前の世代のバックアップ(つまり「祖父」)が必要になります。もちろん、世代が古いほど、データは古くなっている可能性があります。
部分的なバックアップ
部分バックアップには通常、変更されたレコードのみが含まれます。例えば、完全バックアップを週に1回実行し、その後、部分バックアップを毎晩取得することができます。この方式による復旧では、最新のデータベースを作成するために、まず最新の完全バックアップを復元し、次にすべての部分バックアップを復元します。このプロセスは、完全バックアップのみを取得する場合よりも迅速ですが、復旧時間は長くなります。