H2 In-Memory Mode

newVelog·2023년 11월 24일

사용하는 이유

  1. 테스트 환경: 인메모리 모드는 테스트 환경에서 데이터베이스를 임시로 사용하는 데 유용하다. 테스트를 위해 별도의 데이터베이스를 설치하거나 구성할 필요 없이 메모리에서 데이터를 처리할 수 있다.
  2. 성능: 디스크에 데이터를 저장하는 것보다 메모리에서 데이터를 처리하므로, I/O 비용이 절약되고 더 빠른 성능을 제공할 수 있다.
  3. 임시 데이터: 임시로 생성되는 데이터나 세션 관리와 같이 영구 저장이 필요하지 않은 데이터를 처리할 때 편리하다.

사용법

  1. JDBC URL 설정: H2 데이터베이스에 접속하기 위해 JDBC URL을 설정해야 한다. 인메모리 모드를 사용하기 위해서는 JDBC URL에 mem: 또는 memory: 접두어를 추가해야 한다. 예를 들면 다음과 같다
    spring:
      h2:
        path: /h2-console
      datasource:
        url: jdbc:h2:mem:sb_dev;MODE=MySQL
        driverClassName: org.h2.Driver
        username: sa
        password: 
  2. 데이터베이스 생성: 인메모리 모드에서는 데이터베이스가 자동으로 생성된다. 따라서 별도의 데이터베이스 생성 작업이 필요하지 않다.
  3. 데이터 처리: 인메모리 모드에서도 SQL 문을 사용하여 데이터를 조회, 삽입, 수정, 삭제할 수 있다. 데이터 처리는 일반적인 방법으로 수행하면 된다. 다만, 인메모리 모드에서는 데이터베이스 연결이 유지되는 동안에만 데이터가 유지되므로, 연결이 종료되면 데이터가 사라진다.

인메모리 모드는 임시 데이터 처리나 테스트 환경에서 유용한 기능을 제공한다. 그러나 주의해야 할 점은 데이터가 메모리에만 저장되기 때문에 서버를 재시작하거나 연결이 종료되면 데이터가 모두 사라진다는 점이다.

0개의 댓글