H2는 가볍고 빠르며 다양한 방식으로 활용할 수 있는 데이터베이스 관리 시스템(DBMS)
주로 다음 세 가지 모드로 사용할 수 있다.
- Server Mode
- In-memory Mode
- Embedded Mode
1. Server Mode
서버 모드는 실제 운영 환경에서 주로 사용하는 방식.
H2 DB 엔진을 서버로 설치하여 애플리케이션과 분리해서 사용할 수 있다.
여러 애플리케이션이 동일한 DB를 공유할 수 있다는 장점이 있다.
H2 DBMS는 공식 사이트에서 다운로드할 수 있다.
특징
- H2 다운로드 필요
- 외부 서버에서 실행
- 데이터는 로컬 파일 시스템에 저장
- 배포용으로 적합
2. In-memory Mode
인메모리 모드는 애플리케이션과 함께 실행되며, 데이터가 메모리에 저장되는 방식.
애플리케이션이 종료되면 데이터도 함께 사라지는 휘발성 특징이 있어 주로 단위 테스트용으로 많이 사용된다.
설정 예시
# application.yml
spring:
datasource:
driver-class-name: org.h2.Driver
url: jdbc:h2:mem:{DB 이름}
username: sa
password:
# application.properties
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:{DB 이름}
spring.datasource.username=sa
spring.datasource.password=
특징
- H2 다운로드 불필요
- 애플리케이션 내에서 실행
- 데이터는 메모리에 저장
- 테스트용으로 적합
3. Embedded Mode
임베디드 모드는 인메모리 모드와 유사하지만, 데이터가 로컬 파일 시스템에 저장된다.
따라서 애플리케이션이 종료되더라도 데이터는 유지됩니다. 간단한 애플리케이션 개발에 적합하다.
설정 예시
# application.yml
spring:
datasource:
driver-class-name: org.h2.Driver
url: jdbc:h2:{DB가 저장될 경로}
username: sa
password:
# application.properties
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:{DB가 저장될 경로}
spring.datasource.username=sa
spring.datasource.password=
특징
- H2 다운로드 불필요
- 애플리케이션 내에서 실행
- 데이터는 로컬 파일 시스템에 저장
- 개발용으로 적합
비교 표
Mode | H2 다운로드 여부 | 실행 주체 | DB 저장 위치 | 사용 용도 |
Server Mode | O | 외부 | 로컬(파일 시스템) | 배포 용도 |
In-Memory Mode | X | 애플리케이션 | 메모리 | 테스트 용도 |
Embedded Mode | X | 애플리케이션 | 로컬(파일 시스템) | 개발 용도 |
이렇게 H2 데이터베이스를 다양한 방식으로 사용할 수 있으며, 각 모드는 목적에 맞게 설정하여 활용할 수 있다.
'🗂️ Study > 🌿Spring' 카테고리의 다른 글
트랜잭션 (Transaction) (0) | 2024.06.27 |
---|---|
JWT(Json Web Token) (0) | 2024.05.28 |
쿠키 & 세션 (0) | 2024.05.28 |
인증(Authentication) & 인가(Authorization) (0) | 2024.05.28 |
Query Methods (0) | 2024.05.21 |