解説 近代的トランザクション処理システムの動向

電子情報通信学会 - IEICE会誌 試し読みサイト
Vol.108 No.1 (2025/1) 目次へ

前の記事へ次の記事へ


 解説 

近代的トランザクション処理システムの動向

Trends in Modern Transaction Processing Systems

川島英之

川島英之 正員 慶應義塾大学環境情報学部

Hideyuki KAWASHIMA, Member (Faculty of Environment and Information Studies, Keio University, Fujisawa-shi, 252-0882 Japan).

電子情報通信学会誌 Vol.108 No.1 pp.57-65 2025年1月

©2025 電子情報通信学会

A bstract

 クレジットカード決済等で必須であるトランザクション処理システムは,主として並行性制御機構とリカバリ機構から構成される.いずれの機構についても,10年ほど前から,メニーコアアーキテクチャ,SSD等のデバイスを前提とした,並列性と分散性を活用する革新的技法が創出されてきた.それらの主たる技法として,本稿では,楽観的・決定論的並行性制御法,並列ロギング法,そして複製状態機械を解説する.また,トランザクション処理システムのアプリケーションが変わりつつあることを紹介する.

キーワード:トランザクション処理,楽観的並行性制御法,並列ロギング法,分散トランザクション

1.は じ め に

 ATMで銀行振込をしたり,飲食店でクレジットカード決済をするとき,トランザクション,と呼ばれる操作がいつも実行されている.トランザクション処理を使えば,複数の処理が同時並行的に処理されても,データベースが壊れずに済む.換言すれば,トランザクション処理がなければデータベースが崩壊してしまう.

 銀行口座や金融資産などの重要なデータが壊れないことは現在社会において必要不可欠である.そのため,トランザクション処理は現代社会の基幹を構成するために必須技術だと言えよう.

 複数のトランザクションが,あるデータアイテムに同時アクセスした場合,データアイテムが壊れることがある.図1にそのような例を示す.この場合,口座の初期値は30,000円であり,アルバイト先が10,000円を振り込み,口座主のA氏が10,000円を引き出している.

図1 並行データアクセスが引き起こし得る問題  初期値が30,000円,振込10,000円,引出し10,000円だから口座残高は30,000円になるべきなのに,20,000円になってしまう.

1.1 並行性制御機構

 二つの処理を一つずつ実行すれば,その結果は30,000円になる.しかしこの場合には,会社による10,000円振込の処理が,Aさんによる10,000円引出しの処理によって上書きされてしまうので,20,000円になってしまう.そのためAさんは不利益を被ってしまう.このような問題を防ぐために並行性制御機構が存在する.並行性制御システムを用いれば,このような問題は一切生じなくなる.この場合には二つのトランザクションを逐次実行した結果と,並行実行した結果が同一になる.

 並行性制御法として,ロックを用いる悲観的並行性制御法と複数のバージョンを用いる多版並行性制御法が主として探求されてきた.他方,近代的システムはメニーコアアーキテクチャと親和性の高い楽観的並行性制御法が探求されている.


続きを読みたい方は、以下のリンクより電子情報通信学会の学会誌の購読もしくは学会に入会登録することで読めるようになります。 また、会員になると豊富な豪華特典が付いてきます。


続きを読む(PDF)   バックナンバーを購入する    入会登録

  

電子情報通信学会 - IEICE会誌はモバイルでお読みいただけます。

電子情報通信学会誌 会誌アプリのお知らせ

電子情報通信学会 - IEICE会誌アプリをダウンロード

  Google Play で手に入れよう

本サイトでは会誌記事の一部を試し読み用として提供しています。