H2 데이터 베이스란?
1. 개요
- JAVA 기반의 오픈 소스 RDBMS(관계형 데이터베이스 관리 시스템)다.
- 주로 메모리에 데이터를 저장하는 용도로 쓰이며, 디스크에 데이터를 저장할 수도 있다.
- SQL 표준의 일부가 지원된다.
- 개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면을 제공한다.
- 모든 데이터 조작은 트랜잭션에 기반한다.
- 테이블 수준의 잠금과 MVCC(다중 버전 동시성 제어)가 구현되어있다.
- 주의 : H2 데이터베이스의 MVCC 옵션은 H2 1.4.198 버전부터 제거되었다.
2. 구동 방식
- Server Mode
- Disk 기반으로 대부분의 데이터를 디스크에 저장하고 캐시로 메모리를 사용한다.
- Embedded Mode
- In-Memory 기반으로 메모리에 데이터를 저장하고 프로그램을 닫으면 데이터가 손실된다.
In-Memory Database란?
- 개요
- IMDB, 혹은 MMDB(Main Memory DBMS)라고도 한다.
- 디스크가 아닌 주 메모리에 모든 데이터를 보유하고 있는 데이터베이스
- 장점
- 디스크 검색보다 자료 접근이 훨씬 빠른 것이 가장 큰 장점
- 데이터 양의 빠른 증가로 데이터베이스 응답 속도가 떨어지는 문제를 해결할 수 있는 대안
- 단점
- 안정성이 떨어진다. DB 서버 전원이 갑자기 꺼진다면 안에 있는 자료들이 사라지게 된다. (휘발성)
- 위의 단점으로 인해 날아가도 상관 없는 임시 데이터에 주로 사용된다.
- 속도 때문에 사용하지만 데이터에 비해 RAM 용량이 넉넉하지 않을 경우 가상 메모리를 쓰게 되어 역효과가 일어날 수도 있다.
설치 방법 (Window 기반)
1. H2 사이트에 접속한다.
https://www.h2database.com/html/main.html
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 |