社会的要請に応えたオンライントランザクションシステム

物井秀俊(日立製作所)

2006-02-28 06:47

 銀行のATM(Auto Teller Machine)を使った入出金や駅での座席予約など、日常生活のさまざまな場面でオンライントランザクションシステムを使ったサービスを受けるケースが増え、まさに社会生活で当然あるべきインフラとなっている。また、企業内やさらに各公共機関内においても、さまざまな場所でオンライントランザクションシステムが適用され、企業活動や公共サービスの効率的な運営を実現している。社会活動や企業活動でのオンライントランザクションシステムの適用範囲が広がる中、システムが停止したりすることは、テレビや新聞ですぐに報道されるほど影響の大きな事象となっている。

 つまり、オンライントランザクションシステムとは、作る側から言えば、何が起きても利用者への影響を最小限にすることが求められるシステム、と一言で言うことができる。ここでの利用者への影響とは、サービスそのものを継続するだけでなく、サービスの質を安定して提供できるようにすることまで考えなければならない。

 システムのダウンによりサービスが停止することは言語道断であり、要求が集中すると銀行や駅の窓口でたびたび長蛇の列ができたり一度操作した内容を何度もやり直させるといったことがないようなシステムを作ることが求められる。システム的には、信頼性とか安定性とかいった言葉で表される内容である。

 今回は、このようなオンライントランザクションシステムを実現するときに使われるハードウェアやソフトウェアの基盤技術に焦点を当てる。特に、社会的、また事業的活動に直接大きな影響を及ぼすミッションクリティカルシステムという言葉は、長い間メインフレームを使ったオンライントランザクションシステムの代名詞のような使われ方をしてきた。

 大規模なコンピュータシステムの構築がメインフレームでしか作れなかったという歴史的な経緯もあるが、ミッションクリティカルシステムに求められる信頼性や可用性の要件に応えるために挑戦をし克服してきた、メインフレームにおけるさまざまな技術的アプローチの結果ということもできる。図1は、メインフレームを用いたオンライントランザクションシステムの最近のシステム構成例になる。

図1 メインフレームを使用したオンライントランザクションシステムの例(オープンサーバと連携させたシステム構成)

中途半端な処理をしない

 ここまで、「オンライントランザクションシステム」という言葉を何も説明せずに使用してきた。オンライントランザクションシステムは、「オンラインシステム」と簡単に言ったりする。ただ、厳密に言えば、オンラインシステムの中の一つの処理形態であり、オンラインでトランザクション処理を実行しているかどうか、という違いがある。

 では、トランザクションとは何か。銀行である口座から別の口座にお金を振り込むケースを考えよう。処理的に言えば、ある口座から指定された金額を引き落とし、引き落とした金額を別の口座に振り込むという手順になる。

 この時、ある口座からの引き落としをして別の口座に振り込みを行う前に、異常により処理が中断してしまい、元の口座から引き落としたが、振込先の口座には入金されずにどこかに行ってしまう、ということは絶対に発生してはいけない。振り込みできないなら、最初の引き落としをなかったことにして、もともとの振り込み処理自体が全くなかったようにする必要がある。また、この振り込み処理を進めるにも取り消すにも、処理対象としている口座は他の処理から操作されないことが前提であり、この状態を保証するために、口座を排他的に使用できるようにして上記の処理を行う。

 このように、処理が完全に実行されて要求された処理の結果を反映するか、全く結果が残らないようにするかのどちらかで、中途半端な処理状態を残さない処理方式およびその処理単位を「トランザクション」と言う。このような処理結果を保証できる単位を考えることにより、実現する業務処理自体の信頼性を高くすることができる。

 トランザクションとして実行する処理単位は、整合性を保証することが求められることもあり、それほど長時間の処理とはならない。端末から入力して応答が返ってくるまでに数秒から十数秒、またコンピュータの中での処理時間は数十ミリ秒から長くても数百ミリ秒という時間になる。このトランザクションをネットワークに接続された複数の端末から要求して実行するようにしたシステムがオンライントランザクションシステムになる。

負荷が高まってもレスポンスを安定させる

 ATMを操作している時、駅で列車の指定席を取っている時、端末の操作をしてから結果が返ってくるまでの時間として、ほんの数秒しかかかっていないことがわかる。この応答時間がオンライントランザクションシステムの一つの特徴であり、システムの利用者に便利さや信頼感を持たせる一つの尺度になる。

 トランザクション処理をオンライン化することにより、そのシステムの利用者が多くなり、また地域的にも広がるようになる。利用者が多くなることで、端末を同時に利用する人数の変動も大きくなりシステムへの負荷の変動も大きくなる。

 たとえば、座席予約システムなどでは、通常時と予約が殺到するピーク時では、処理する予約件数に桁違いの差が出る。オンライントランザクションシステムでは、負荷の変動は当たり前に発生し、負荷が一時的に高くなった場合でも安定的なレスポンスを実現することが求められる。

 では、トランザクションによる負荷が高くなったときには、コンピュータシステムの中ではどのようなことが起こっているのであろうか。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

自社にとって最大のセキュリティ脅威は何ですか

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]