개발/잡다개발

h2 database란

개복치 개발자 2023. 6. 24. 18:31

H2 Database는 자바를 기반으로 작성된 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 이 DBMS는 메모리에서 실행될 수 있어 테스트 환경에 특히 적합하며, 개발 중에도 사용하기 쉽습니다. 그러나 이외에도 디스크 기반의 영구 데이터 저장소로 사용할 수 있습니다.

H2 데이터베이스의 주요 특징은 다음과 같습니다:

장벽이 낮은 통합: H2는 JDBC API를 통해 액세스할 수 있으며, 자바 애플리케이션에서 쉽게 사용할 수 있습니다. 또한 Hibernate, Spring과 같은 인기 있는 프레임워크와도 잘 통합됩니다.

모드: H2는 서버 모드에서 실행되거나, 임베디드 모드에서 애플리케이션과 같은 JVM에서 실행될 수 있습니다. 이러한 유연성은 H2를 다양한 환경과 요구 사항에 적합하게 만듭니다.

인메모리 데이터베이스: H2는 데이터를 메모리에 저장하고, 디스크에 대한 접근 없이 이를 빠르게 액세스할 수 있도록 하는 인메모리 모드를 지원합니다. 이 모드는 테스트 환경에서 특히 유용합니다.

브라우저 기반 콘솔: H2는 데이터베이스 쿼리를 실행하고 결과를 확인할 수 있는 웹 기반 인터페이스를 제공합니다. 이 기능은 개발 중에 쿼리를 빠르게 테스트하고 디버그하는 데 유용합니다.

표준 SQL 지원: H2는 ANSI SQL 표준을 따르며, PostgreSQL, MySQL, Oracle과 같은 다른 일반적인 DBMS의 SQL 구문을 대부분 지원합니다.

사이즈: H2의 jar 파일 크기는 대략 2MB로, 리소스 제한이 있는 환경에서도 무리 없이 사용할 수 있습니다.

트랜잭션 지원: H2는 ACID 트랜잭션을 지원하며, 안정성을 위해 Write-Ahead Log (WAL) 메커니즘을 사용합니다.

암호화: H2는 AES와 TwoFish 암호화 알고리즘을 사용하여 디스크에 저장된 데이터를 암호화할 수 있습니다.

단, H2의 속도와 편의성에도 불구하고, 크고 복잡한 데이터베이스에 대한 대량의 동시 쿼리를 처리하는 등의 엔터프라이즈 수준의 요구 사항을 다루는 데는 제한이 있을 수 있습니다. 이런 경우에는 MySQL, PostgreSQL, Oracle 등의 고급 DBMS를 사용하는 것이 더 적합할 수 있습니다.

'개발 > 잡다개발' 카테고리의 다른 글

git 명령어 정리 - 2  (0) 2021.09.08
git 명령어 정리 - 1  (0) 2021.09.08
파스텔톤 hex코드  (0) 2021.04.12
IOS Admob testID는 되는데 realId가 안될 때  (0) 2021.01.01
css 말풍선 만들기  (0) 2020.12.21