H2 데이터베이스

 

H2 데이터베이스는 자바 기반의 경량화된 관계형 데이터베이스 관리 시스템(RDBMS)이다.

메모리 내에서 실행될 수 있어서 개발이나 테스트 용도로 많이 사용되곤 한다.

그래서 애플리케이션 개발 시 데이터베이스 서버를 별도로 구성하지 않고도 손쉽게 데이터베이스 환경을 구축할 수 있어서 매우 편리하다.

 

H2 데이터베이스의 주요 특징은 아래와 같다.

  • H2는 자바 애플리케이션에 내장될 수 있어서 복잡한 설치 과정 없이 데이터베이스를 바로 사용할 수 있다.
  • 메모리에서 직접 실행되므로 빠른 데이터 액세스와 테스트가 가능하다. 개발 중에는 메모리 데이터베이스를 사용하고, 실제 운영 환경에서는 디스크 기반 저장소를 사용하는 식으로 활용할 수 있다.
  • H2는 표준 SQL을 많이 지원한다. 복잡한 쿼리나 함수, 트리거 같은 고급 데이터베이스 기능도 사용할 수 있다.
  • H2 데이터베이스는 웹 기반의 콘솔을 제공해서, 웹 브라우저를 통해 데이터베이스를 쉽게 관리하고 SQL 쿼리를 실행할 수 있다.
  • 오픈 소스이기 때문에 무료로 사용할 수 있고, 필요에 따라 코드를 수정하거나 확장하는 것도 가능하다.

 

이러한 특성 때문에, H2는 개발 초기 단계나 단위 테스트를 위한 데이터베이스로 아주 적합하다.

 

그러나 메모리 데이터베이스의 특성상 데이터가 영구적이지 않기 때문에, 중요한 데이터를 관리할 때는 디스크 기반의 저장 방식을 사용하는 것이 좋다.

 

H2 데이터베이스 설치

h2 데이터베이스는 아래의 링크에서 다운로드 받을 수 있다.

https://www.h2database.com/html/download.html

 

Downloads

Downloads Version 2.2.224 (2023-09-17) Windows Installer (SHA1 checksum: 1e4cda116519e8f95cac8298b1a4d7cbd50073ec) Platform-Independent Zip (SHA1 checksum: 8de40da72b269ae1d7a899f25aa0bbcb242b6220) Version 2.1.214 (2022-06-13) Windows Installer (SHA1 check

www.h2database.com

 

 

맥은 Platform-Independent Zip를 다운로드 하고 아무곳이나 zip을 풀어준다.

 

버전에 맞게 설치하면 되고, 나는 스프링 부트에서 제공되는 버전이 2.2.224라서 이와 맞는 버전을 다운로드 하였다.

 

다운로드 받은 폴더의 구조는 아래의 그림과 같다.

 

이후 터미널을 열고, 다운로드 받은 폴더로 이동한다.

cd 다운로드 받은 폴더 경로

 

이동했다면 아래의 명령어로 권한을 허락해준다.

chmod 755 ./bin/h2.sh

 

아래의 명령어로 h2.sh를 실행한다.

./bin/h2.sh

 

명령어를 실행시키면 웹 페이지가 하나 뜰텐데, 주소창에서 아이피:8082~~가 아니라

localhost:8082~~가 되도록 수정한다.

localhost 외에 다른 것을 수정하면 권한 문제가 생길 수도 있다.

 

이런 창에서 아래와 같이 수정한다.

JDBC URL을 jdbc:h2:~/test로 최초 한번 설정해준다.

이 경우 연결 시험 을 호출하면 오류가 발생한다. 연결을 직접 눌러주어야 한다.

이후에는 JDBC URL에 jdbc:h2:tcp://localhost/~/test 을 입력하고 연결하면 된다. 

 

- 새로 h2 DB를 만들 때는 먼저 첫 경로 : jdbc:h2: + 저장하고자 하는 디렉터리 경로 → 디렉터리안에 mv.db가 생성된다.
- 첫 생성 이후 접속 : jdbc:h2:tcp://localhost/~ + mv.db가 저장된 경로