移設されました(2019/7/1)「待つ」という事には「制御」が必要です本日は「キュー(queue)」という言葉を解説します。queueという言葉を和英辞典で調べると、まさに「待ち行列」という言葉が出てきます。人間は賢いので待つ時には待ち行列を勝手に作りますが、コンピュータに対しては「このデータは待ち行列を作って順番に処理してね?」と制御してあげなければなりません。そのような仕組みを「キュー」といいます。コンピュータでデータを処理するシーンではいたる所にこの「キュー」が存在します。オフィスにおけるプリンタの印刷待ちインターネットで航空券を予約した時のキャンセル待ち病院で受付をした後の診察待ちこれらすべてがキューを使った処理になります。キューの仕事は「列に並んでお待ちください」「おまたせしました、こちらへどうぞ」→でもここに「匠の技」がある。今回はこの「キュー」をみなさんの身近にある例を挙げて説明します。みなさんはコンビニで以下のような光景をご覧になったことがあると思います。お客のAさんBさんが会計待ちの列に並んでいます。この列をキューといいます。お客Cさんはまだ買い物を続けています。カウンターにはレジが3台あってお客さんをさばいています。この状態によってお客AさんBさんは順番にお会計をする事ができます。これをキューシステム(またはキューサービス)といいます。これから、このキューサービスの具体的な処理を見ていきましょう。キューへのデータ投入:「列の最後尾に並んでお待ちください」お昼時のコンビニやレジ回りの導線が分かりにくいコンビニではこうアナウンスしている店員さんもいると思います。お店によっては床に矢印をペイントして待ち行列(キュー)を示している所も多いですね。上記の例では「お客Cさんがお会計をしようと思った」時に必要な処理です。ここでCさんがレジ3に直接向かってしまったり、AさんとBさんの間に割り込んでしまったのではトラブルになりかねません。Cさんが「お会計」という処理を行うために「列の最後尾へならばせてさしあげる事」これがキューサービスにおける「データ投入処理」です。キューからのデータ取出:「先頭のお客様、こちらのレジへどうぞ」これはみなさんおなじみですよね。これによってお客様はやっとレジでお会計をすることができます。待ち行列(キュー)からお客様が出てくるので、これをキューサービスにおける「データ取出処理」といいます。これだけだと簡単な処理のように思うのですが、実はここに匠の技があります。匠の技1:排他機能を用いた一貫性の担保まず「レジ1」と「レジ2」から同時に「こちらへどうぞ」の声が上がった場合です。コンビニで人間をさばくシーンではこれはほとんど問題になりません。コンビニではお客さんが勝手に判断して好きなレジに行けばOKだからです。コンビニ1店舗では1秒間に100人のお客さんをさばくような処理が求められていない事も理由です。インターネット上の待ち行列処理では人間の反射神経では追いつかないほどの大量データを高速に処理する事が求められます。この場合、コンピュータのキューサービスには「お客Aさんはレジ1がお会計処理をする。同時にAさんに声をかけたレジ2は、もうAさんを処理しない。次のBさんを処理する。しないとAさんのお会計処理がダブってしまうから。」という処理が求められます。これを「排他処理」といいます。キューサービスにはこの排他機能によってデータの「一貫性」を担保する処理が求められるのです。次の技は、何か予期せぬエラーが起こった場合の処理です。「お客Aさんのお会計中に突然レジ1が壊れてしまった」時です。この場合Aさんは他のレジでお会計をしなければなりませんが、どうすればよいのでしょう?Aさんに「申し訳ありませんが、もう一度列の最後尾からならびなおしてください」とお願いしたらAさんはきっと怒ってしまいますよね?レジ2もしくはレジ3ができるだけ早急にAさんのお会計処理を行う必要があるのです。ここではコンビニでも店員さんの臨機応変な対応が求められると思いますが、コンピュータのキューサービスにおいても同様の対応が求められます。ビッグデータを処理するためにキューサービスはますます重要に今回は「キュー」について説明させていただきました。このキューサービス、一見皆さんの目には「簡単・地味」な処理と映るかもしれません。大量データを高速に一貫性を担保した状態で安全に処理しなければならないという要求が急激に高まる中で、この「キューサービス」に関する重要度が増してきています。データ分析用語:索引AUTHOR他のスタッフを見る"ギックスギックスからのお知らせをお伝えします。加えて、「ギックスらしさ」につながる“インターン生による記事”や“外部からの寄稿”なども、こちらのアカウントで発信していきます。活用して機械学習のワークフローを構築する2020.02.03【メディア掲載】「トチカチ」が日経クロストレンド、日経MJに取り上げられました。2020に、「トチカチ」を出展しています。Queueストレージ・・・クラウドサービスとはナニモノか?ブログ購読にはRSSとTWITTERが便利です。CONCEPTギックスの創業理念と目指す姿をご紹介します。グラフ理論などを駆使し、経営課題の解法を探りますデータ基盤構築サービス理論を実務に繋いで成果を創出。永続的な拡張により顧客便益を最大化します。情報セキュリティ基本方針CONTACTRSS。