オンラインで個々のトランザクションをその場で即時処理する方式。
OLTP(オンライントランザクション処理)とは、英語の OnLine Transaction Processing の略で、オンラインで届く個々のトランザクション(取引や更新)を、その場で即時に処理する方式のことです。「トランザクション」とは、ひとまとまりの取引処理の単位のことです。
身近な例で考えると、銀行ATMでの引き出しがそのままOLTPです。お金を引き出すという1件の取引(トランザクション)に対して、その場で残高を確認し、引き出し額を差し引いてデータベースを更新し、すぐにお金と明細を返します。
上の図解のように、取引(TX) → 即時処理 → DB更新 という流れを、利用者からの要求が来るたびに1件ずつこなしていきます。
OLTPには、大きく3つの特徴があります。
・即時性:要求にリアルタイムで応答する。利用者を待たせない
・トランザクション単位で確実に処理:1件の取引は「全部成功」か「全部やり直し」のどちらかになる。途中で失敗したら、それまでの変更を元に戻す(ロールバック)
・多数の短い処理を高速に:1件1件は小さい処理だが、それを大量にさばく
とくに2つ目の「全部成功 or 全部やり直し」という性質はACID特性と呼ばれ、お金のやり取りで特に重要です。たとえば「A口座から引き落とし、B口座へ入金」という振込で、引き落としだけ成功して入金が失敗したらお金が消えてしまいます。だからこそ途中で失敗したら、すべて元に戻す仕組みが必要なのです。代表例は銀行ATM・座席予約・ECサイトの注文などです。
OLTPとよく対比されるのがOLAP(オンライン分析処理)です。OLAPは OnLine Analytical Processing の略で、たまったデータを集計・分析するための方式です。たとえば「過去3年分の売上を地域別に集計する」といった処理がOLAPにあたります。
両者の違いを整理すると次のようになります。
| 項目 | OLTP | OLAP |
|---|---|---|
| 目的 | 日々の取引を処理 | データを集計・分析 |
| 処理の中心 | 更新(書き込み) | 参照(読み取り) |
| 1件の大きさ | 小さい処理が多数 | 大きな集計が少数 |
| 即時性 | 必要(リアルタイム) | あまり問わない |
| 例 | ATM・座席予約・注文 | 売上分析・経営レポート |
ひとことで言うと、OLTPは「今この取引を確実にさばく」、OLAPは「たまった大量のデータから傾向を読み取る」という役割の違いです。多くのシステムでは、OLTPで日々ためたデータを、あとからOLAPで分析するという形で両方を使い分けます。
Q1. OLTP(オンライントランザクション処理)の説明として最も適切なものはどれか。
Q2. OLTPの特徴として最も適切なものはどれか。
Q3. OLTPとOLAPの違いの説明として最も適切なものはどれか。