728x90
H2 데이터베이스
H2 데이터베이스는 보통 임베디드 데이터베이스로 알려져 있으며 MySQL과 같은 관계형 데이터베이스 관리 시스템이다. MySQL과 달리 복잡한 프로그램의 설치가 필요 없고 데이터베이스 파일만 있으면 언제든지 데이터베이스를 실행할 수 있어 프로그램에 포함해서 배포하는 것도 가능하다.
실제 운영 데이터베이스와 상관없이 관계형 데이터베이스를 사용하고 특정 데이터베이스 종속 기능 없이 구현하는 경우에는 효율을 위해 MySQL이나 Oracle 등을 설치하지 않고 H2와 같이 경량 데이터베이스를 이용해 개발하기도 한다.
H2 데이터베이스는 다음과 같이 세 가지 모드로 운영할 수 있다.
임베디드 모드
프로그램에서 JDBC URL을 이용해 접속하거나 console 웹을 통해 관리한다.
- 데이터 파일만 있으면 동작한다.
- 가장 간단하고 지정된 데이터 파일이 없다면 자동 생성하므로 언제든 실행 가능하다.
- 톰캣이 실행된 상태에서는 별도의 도구를 통해 데이터베이스 관리가 불가능하다.
- 파일을 사용하기 때문에 동시 다중 접속이 불가능하므로 개발이나 테스트가 불편하다.
인메모리 모드
프로그램에서 JDBC URL을 이용해 접속하거나 console 웹을 통해 관리한다.
- 데이터베이스를 메모리상에서만 운영하는 모드로 처리 속도가 빠르다.
- 프로그램 종료 시 데이터가 소멸되기 때문에 일반적인 애플리케이션에는 부적합하다.
네트워크 서버 모드
H2 데이터베이스를 내려받아 설치한 후에 JDBC를 이용해 접속하거나 console 웹을 통해 관리한다.
- 일반적인 데이터베이스와 같이 네트워크 서버로 동작하는 방식이다.
- 동시 다중 접속이 가능하다.
- 별도의 프로그램 실행과 관리가 필요하기 때문에 데이터베이스 서버를 별도로 실행해야 한다.
'Programming > Web' 카테고리의 다른 글
[Web] JDBC 기본구조와 API의 이해 (1) | 2022.10.26 |
---|---|
[Web] SQL(DDL, DML) (0) | 2022.10.25 |
[Web] 관계형 데이터베이스(RDBMS) (0) | 2022.10.24 |
[Web] 데이터베이스(Database) (0) | 2022.10.24 |
[Web] 서블릿 컨트롤러 설계 (0) | 2022.10.23 |