【おーえるてぃーぴー】

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

💡 毎日の「取引」を正確かつ高速に処理する
📌 このページのポイント
OLTP トランザクション処理 ユーザー A B C D 同時アクセス 大量・高頻度 トランザクション 振込処理 商品購入 在庫更新 予約登録 DB ACID特性 A: 原子性 C: 一貫性 I: 独立性 D: 永続性 データの整合性 を保証 OLTP(トランザクション処理) 日常の業務処理(注文・決済) OLAP(分析処理) 蓄積データの分析・集計 OLTPは大量の小さなトランザクションを高速・正確に処理する仕組み
OLTPトランザクション処理のイメージ
ひよこ ひよこ

具体的にどんな場面で使われるの?

ペンギン先生 ペンギン先生

ECサイトの注文処理、銀行の振込・出金、航空券の予約、在庫管理、POSレジの売上記録…日常的にデータの登録・更新・削除が発生する場面はすべてOLTPだよ。1秒間に数千〜数万件のトランザクションを正確に処理することが求められるんだ

ひよこ ひよこ

OLAPとは別のデータベースを使うの?

ペンギン先生 ペンギン先生

そうだよ。OLTP用DBで分析クエリを流すと、業務処理が遅くなってしまう。だからOLTP用DB(MySQL等)のデータをETLDWHデータウェアハウス)にコピーして、そちらでOLAP分析する構成が一般的。これがいわゆる「データ基盤」のアーキテクチャだね

ひよこ ひよこ

1秒間に何件くらい処理できるの?

ペンギン先生 ペンギン先生

システムの規模によるけど、大手ECサイトなら秒間数万TPS(Transactions Per Second)、金融システムなら秒間数十万TPSを処理することもある。この性能を支えるのがインデックス設計、コネクションプールリードレプリカなどの技術だよ

ひよこ ひよこ

NewSQLって聞いたことあるけど関係ある?

ペンギン先生 ペンギン先生

従来のOLTPデータベース垂直スケーリング(サーバ増強)が基本だったけど、NewSQLCockroachDBTiDBGoogle Spannerなど)は水平スケーリングしながらACID特性を保証する新世代のOLTP向けDBだよ。分散システムとトランザクション保証を両立した革新的な技術だね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「OLTP」って出てきたら「日常業務のデータ登録・更新をリアルタイム処理する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Online Transaction Processing」 = オンライントランザクション処理
💬 Transaction(取引)をOnline(リアルタイム)でProcessing(処理)する。銀行ATMの振込処理が典型例だよ
← 用語集にもどる