본문 바로가기
넓고 얕은 데이터베이스 지식

Spring Boot에서 H2 DB 3 가지 모드로 사용하는 방법 정리

by 팡펑퐁 2023. 6. 20.
728x90

H2 DB의 3 가지 모드 정리

Embedded Mode

  • H2 데이터베이스가 이를 사용하는 서버와 동일한 JVM 내에서 실행된다.
  • 애플리케이션의 실행에 의해 시작 및 중지된다.
  • 데이터베이스가 파일 시스템의 파일에 저장되어 데이터의 지속성을 보장해 준다.

In-Meomory Mode

  • 데이터베이스의 데이터를 메모리에 저장하고 있다가 서버가 꺼지면 사라진다.
  • 디스크에 데이터를 저장하지 않아 애플리케이션이 종료되면 데이터베이스가 소멸된다.
  • 테스트 용도로 많이 사용한다.

Server Mode

  • H2 데이터베이스와 애플리케이션이 독립적으로 실행된다.
  • h2/bin/h2.sh를 터미널로 실행하여 h2 서버를 실행시키는 방식을 사용한다.
  • JDBC를 통해 TCP/IP 프로토콜을 사용하여 서버와 통신한다.
  • 일반적인 데이터베이스 서버라고 생각하면 된다.
  • 그렇기 때문에 다중 데이터베이스의 연결도 가능하다.

 

spring:
  h2:
    console:
      enabled: true # H2 Console을 사용 여부 (H2 Console은 H2 Database를 UI)
      path: /h2-console # H2 Console의 경로
  datasource:
  	# H2 접속 정보 
    url: jdbc:h2:file:/path/to/database/dbName # Embedded Mode
    url: jdbc:h2:mem:dbName # In-Memory Mode
    url: jdbc:h2:tcp://localhost/~/dbName # Server Mode
    username: sa  # H2 접속 시 username 정보 (자유 입력)
    password:     # H2 접속 시 password 정보 (자유 입력)
    driver-class-name: org.h2.Driver # Database를 H2로 사용함

 

 

 

 

 

참고

chatGPT

 

728x90