SpringStudy[h2 database]

이도환·2023년 9월 16일
post-thumbnail

코드 링크

h2 database

데이터 베이스에는 많은 종류의 데이터 베이스가 있다. 그중 흔히들 많이 쓰이는 db에는 mysql, mongodb 와 같은 db가 있지만 이번 실습에서는 간단하게 실습해 볼 수 있는 db인 h2 db를 사용해서 실습해 볼 예정이다.

H2 데이터베이스는 경량 및 내장형(in-memory) 데이터베이스 시스템으로, Java로 개발된 오픈 소스 데이터베이스다.

장점:

  • 경량성: H2 데이터베이스는 매우 가벼우며, 다른 데이터베이스 시스템에 비해 소프트웨어 설치와 설정이 간단합니다.

  • 빠른 속도: H2는 인메모리 데이터베이스로 작동할 수 있으며, 이는 데이터를 메모리에 저장하여 데이터 접근과 처리 속도를 향상시킨다. 따라서 작은 규모의 애플리케이션 또는 테스트 환경에서 빠른 속도를 제공한다.

  • 내장 모드: H2는 내장 모드로 실행할 수 있어, 추가적인 서버 설정이 필요하지 않다. 이것은 애플리케이션과 함께 배포하거나 테스트용 데이터베이스로 사용할 때 특히 유용하다.

  • 다양한 모드 지원: H2는 파일 기반, TCP/IP 기반, 웹 서버 모드 등 다양한 모드를 지원한다. 따라서 여러 가지 환경에서 사용할 수 있다.

  • ACID 트랜잭션 지원: H2는 ACID(Atomicity, Consistency, Isolation, Durability) 트랜잭션을 지원하여 데이터 일관성과 안전성을 보장한다.

단점:

  • 확장성 제한: H2 데이터베이스는 주로 경량 및 내장형 데이터베이스로 사용되므로 대규모 데이터 또는 고부하 환경에서는 확장성이 제한될 수 있다.

  • 제한된 지원 및 커뮤니티: H2는 큰 커뮤니티나 지원이 다른 대표적인 데이터베이스 시스템들에 비해 제한적일 수 있다. 따라서 문제 해결이나 업데이트 지원에 어려움이 있을 수 있다.

  • 실제 운영 환경용으로는 적합하지 않음: H2 데이터베이스는 주로 개발 및 테스트 목적으로 사용되며, 실제 운영 환경에는 부적합할 수 있다. 이는 내장 모드와 확장성 문제로 인해 발생할 수 있다.

터미널에서 해당 폴더로 이동 후 cd/h2/bin 안에 h2.sh파일을 실행 시킨다.
맥의 경우 권한을 부여해야하기 때문에 chmod 755 h2.sh를 적어 권한을 부여한다.
후에는 웹 상으로 db에 접근하게 되는데


위 와 같은 방식으로 test.mv.db파일을 만든후 데이터베이스를 생성한다.
쿼리 문으로는 기존의 spring실습의 기능에 맞게 가장 간단한 회원 맴버 아이디 ,이름 ,pk값을 만들었다.


drop table if exists member CASCADE;
create table member
(
    id   bigint generated by default as identity,
    name varchar(255),
    primary key (id)
);

그 후

insert into memebr(name) values('spring')을 통해 데이터 입력을 테스트 해보았다.
앞으로 이제 해당 db를 활용해서 회원 정보를 데이터베이스와 연동하고 spring, h2를 활용한 프로그래밍 연습을 해볼 예정이다.

profile
개발 블로그

0개의 댓글