내장형 H2 데이터베이스 

= H2 Database는 빠르고 가벼운 오픈소스 관계형 데이터베이스로, 주로 개발과 테스트 환경에서 사용되며, 임베디드 모드와 서버 모드를 지원해 다양한 애플리케이션에 적합한 유연성을 제공합니다.

항목 설명
정의 Java 기반의 오픈소스 경량 내장형 관계형 데이터베이스 관리 시스템(RDBMS)
특징 - Java와 완벽히 통합- 메모리 및 디스크 기반 모드 지원
- 빠르고 가벼운 성능
라이선스 Apache 2.0 라이선스
데이터베이스 유형 관계형 데이터베이스 (Relational Database)
지원 언어 SQL (표준 SQL 및 일부 고유 기능 제공)
주요 모드 - 임베디드 모드: 애플리케이션과 동일 JVM에서 실행- 서버 모드: 클라이언트-서버 모델
장점 - 설치가 간단- 빠른 속도
- 테스트 및 개발 환경에 적합
단점 - 대규모 데이터 처리에 부적합
- 고급 기능이 제한적
주요 사용 사례 - 단위 테스트 환경
- 경량 애플리케이션
- 개발 및 프로토타이핑
호환성 JDBC를 통해 대부분의 Java 애플리케이션과 통합 가능
기본 파일 포맷 .h2.db (H2 데이터베이스 파일)
주요 기능 - 트랜잭션 관리
- 다중 연결 지원
-암호화된 데이터베이스 옵션
데이터 저장 옵션 - 메모리(Memory) 기반
- 파일(File) 기반

 

 

H2 데이터베이스 실행 모드 설명 및 장단점

  설명 장점  단점
Server Mode - 직접 DB 엔진을 설치하고 외부에서 DB 엔진을 구동. ( 서버 모드는 현업에서 사용하는 모드로 컴퓨터에 DB 엔진을 설치하고 엔진을 구동하여 사용하는 방식 )
- 데이터는 애플리케이션 외부에 저장되며, 애플리케이션 종료와 무관하게 유지됨.
- 데이터가 영구 저장됨.
- 여러 애플리케이션이나 사용자와 공유 가능.
- 독립적 DB 운영 가능.
- 설정 및 관리가 필요함.
- 메모리 및 디스크 자원 추가 소모.
- 비교적 느린 성능.
In-memory Mode - 애플리케이션 내부에서 DB 엔진을 함께 실행, 종료 
- 데이터가 메모리에 저장되며, 애플리케이션 종료 시 데이터도 소멸됨.
- 단위 테스트 등에서 많이 사용
- 매우 빠른 성능.
- 설치가 필요 없음.
- 테스트 및 프로토타이핑에 적합.
- 데이터가 영구 저장되지 않음.
- 애플리케이션 종료 시 데이터 손실.
Embedded Mode - 애플리케이션 내부에서 DB 엔진을 함께 실행, 종료 
- 데이터는 외부 파일로 저장[로컬 메모리에 직접 저장, 애플리케이션에 휘발성 저장이 아니다]되어 애플리케이션 종료 후에도 유지됨.
- 데이터가 영구 저장됨.
- 설치가 필요 없음.
- 빠르고 간단하게 사용 가능.
- 단일 애플리케이션에 의존.
- 외부 사용자와의 데이터 공유가 어려움.
- 성능이 제한될 수 있음.

추가 설명:

  • Server Mode는 개발 및 테스트 환경뿐 아니라 가벼운 프로덕션 환경에서도 사용할 수 있습니다. 다만 성능과 확장성은 상용 DBMS에 비해 제한적입니다.
  • In-memory Mode는 단위 테스트나 빠른 데이터 처리 및 소멸이 필요한 상황에서 이상적입니다.
  • Embedded Mode는 애플리케이션 중심으로 운영되는 환경에서 적합하며, 간단한 데이터베이스 유지 및 관리가 필요한 경우 유용합니다.

 

 

'DB > DBMS' 카테고리의 다른 글

[JPA] DB[JPA] 정리  (0) 2025.01.24
[DBMS] SQL  (0) 2025.01.24
[DB] DB (Database)  (1) 2024.12.21

+ Recent posts