Node.js + MySQLでコネクションプールを扱う方法

記事
IT・テクノロジー

はじめに

WebアプリケーションやAPIのバックエンドシステムを開発する際、データベースとのコネクション管理は重要な要素の一つです。効率的なコネクション管理は、アプリケーションのパフォーマンスとスケーラビリティに大きく影響します。このブログ記事では、コネクションプールの概念について解説し、Node.jsのMySQLライブラリを使った具体的な実装方法を紹介します。

コネクションプールとは?

コネクションプールは、データベースへの接続をプール(予め準備された接続の集まり)として管理する技術です。アプリケーションがデータベースとの通信を必要とする際、新たにコネクションを確立するのではなく、プールから利用可能なコネクションを取得します。使用が終わったコネクションは、再利用のためにプールに戻されます。

この方法の利点は、コネクション確立のオーバーヘッドを削減し、リソースを効率的に使用できる点にあります。結果として、アプリケーションの応答性が向上し、大量の同時接続をより効果的に処理できます。

Node.jsでのコネクションプールの実装

Node.jsでMySQLデータベースとのコネクションプールを実装するには、mysqlライブラリを使用します。以下は、Node.jsでコネクションプールを設定し、使用するための基本的なステップです。

ステップ 1: 必要なパッケージをインストールする

まず、mysqlパッケージをプロジェクトにインストールします。

npm install mysql

ステップ 2: コネクションプールを作成する

mysqlライブラリを使用して、コネクションプールを作成します。以下のコードスニペットは、コネクションプールを設定する方法を示しています。

const mysql = require('mysql');
const pool = mysql.createPool({
  connectionLimit: 10, // プールに保持するコネクションの最大数
  host: 'example.org', // データベースのホスト名
  user: 'yourusername', // データベースのユーザー名
  password: 'yourpassword', // データベースのパスワード
  database: 'yourdatabase' // データベース名
});

ステップ 3: コネクションプールからコネクションを取得し、クエリを実行する

プールからコネクションを取得し、SQLクエリを実行する方法は以下の通りです。

pool.getConnection((err, connection) => {
  if (err) throw err; // コネクションの取得に失敗した場合

  connection.query('SELECT * FROM yourtable', (error, results, fields) => {
    connection.release(); // コネクションをプールに戻す

    if (error) throw error;

    console.log(results);
  });
});

まとめ

コネクションプールを使用することで、データベースとの接続を効率的に管理し、アプリケーションのパフォーマンスとスケーラビリティを向上させることができます。Node.jsのmysqlライブラリを活用することで、簡単にコネクションプールを実装し、アプリケーションのデータベース操作を最適化できます。

JavaScriptのバックエンド実装についてお困りの際は以下のサービスからご相談ください!

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す