New

H2 database

lshjju 2025. 7. 25. 13:12

H2 데이터베이스란?


H2 데이터베이스는 **자바로 작성된 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)**입니다. 

특히 가볍고 빠른 특성을 가지고 있어 개발 환경이나 테스트 환경에서 많이 사용됩니다 

 

출처 - 지구 어딘가 서버 어딘가...


주요 특징


자바 기반: 

자바로 작성되어 있어 자바 애플리케이션과 호환성이 뛰어납니다


경량성: 

설치 파일이 약 2MB 정도로 매우 가볍습니다 


웹 콘솔 제공: 

브라우저에서 접근 가능한 SQL 쿼리 도구를 제공하여 데이터베이스 관리가 쉽습니다 


다양한 작동 모드: 

인메모리, 임베디드, 서버 모드 등 여러 방식으로 운영 가능합니다



작동 모드


H2 데이터베이스는 주로 두 가지 모드로 사용됩니다:



1. 인메모리 모드(In-memory Mode)


데이터베이스가 메모리 내에 생성되고, 애플리케이션이 종료되면 데이터베이스와 데이터가 모두 사라집니다
별도 설치 없이 애플리케이션 내부 엔진을 사용합니다
애플리케이션을 실행하면 DB 엔진이 함께 실행되고, 종료하면 함께 종료됩니다 



2. 임베디드 모드(Embedded Mode)


데이터베이스를 애플리케이션 외부에 파일로 저장하므로, 애플리케이션을 종료해도 데이터가 사라지지 않습니다
역시 별도 설치 없이 애플리케이션 내부 엔진을 사용합니다
데이터가 외부 파일로 저장되어 영속성을 가집니다 



장점


간편한 설정과 사용: 별도 설치 과정 없이 프로젝트에 의존성만 추가하면 바로 사용 가능합니다


가벼운 리소스 사용: 메모리 사용량이 적어 개발 환경에서 부담이 적습니다


스프링 부트 호환성: 스프링 부트가 기본적으로 지원하는 인메모리 데이터베이스로, 설정이 매우 간편합니다 


다양한 SQL 지원: 표준 SQL 문법을 대부분 지원하여 다른 데이터베이스로 전환이 쉽습니다


웹 기반 관리 도구: 브라우저에서 접근 가능한 콘솔로 데이터베이스를 쉽게 관리할 수 있습니다



단점


프로덕션 환경 부적합: 대규모 실제 서비스 환경에서는 안정성이 떨어질 수 있습니다 


기능 제한: 대형 상용 데이터베이스에 비해 고급 기능이 제한적입니다


인메모리 모드의 데이터 손실: 인메모리 모드 사용 시 애플리케이션 종료와 함께 데이터가 사라집니다 


대용량 데이터 처리 한계: 대량의 데이터를 처리하기에는 적합하지 않습니다



H2 데이터베이스는 주로 개발, 테스트, 학습 환경에서 빠르고 간편하게 사용할 수 있는 데이터베이스로, 특히 자바 기반 프로젝트에서 개발 단계에 매우 유용합니다.

'New' 카테고리의 다른 글

github CDN json data raw file  (2) 2025.08.05
github CDN image absoute path  (0) 2025.08.04
JS console.log - 자바스크립트 데이터 콘솔로 체크하기  (0) 2025.06.21
Node.js install  (0) 2025.06.19
font awesome 아이콘 폰트 사용하기  (0) 2025.05.29