データベースとアプリケーションの間にWebAPIを作ろうと思っています。
DBの公式ドライバーには、client.connect()
でDBに接続してclient.close()
で切断するという機能があります。
そこで質問なのですが、connectやcloseというのはAPIサーバを立ち上げた時にconnectして終了する時にcloseするものでしょうか?それとも、GETリクエストなどを1回受け取るごとにconnectしレスポンスを返したらcloseするものでしょうか?
接続にかかるコストや接続維持にかかるコストとの兼ね合いなので、一般にという話は難しいと思いますが、通常DBは一般公開するわけではないので、接続維持にかかるコストは一定に収まるはずで、なるべく繋ぎっぱなしにして、接続にかかるコストを抑えるのが正しい戦略かと個人的には思います。
他方Webに公開するAPIでは、繋ぎっぱなしにするコストも接続にかかるコストも分からないので、どちらがいいかなんて一般的には分からないのではないでしょうか?
私は回答できるほど詳しくないですが、多分WebAPIにした場合に、接続口をWebAPIにするだけで、相変わらず内部的にしか使わないのか、それとも外部公開するのか、を明確にした方がいいと思いますよ。
この質問との違いはなにでしょうか。
https://teratail.com/questions/282341
@m.ts そちらはMongolDBを知ってる人しか答えられません。
MongolDBを知ってる人はいないのでは。私は名前すら知りません。
MongoDBなら知ってる人も多いでしょう。私もあまり使ったことはないですが名前は知っています。
しかし、MongoDBだとして「知ってる人しか答えられない」と書きつつ「一般論で」解決としてしまう矛盾は感じざるを得ません。
回答1件
あなたの回答
tips
プレビュー