データベースにおける接続プーリング


開発者として、データベース接続について多くの時間を費やしていない可能性があります.単一のデータベース接続は高価ではありませんが、物事がスケールアップすると、問題が発生することができます.だから、接続プーリングの世界に飛び込むし、どのように我々はより多くのパフォーマンスアプリケーションを構築することができますを見てみましょう

データベース接続の典型的な方法


プーリングに入る前に、アプリケーションをデータベースに接続してデータベース操作を実行するときに起こることをすばやく確認しましょう.
  • アプリケーションは、接続を開くためにデータベースドライバを使用します.
  • ネットワークソケットは、アプリケーションとデータベースを接続するために開かれます.
  • ユーザは認証される.
  • 操作が完了し、接続を閉じることができます.
  • 我々が見ることができるように、接続とネットワーク・ソケットの開閉はいくつかのステップ・プロセスです.しかし、接続を閉じず、すべての時間を開いてそれを維持するリソースを消費します.

    なぜプールデータベース接続?


    単純なアプリケーションの典型的な接続方法は
    しかし、アプリケーションが何らかの量のユーザーを取得すると、単純なデータベース操作が数秒かかるかもしれません.
    また、各データベース操作の接続の定数の開閉
    大量のリソースを消費します.
    多くの場合、接続を維持し、操作から操作に移行する方法を見つけるのは意味があります.

    データベース接続プールは何ですか?


    データベース接続プールは、必要に応じてデータベース操作からデータベース操作に渡されることができるオープン接続の「プール」を維持することによって、接続の開閉のコストを減らす方法です.

    接続プールを作成して、構成する方法?


    例については、PostgreSQL * *と* * Sequelize ** ORMを使用してください.
    しかし、ほとんどすべての種類のデータベースまたはORMは接続プーリングをサポートします.
    コードスニペットの下にいくつかのデフォルト値
    pool: {
        max: 5,
        min: 0,
        acquire: 30000,
        idle: 10000,
      }
    
  • max->クライアントプールの最大数は同時に拡張できます.
  • min ->クライアントプールの最小数は拡張できます
    並行.
  • acquire ->プールがエラーをスローする前に接続を取得しようとする最大時間(ミリ秒単位).
  • idle ->接続がアイドル状態になっているか、解放される前にどんなデータベース操作でも待つことができる最大時間(ミリ秒単位).
  • これらは、すぐに始めるために必要な最小限の構成です.
    あなたは常に振り返って、あなたの要求に従ってより多くの構成を加えます.
    お読みありがとうございます.
    コメントセクションであなたの考えを共有すること自由に感じなさい.
    このようなコンテンツのために私に従ってください.