isc5結論をいうと、もしかすると「普通」かもとは思う。部屋数203室の仙台市のビジネスホテルで、9月18~23日の宿泊予約を数千件受け付けるトラブルがあった。アイドルグループ「嵐」のライブが宮城県内で開催される期間だった。インターネットでの申し込みが殺到し、システム障害が起きたとみられるという。・当該ホテルがシステム障害を起こし、多重予約に至るでは、このような多重予約がなぜ発生してしまったかですが、その原因は公表されていないので憶測するしかありません。徳丸浩の日記ようやくホテルに着いたら、「オーバーブックのため、お部屋がありません」。バウチャーも持っているのに!でも慌てるのはちょっと待って。予定より高級なホテルに泊まれるチャンス!と楽しんでしまう余裕を持ってください。いざ、チェックイン!】|アップルワールド海外旅行のガイドブックとかには、上記のようなことが書かれてたりしますよね。徳丸浩の日記どう考えても予約とったのに「予約がとれてませんでしたので別館を」って言われたことがあるからどっかにバッファがあってダブルブッキングありき(というかキャンセルありき)でやってるんじゃないかな。12:59システムでなくて、初めから運用でカバーする感じの業務フローになっている場合において、嵐のコンサートのような想定外のことが起こると、問題が表面化してしまうということはあろうかと思います。それも、LINEとかで展開されて、本当に集中して受け付けられたりしたら・・・。予約システムで多いのは、予約時点では確定で無くて、ホテルからの折り返しのメール?があった時点で確定とするシステムですね。するかといえば、排他制御程度の仕組みでは無理があるばあいが多いからというのもあるでしょう。初めから、「窓口から予約できる席」「ネットから予約できる席」に分けられている場合があります。窓口では満席とかいわれたけど、ネットからは予約できるとか、その逆もあったりするわけです。上記のような方法をとるかといえば、窓口側からのシステムと、ネットからのシステムが、簡単に統合できないとかそういう事情もあります。上記のことをすると、ダブルブッキングすることはないのですが、非効率になります。それはともかく、予約システム系を個人とかで請け負って開発する人は、業務フローや効率を考慮の上、問題がある時の対応方法を考察しておく必要はあろうかと思います。確定メールを送るまでは、仮予約で確定でないという運用も、その一つです。システムを依頼する側、また使う側も、そういう事態があることを前提に、業務フローを考えておくべきかと思います。排他制御について嵐のコンサート情報が引き起こしたホテル多重予約問題を題材として、トランザクションと排他制御の重要性について説明しました。当該の事故の原因はおそらくもっと複雑なものであろうと予想しますが、ここで説明したレベルの単純な排他制御であってもPHPの入門書等では解説されていないので、初めて知ったという読者も多いのではないでしょうか。引用先は、排他制御が原因だとは考えていない感じですが、最初の方だけ読むとなんか勘違いしてしまいな記事だなぁという感想を持ちました。素人を騙す?感じの記事としては、最適だと思います。なんかすごそうに見えるし・・・。排他制御も大事だけど、リアルタイム性をあまり重要視するのは、リスクが高いと思います。徳丸浩の日記[database]嵐のコンサートがあるとダブルブッキングしてしまう予約システム。映画館の座席をよく予約する。17:38なんか、はまりそうな処理ですな。今度は嵐のコンサートがあると他の客を含めて遅くてほとんど誰も予約できないシステムができあがるだろう。キュー使ったほうがいいんでないの?簡単には受け付けるだけ受け付けて処理してから返答を別途返せば良い。17:35これが、あとから確定メールで、予約を予約を確定させるという方式だと思います。/rollbackをtry~catchしてないのも気になる...。16:53個人的には、そんなものって感じがするが、それゆえにPHPで作られた予約システムは、システムだけに頼りすぎるのは危険そうな匂いがするわけです。徳丸浩の日記[prog]MySQLでのトランザクションの使用と行ロックによる更新処理の排他制御。14:51知識ではそうだけど、実際にその方式を使うかどうかは、いろんな判断によるとは思う。updateしとけば最悪の事態は回避はできる。数瞬で4,000件の予約が降ってくるのは災害だよね。徳丸浩の日記[db][programming]排他制御不備のせいではという予想だけどブ米にもあるようにそれ以前の仕様的なところでこの問題だったんじゃないのかなあ。:コメントは、まだありません。関連記事(一部広告含む)ブログや記事に関する質問・感想などご意見やお問い合わせは、お問い合わせ窓口から受け付けています。記事に関する質問・感想などは、この記事のコメントをご利用ください。コメントをキャンセルメールアドレスは公開されません。コメント欄には、必ず日本語を含めてください(スパム対策)。isc5.com閉じる。