FE EXAM

オンライントランザクション処理(OLTP)

オンラインで個々のトランザクションをその場で即時処理する方式。

DIAGRAM
利用者の要求
即時処理
DB更新
多数の小さなトランザクションを、その場で即時処理する利用者の要求(取引=トランザクション)振込 ¥10,000TX #1残高照会TX #2座席を予約TX #3その場で即時処理高速にさばく更新DBその場でデータ更新結果をすぐ応答(即応答)対比: OLAP(大量データの分析)OLTP=日々の取引を即時処理(更新中心・小さな処理が多数)/ OLAP=蓄積データを集計・分析(参照中心・大きな集計)
解説

📌
OLTPとは

取引(TX)要求即時処理その場でDB更新

OLTP(オンライントランザクション処理)とは、英語の OnLine Transaction Processing の略で、オンラインで届く個々のトランザクション(取引や更新)を、その場で即時に処理する方式のことです。「トランザクション」とは、ひとまとまりの取引処理の単位のことです。

身近な例で考えると、銀行ATMでの引き出しがそのままOLTPです。お金を引き出すという1件の取引(トランザクション)に対して、その場で残高を確認し、引き出し額を差し引いてデータベースを更新し、すぐにお金と明細を返します。

上の図解のように、取引(TX) → 即時処理 → DB更新 という流れを、利用者からの要求が来るたびに1件ずつこなしていきます。

📌
特徴(即時性・トランザクション)

1件の取引は「全部成功 or 全部取り消し」成功引き落とし+入金両方とも確定途中で失敗元に戻す(ロールバック)

OLTPには、大きく3つの特徴があります。

即時性:要求にリアルタイムで応答する。利用者を待たせない
トランザクション単位で確実に処理:1件の取引は「全部成功」か「全部やり直し」のどちらかになる。途中で失敗したら、それまでの変更を元に戻す(ロールバック)
多数の短い処理を高速に:1件1件は小さい処理だが、それを大量にさばく

とくに2つ目の「全部成功 or 全部やり直し」という性質はACID特性と呼ばれ、お金のやり取りで特に重要です。たとえば「A口座から引き落とし、B口座へ入金」という振込で、引き落としだけ成功して入金が失敗したらお金が消えてしまいます。だからこそ途中で失敗したら、すべて元に戻す仕組みが必要なのです。代表例は銀行ATM・座席予約・ECサイトの注文などです。

📌
OLAPとの違い

OLTP(取引)小さな処理が多数更新中心・即時OLAP(分析)大きな集計蓄積データを分析参照中心

OLTPとよく対比されるのがOLAP(オンライン分析処理)です。OLAPは OnLine Analytical Processing の略で、たまったデータを集計・分析するための方式です。たとえば「過去3年分の売上を地域別に集計する」といった処理がOLAPにあたります。

両者の違いを整理すると次のようになります。

項目OLTPOLAP
目的日々の取引を処理データを集計・分析
処理の中心更新(書き込み)参照(読み取り)
1件の大きさ小さい処理が多数大きな集計が少数
即時性必要(リアルタイム)あまり問わない
ATM・座席予約・注文売上分析・経営レポート

ひとことで言うと、OLTPは「今この取引を確実にさばく」、OLAPは「たまった大量のデータから傾向を読み取る」という役割の違いです。多くのシステムでは、OLTPで日々ためたデータを、あとからOLAPで分析するという形で両方を使い分けます。

📝
練習問題

Q1. OLTP(オンライントランザクション処理)の説明として最も適切なものはどれか。

Q2. OLTPの特徴として最も適切なものはどれか。

Q3. OLTPとOLAPの違いの説明として最も適切なものはどれか。

関連コンテンツ