본문 바로가기

DB

[DB] H2 Database

H2 데이터 베이스란?

 

1. 개요

  • JAVA 기반의 오픈 소스 RDBMS(관계형 데이터베이스 관리 시스템)다.
  • 주로 메모리에 데이터를 저장하는 용도로 쓰이며, 디스크에 데이터를 저장할 수도 있다.
  • SQL 표준의 일부가 지원된다.
  • 개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면을 제공한다.
  • 모든 데이터 조작은 트랜잭션에 기반한다.
  • 테이블 수준의 잠금과 MVCC(다중 버전 동시성 제어)가 구현되어있다.
    • 주의 : H2 데이터베이스의 MVCC 옵션은 H2 1.4.198 버전부터 제거되었다.

2. 구동 방식

  • Server Mode
    • Disk 기반으로 대부분의 데이터를 디스크에 저장하고 캐시로 메모리를 사용한다.
  • Embedded Mode
    • In-Memory 기반으로 메모리에 데이터를 저장하고 프로그램을 닫으면 데이터가 손실된다.

In-Memory Database란?

 

  1. 개요
    • IMDB, 혹은 MMDB(Main Memory DBMS)라고도 한다.
    • 디스크가 아닌 주 메모리에 모든 데이터를 보유하고 있는 데이터베이스
  2. 장점
    • 디스크 검색보다 자료 접근이 훨씬 빠른 것이 가장 큰 장점
    • 데이터 양의 빠른 증가로 데이터베이스 응답 속도가 떨어지는 문제를 해결할 수 있는 대안
  3. 단점
    • 안정성이 떨어진다. DB 서버 전원이 갑자기 꺼진다면 안에 있는 자료들이 사라지게 된다. (휘발성)
    • 위의 단점으로 인해 날아가도 상관 없는 임시 데이터에 주로 사용된다.
    • 속도 때문에 사용하지만 데이터에 비해 RAM 용량이 넉넉하지 않을 경우 가상 메모리를 쓰게 되어 역효과가 일어날 수도 있다.

설치 방법 (Window 기반)

1. H2 사이트에 접속한다.

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

 

H2 Database Engine

H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: around 2 MB jar file size     Suppor

www.h2database.com

2.  Downloads에서 각자 원하는 버전 선택해서 설치 파일을 받은 후 설치한다.

 

3. H2 데이터 베이스 파일 생성 방법

 

  • jdbc:h2:~/DB명
  • ~/DB명.mv.db 파일 생성 확인 (일반적으로 C:\Users\사용자명\DB명.mv.db 경로에 존재)
  • 이후 부터는 jdbc:h2:tcp://localshot/~/DB명 접속 가능

4. SpringBoot에 H2 Database 연동하기

   4-1. Dependency 추가 (Gradle)

 4-2. Datasource 설정

 4-3. 정상 동작 확인

 


공부 겸 기록을 남기기 위한 용도로 정리한 것으로 잘못된 부분이 알려주시면 감사하겠습니다!

'DB' 카테고리의 다른 글

[MySQL] Error Code : 1452 foreign key error #1452  (0) 2021.07.06
DB 에러 (ORA-12505 에러)  (0) 2017.06.03