Python キューイングシステム

Python学習【365日チャレンジ!】328日目のマスターU(@Udemy11)です。

2日に体重が5kgも増えたという報告をしましたが、さらに2kg追加して、年末から年始にかけて、7kgも体重が増えてしまいました。

7kgも増えると動くのがめちゃくちゃしんどくて、常に膨満感を感じている状態なので、これからは食べる量をきちんとセーブして、徐々に体重を減らしていこうと思います。

釣りにも行ってなかったので、年始の釣り初めにも行きたいのですが、朝は寒さでなかなか布団から出られず、夜はお腹いっぱいで出かける気になれない状態から抜け出せるかちょっと心配しています。

Python学習も残り1ヶ月ちょっとなので、気持ちを引き締めて行きたいと思います。

それでは今日も、Python学習を始めましょう。

昨日の復習

昨日は、機械学習のマシーンラーニングを学習しました。

データウェアハウス、統計、データマイニング、マシーンラーニング(機械学習)まで解説してきましたが、実際にたくさんのデータ分析を経験しないことにはいまいち何をやっているのかわからなくなります。

サンプルコードを紐解きながら、何をしているのか理解していくわけですが、1度の学習ではすぐに忘れてしまうので、サンプルコードに少し改良を加えて実行してみるなど、経験を積み重ねる必要がありました。

アップルの株価を取得して、特定日と30日後の株価や他の要素を機会学習させて、予測値の正確さをチェックして、予測値をグラフに描写していますので、くわしくは、昨日の記事をごらんください。

今日から新しいセッションのキューイングシステムを学習したいと思います。

キューイングシステムとは

私たちが使用しているパソコンは、GUI(グラフィカルユーザーインターフェース)で見た目で操作でき、ダブルクリックしたり、コマンドを直接入力してプログラムを実行します。

一方で、サーバーシステムやメールサーバーシステムなどは、多数の人が同じサーバーを利用しているため、同時にそれぞれの人が大量の命令を実行すると、処理能力の限界を超えてフリーズしてしまいます。

このようなリスクに備えるためのシステムがキューイングシステムで、利用者が利用したいプログラムに関する情報を一時的に預かり、プログラムを振り分けることができます。

例えるなら、カラオケボックスで言うところの受付、ラウンドワンで言うところの受付、ホテルで言うところのフロントみたいなものですね。

ブローカーなしとブローカーあり

ブローカー、いわゆる仲介ですが、ブローカーなしのキューイングシステムとブローカーありのキューイングシステムがあり、ブローカーなしの場合、リクエストがあったらすぐにリクエストに答えるのに対し、ブローカーありは、タスクを受けて、バックグラウンドでサーバーに処理をスケジュールして、スケジュールに応じた処理を返すという感じです。

ブローカーなしだとすぐにレスポンスを返せるのですが、タスクが保存されていないので、何かあった場合は処理が完結しないのに対して、ブローカーありは処理に時間がかかるものの、タスクが保存されているので、何かあってもその処理を最後まで実行できます。

まとめ

ネットで【キューイングシステム】を検索すると、メッセージキューイングシステムの解説がたくさん出てくるのですが、システムによって、サーバーの処理を分散させることで、サーバーの負荷を下げることを目的に開発されたシステムだということがわかります。

ジョブをキューに渡すことでシステムが受け取ったキューを振り分けてくれるので、イメージとしてはできるマネージャーと言う感じでしょうか?

酒井さんの講座も序盤に差し掛かり、どんどん難しくなってくるので、私のスキルでは理解するのすら難しくなってきましたが、もう少しキューイングシステムのことについて頑張って学習していこうと思います。

Udemy講師 酒井さん プログラミング Python

それでは、明日もGood Python!