「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

コネクションプーリング

pointこの用語のポイント

point最初から接続した状態を用意しておくよ

point使いたい人には、接続した状態を貸し出すよ

point接続にかかる負担を減らすための仕組みだよ

スポンサーリンク

簡単に書くよ

コネクションプーリング(英:connection pooling)とは

ゲストカード貸出型接続方式のこと。
もう少し具体的に書くと

接続した状態を最初からいくつか用意しておいて、何か用事がある人にはその接続を貸してあげることで、いちいち接続する手間を減らす機能のこと
です。


image piyo

詳しく書くよ

サクっと一言で説明すると

あらかじめ接続した状態を用意しておいて、それを貸し出すことで、使うときに接続する手間を減らす機能

が「コネクションプーリング」です。

……と、いきなり言われても、分かりませんよね。
そもそも「接続した状態」ってなんだよ!と思う方もいるでしょう。

大丈夫です。
順番に見ていきましょう。

例えば、そうですね。

ここにピヨ太君が所有するピヨピヨビルが ありました。

コネクションプーリング

ピヨピヨビルはセキュリティばっちりです。
ビルの中を移動するときは身分証明書代わりのカードが必要です。
ピッってやることで、はじめてドアが開きます。

コネクションプーリング2

カードは、入口のところにいる警備員さんに身分証明書を見せると作ってもらえます。
警備は結構ザルです。
身分証明書さえ見せれば、あっさり作ってくれます。

コネクションプーリング3

カードがあればビル内の移動は自由にできます。

コネクションプーリング4

ただし、カードの持ち出しはできません。
ビルから出るときは警備員さんに返すことになります。
返されたカードは捨てられます。

コネクションプーリング5

そして、それで終わりです。
過去にカードを作ったことがあっても関係ありません。
もう一度ビルに入りたくなったら、再び身分証明書を見せてカードを作ってもらう必要があります。

コネクションプーリング6

セキュリティ的には安全ですが、少し面倒くさいですね。
利用者の皆様方から「出入りするのに時間が掛かってイヤなんですけどー!」と苦情が出ました。
警備員さんからも「ぶっちゃけ、カードを作るのが面倒くさいっすよー」と泣きが入りました。

コネクションプーリング7

ですが、実際問題、カードは必要です。
「セキュリティは気にしないよ。誰でもウェルカム!」にしたとしても必要なのです。

なぜなら、カードがないとドアが開かないからです。
ビル内の移動ができません。

どうしようかピヨ太君は考えます。
足りない頭を必死に絞って考えます。
頭から煙が出るくらい考えました。

コネクションプーリング8

そして、ついに閃いたのです。

コネクションプーリング9

ピヨ太君は言いました。
「よし、ゲストカードを作ろう!」と。

コネクションプーリング10

ピヨ太君は警備員さんに依頼して、5枚のゲストカードを作りました。
ビルに入りたい人には、このゲストカードを貸し出すことにしたのです。
ゲストカードの管理は警備員がやります。

コネクションプーリング11

これでビルに入りたい人は、身分証明書を見せたりなんだりの手続きがなくなって楽になりました。
警備員さんもカードを作る手間がなくなりました。
ゲストカードが紛失しないように管理すれば、それで十分です。

コネクションプーリング12

残念ながら、その分の弊害も出ましたけどね。
例えば、ゲストカードは5枚しかありません。
ですから、5枚とも貸し出されているときはビルに入れません。
誰かがゲストカードを返却してくれるまで、6人目は待つ必要があります。

コネクションプーリング13

えっ?
ゲストカードをもっと増やせ?

確かにゲストカードの数を増やせば解決する問題ではあります。
ですが、今度は警備員さんがゲストカードを管理する手間が増えてしまいます。

ビルに入る人には喜んでもらいたいですが、警備員さんたちに必要以上の負担を掛けたくもありません。
ピヨ太君としては悩ましいところですね。

弊害はともかくとして、このようなゲストカード貸出方式で接続させるやり方がコネクションプーリングです。
必要なもの(ゲストカード:接続した状態)をあらかじめ用意しておいて、それを貸し出すことで、負荷(カード作成の手続き:接続処理)を軽減するための仕組みです。

もう少しコンピュータに近い例も見てみましょう。
今度はデータベースさんに登場してもらいます。

コネクションプーリング14

データベースを利用するときは、データベースに接続します。

コネクションプーリング15

使い終わったら切断します。

コネクションプーリング16

……これだと少しイメージしにくいですね。
言い方を変えましょう。

データベースを利用するときは、データベースの壁に穴を開けます。

コネクションプーリング17

穴を開けたら、穴から壁の向こうに、つまりデータベースの中に上半身を突っ込んであれやこれと作業をします。

データベースを使い終わったら、上半身を穴から出します。
その後、開いていた穴を閉じます。

コネクションプーリング18

これがデータベース接続の一般的な流れです。

ただし、壁に穴を開けたり閉じたりするのは結構大変です。
接続するという行為には、それなりの負荷がかかるのです。

そこで、あらかじめ壁に、いくつかの穴を開けておく方法が生み出されました。

コネクションプーリング19

壁には最初から穴が開いています。
ということは、いきなり上半身を突っ込めますね。
接続するときの手間(穴を開ける行為)を省けます。

コネクションプーリング20

使い終わったら穴から上半身を引っこ抜きます。
ただし穴は塞ぎません。
開いた状態で残します。

コネクションプーリング21

このようなやり方にすれば、穴を開けたり塞いだりする手間が軽減されます。
また、穴は使いまわします。
「同時に」使う人の数が穴の数を超えなければ、使う人が多くなっても問題ありません。

このようなやり方・仕組み・機能がコネクションプーリングです。
コネクション(接続)をプール(蓄える)することで、接続に関する負荷を軽減する狙いです。

穴の数には限りがあるので、穴の数より使いたい人の数が多くなったら順番待ちが発生しますけどね。
実際には条件次第でデメリットもあったりします。
あとの細かいことは専門的に解説しているところで情報を補完してください。


image piyo2

一言でまとめるよ

まぁ「コネクションプーリング」って単語が出てきたら「接続した状態を用意しておいて、それを貸し出しますよ機能なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像054
書籍画像073

おまけ

■訳してみるよ

「connection(コネクション)」の意味は「つながり」とかです。
「pooling(プーリング)」は「pool(プール)」+「ing」です。
「pool(プール)」の意味は「水たまり」とか「ため池」とかです。
何となく くっつけると

つながりのため池

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
タヌキとキツネ
ソフトウェア受託現場の「失敗」集めてみた。 42の失敗事例で学ぶ受託開発のうまい進めかた