●難しい概念・・・でもない
皆さん、排他制御ってご存じですかー?
でも、皆さんは自然にやっちゃってるんですよ
それを小難しい言葉にすると排他制御って呼んでいます
どんな時に使っているかって言うと
貴方が上司から何か仕事を言いつけられている時に
部下が電話してきて、あーだこーだ言い始めた時に
「ごめん、ちょっと後にして」って言って
上司からの指示が終わったら、その部下に電話して
「ごめん、さっきの電話はなんだったかな?」って
こんなことって良くありますよね(笑)
排他の他はこの場合は部下をさしますね。
上司の指示を受けている時は部下を排除しています
そして、上司の指示が終わったら部下に何だったって聞き返すのが
制御にあたるわけですよね。
●データベース管理には必須
この排他制御、データベースの世界では必須なんです
だって、これが無かったらとっても困っちゃうんです
たとえば、あなたがある通販サイトで、超レアなグッズを見つけたとします。
金額が金額だけに、カートに追加を押したのはいいけれど
悩んでいるうちに・・・他の人が既に購入していた
そんな事あったら悲しいでしょ(笑)
なので、通販サイトとしては、あなたが購入しようとその商品をカートに入れたら
一定時間は他の人が購入できないようにブロック(排他)するんです
ただ、あなたが1年も2年も悩んだら通販サイト側が困るので
一定時間後にあなたの為のブロックを解除します。
でも、データベースの排他制御の方は最後の他の人に不都合なようになります。
それは、あなたの処理を完了させることを第一に考えるからです
これは、業務システムだけでなく、様々な処理で必要な事です
なので、データベース方式の排他制御を通販サイトで行った場合
?@あなたが、レア商品をカートに入れ、どこかに旅行に行ってしまう
?A別の人が、同じ商品をカートに入れようとしても、入れられない
?B別の人に、一定時間(例えば5分とか、10分とか)その商品が既に他の人がカートに入れているのであなたには売れないと通知が来る
?C別の人が、再度同じことをするけど、何度もメッセージが来る
?D別の人は、業を煮やしてサイト管理者にクレームを言う
?Eサイト管理者は、あなたのカートから商品を削除して開放する
●当社のは簡単
当社の場合、データベースが一か所なのでこのような排他制御はOSがやってくれます
あっ! IBM AS/400はOSがRDB機能を装備しているので
なので、チョー簡単です。
それに比べ
●親会社のは複雑すぎ
システムが多数存在し、それぞれがデータベースを装備しています
そして、システム間でファイルでやり取りします
当然、システムが別であれば排他制御データベースエンジンはやってくれません
今日も、その問題をどうしようかと悩んでいる会議でした
でも、あーだこーだ言いながら本質には全然近づきません
多分、一生やっていることでしょう
あ〜あ
●そういえば・・・過去にも
2021年4月にも、排他制御について記事を投稿したことがありました。
ブログ記事:排他制御は難しいかも
ブログ記事:排他制御は難しいかも・・・ Part 2
タグ: 排他制御
【このカテゴリーの最新記事】
- no image
- no image
- no image