[go] Go 언어에서 데이터베이스의 연결 풀링 설정 방법

Go 언어를 사용하여 데이터베이스와 연결할 때 효율성을 높이기 위해 연결 풀링을 설정하는 것이 중요합니다. 연결 풀링은 데이터베이스 연결을 미리 생성하여 재활용함으로써 성능을 개선합니다. 이번 포스트에서는 Go 언어에서 데이터베이스의 연결 풀링을 설정하는 방법에 대해 알아보겠습니다.

1. 데이터베이스 드라이버 고르기

Go 언어에서 다양한 데이터베이스에 접속하는 데 사용되는 드라이버는 database/sql 패키지에 구현되어 있습니다. MySQL, PostgreSQL, SQLite 등 다양한 데이터베이스에 연결하기 위한 드라이버를 선택할 수 있습니다.

import (
    "database/sql"
    _ "github.com/go-sql-driver/mysql"
)

위의 코드에서는 MySQL 데이터베이스에 연결하기 위한 드라이버인 go-sql-driver/mysql를 가져오고 있습니다.

2. 데이터베이스 연결 풀링 구성하기

database/sql 패키지를 사용하여 데이터베이스와의 연결을 설정하고 풀링을 구성할 수 있습니다. 아래 예시에서는 MySQL 데이터베이스와의 연결 풀링을 설정하는 방법을 보여줍니다.

func main() {
    db, err := sql.Open("mysql", "user:password@tcp(localhost:3306)/dbname")
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()

    // Set connection pool settings
    db.SetMaxIdleConns(10)
    db.SetMaxOpenConns(100)
}

위 예시에서 SetMaxIdleConns는 연결 풀에서 유휴 상태로 대기할 최대 연결 수를 설정하고, SetMaxOpenConns는 동시에 열어둘 최대 연결 수를 설정합니다.

3. 연결 풀링 사용하기

이제 데이터베이스와의 연결 풀링이 설정되었으므로, 필요할 때 연결을 가져와서 사용할 수 있습니다. 아래 예시에서는 간단한 쿼리를 수행하는 방법을 보여줍니다.

rows, err := db.Query("SELECT * FROM table")
if err != nil {
    log.Fatal(err)
}
defer rows.Close()

for rows.Next() {
    // Parse rows
}

위 코드에서는 db.Query를 사용하여 쿼리를 실행하고, 결과를 처리하기 위해 rows.Next를 이용하고 있습니다.

연결 풀링을 설정하고 사용함으로써 데이터베이스와의 연결을 효율적으로 관리할 수 있습니다. Go 언어에서 데이터베이스와의 효율적인 연결 관리를 위해 연결 풀링을 설정해보세요.

이상으로 Go 언어에서 데이터베이스의 연결 풀링 설정 방법에 대해 알아보았습니다.

References